OpenDialog的简单问题(关于文件名)(10分)

X

xiaocai

Unregistered / Unconfirmed
GUEST, unregistred user!
我在使用OpenDialog时候发生一个小问题,就是如果改对话已经打开过一次,并确定,
我的程序中FileName:=OpenDialog1.FileName,没有错误,但是下次再打开opendialog后,
即便我“取消”,FileName还是上一次的值,请问如何解决?就是说如何知道用户按的是
确定还是取消?同样,SaveDialog也有这问题,谢谢啦!
 
procedure TForm1.Button1Click(Sender: TObject);
begin
if OpenDialog1.Execute then
FileName := OpenDialog1.FileName
else
FileName := '';
end;
 
good,agree
 
楼上所言极是,
你的问题与opendialog 原本无关,
你只管赋值,不管清除。这样写程序很危险。
 
同意大梦的说法,要注意避免这样的情况发生
也就是更加关注程序的可靠性、健壮性、可重复性
 
Execute是不是就是指弹出对话框?
点“确定”、“取消”按钮后有没有返回值?
 
楼主只看到Exceute,但是你应该看到二楼的兄递用了一个if语句,
因为Exceute返回一个Boolean变量,这个变量就是由确定按钮来决定的,
只要没有按确定按钮(或双击文件),其他方式关闭对话框都反回False,
按确定按钮(或双击文件)就返回True
 
多人接受答案了。
 
顶部