【发布时间】:2012-06-08 23:58:24
【问题描述】:
我的 if else 语句有一个非常有趣的行为。开始时,备忘录是空的,尝试删除会触发消息。然后,如果我在备忘录中写了一些东西并尝试删除,则会再次出现正确的消息。但是,在最后一次删除之后(备忘录现在是空的),如果我再次单击删除,我会收到第二条消息而不是第一条消息(没有什么可删除的。我是否在搞乱 if else 语句??这里的正确方法是什么?
procedure TForm1.AdvGlowButton2Click(Sender: TObject);
begin
if advmemo1.IsEmpty then
ShowMessage('Nothing to delete !')
else
begin
if MessageDlg('Delete everything?',
mtConfirmation, [mbYes, mbNo], 0) = mrYes then begin
advmemo1.Lines.Clear;
advmemo1.Lines.SaveToFile(ExtractFilePath(Application.ExeName)+ '\memo.txt');
end;
end;
end;
【问题讨论】:
-
出于所有实际目的,您可以 100% 相信 if/then/else 语句都将被正确编译和执行。如果它没有达到您的预期,那么问题出在您自己的代码中,或者在您使用的库中。
-
我完全看不懂这个例子:先清除备忘录,然后保存到文件?
标签: delphi delphi-7 delphi-xe2 delphi-xe