求delphi 选择savedialog对话框可保存两种文件类型的语句?

要求在“文件名”栏只写文件名称,不写后缀的情况下,如何成功另存为用户选择的格式?procedureTForm1.Button1Click(Sender:TObject);... 要求在“文件名”栏只写文件名称,不写后缀的情况下,如何成功另存为用户选择的格式?

procedure TForm1.Button1Click(Sender: TObject);
begin
SaveDialog.Filter :='textFile(*.txt)|*.txt|docFile(*.doc)|*.doc|AllFile(*.*)|*.*';
SaveDialog.FilterIndex :=1;
SaveDialog.DefaultExt :='txt';
//下边怎么写
end;
SaveDialog.Filter :='wavFile(*.wav)|*.wav|mp3file(*.mp3)|*.mp3|AllFile(*.*)|*.*';
SaveDialog.FilterIndex :=1;
SaveDialog.DefaultExt :='wav';
恕我学艺不精。你的程序固然能通过。但要是上述txt、doc分别替换成wav、mp3(即以上代码),则wav可直接保存,而MP3需由wav转换而来。希望是若按默认类型即保存成wav,若选择MP3类型则还要通过转换代码而保存成MP3文件。转换语段在这里略去。如此上述程序框架应作怎样的改动?
展开
 我来答
邦浅魔千
2011-04-22 · TA获得超过220个赞
知道小有建树答主
回答量:209
采纳率:0%
帮助的人:351万
展开全部
procedure TForm1.Button1Click(Sender: TObject);
var
FileExt: string;
begin
SaveDialog.Filter :='textFile(*.txt)|*.txt|docFile(*.doc)|*.doc|AllFile(*.*)|*.*';
SaveDialog.FilterIndex :=1;
SaveDialog.DefaultExt :='txt';
//下边代码
if SaveDialog.Execute then
begin
FileExt := ExtractFileExt(SaveDialog.FileName);
if SameText(FileExt, '.txt') then
begin
{保存文本格式的代码}
end
else if SameText(FileExt, '*.doc') then
begin
{保存doc格式的代码}
end
else
begin
{保存文本格式的代码}
end;

end;
end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
gold8
2011-04-16 · 超过15用户采纳过TA的回答
知道答主
回答量:41
采纳率:0%
帮助的人:20.5万
展开全部
对SaveDialog.filename 在做一次判断不就可以了,不用纠结!
SaveDialog所做的只是文件名的确定,并没有真的保存!所以待分析处理完毕后在真正保存即可。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
HJ_3000
2011-04-23 · TA获得超过563个赞
知道小有建树答主
回答量:1264
采纳率:78%
帮助的人:45.4万
展开全部
SaveDialog的执行只是返回文件路径而已,剩下的都可以自己定义。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
怎麼辦怎麼辦呢
2011-04-16
知道答主
回答量:3
采纳率:0%
帮助的人:0
展开全部
-------------理解错了,不好意思,我也答不上
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式