窗体上有个 stringgrid表格,关闭前提醒保存数据。
目前我设置了一个全局变量记录是否保存,true为已保存, false未保存
窗体创建时变量初始化力true,未按保存按钮前的所有操作置为 false,按下保存按钮
恢复为true。
现在问題来了,要是经过增加删除修改等等一系列操作后内容却没变化,但这时变量
也标记为 false了,求大神帮忙!!!
刚注册,只有50分,多包涵

解决方案 »

  1.   

    //在OnClose事件中执行以下代码:
    procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
    begin
      if IsModified then  //IsModified就是你说的全局变量
      begin
        Action := caNone;
        ShowMessage('数据已修改,请先保存数据');
      end;
    end;
      

  2.   

    没必要弄这么复杂,发生了修改操作就提醒,把showmessage改为是/否的选择对话框,让用户自己判断是否需要保存。
      

  3.   

    楼主太轴,你在word中打开一个文档,改一个字,再改回去,关闭,看word是否提示你需要保存?
      

  4.   

    就是这么轴。我还真的用了土办法,新建了2个stringlist,分别获取本地txt和stringgrid中数据进行比对,试过了,滚键盘滚了七八十条记录,几乎没延迟,反正数据不会多到哪里去