我用Delphi7 写个记事本,点击打开或者保存这个都正常,但一点取消就出“cannot open file "".报错的提示

procedureTForm1.N3Click(Sender:TObject);beginform1.OpenDialog1.execute;form1.Memo1.Li... procedure TForm1.N3Click(Sender: TObject);
begin
form1.OpenDialog1.execute;
form1.Memo1.Lines.LoadFromFile(form1.OpenDialog1.filename); //打开
end;

procedure TForm1.N4Click(Sender: TObject);
begin
form1.saveDialog1.execute;
form1.Memo1.Lines.savetoFile(form1.saveDialog1.filename);//保存
end;
本人菜鸟,刚开始了解这个delphi,为什么就报错了呢?要修改的话应该怎么修改,对了本人属于菜鸟级的,刚不如delphi。
展开
 我来答
xyc198600_126
2013-06-09 · TA获得超过135个赞
知道小有建树答主
回答量:112
采纳率:0%
帮助的人:123万
展开全部

你这样的代码肯定点取消出问题,因为点取消的话,opendialog1.filename跟savedialog1.filename都为空值。

代码改成

procedure TForm1.N3Click(Sender: TObject);
begin
if(form1.OpenDialog1.executed)then
    form1.Memo1.Lines.LoadFromFile(form1.OpenDialog1.filename); //打开
end;

procedure TForm1.N4Click(Sender: TObject);
begin
if(form1.saveDialog1.executed)then
    form1.Memo1.Lines.savetoFile(form1.saveDialog1.filename);//保存
end;

因为现在的电脑没装Delphi,所以代码没经测试,只是凭记忆改的。

opendialog跟savedialog有一个属性是布尔值 的,记忆中是这个executed,表示对话框 是否成功执行,点取消时返回false,后面的代码就不执行了。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式