delphi7 小白跪求大神,窗体关闭时提醒保存的问题

super_caibi 2019-08-30 07:46:05
窗体上有个 stringgrid表格,关闭前提醒保存数据。 目前我设置了一个全局变量记录是否保存,true为已保存, false未保存 窗体创建时变量初始化力true,未按保存按钮前的所有操作置为 false,按下保存按钮 恢复为true。 现在问題来了,要是经过增加删除修改等等一系列操作后内容却没变化,但这时变量 也标记为 false了,求大神帮忙!!! 刚注册,只有50分,多包涵
...全文
186 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
winnerxcf 2019-09-05
  • 打赏
  • 举报
回复
1楼正解!!!
无聊的猪 2019-09-02
  • 打赏
  • 举报
回复
没必要弄这么复杂,发生了修改操作就提醒,把showmessage改为是/否的选择对话框,让用户自己判断是否需要保存。
jy02163807 2019-09-02
  • 打赏
  • 举报
回复
每次增改删操作时都判断一下是否有变化。
super_caibi 2019-09-02
  • 打赏
  • 举报
回复
引用 7 楼 早打大打打核战争的回复:
楼主太轴,你在word中打开一个文档,改一个字,再改回去,关闭,看word是否提示你需要保存?
就是这么轴。我还真的用了土办法,新建了2个stringlist,分别获取本地txt和stringgrid中数据进行比对,试过了,滚键盘滚了七八十条记录,几乎没延迟,反正数据不会多到哪里去
  • 打赏
  • 举报
回复
楼主太轴,你在word中打开一个文档,改一个字,再改回去,关闭,看word是否提示你需要保存?

BlueStorm 2019-08-31
  • 打赏
  • 举报
回复
只有编辑过,不管是否跟原来一样,都保存一下,这样有什么问题?
super_caibi 2019-08-31
  • 打赏
  • 举报
回复
引用 1 楼 BlueStorm的回复:
//在OnClose事件中执行以下代码:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if IsModified then  //IsModified就是你说的全局变量
  begin
    Action := caNone;
    ShowMessage('数据已修改,请先保存数据');
  end;
end;
你这个没法判断内容有没有改变。我要是增加一条记录,又把它删除了,操作后的内容和初始时或上一次保存后的内容相同,这时没有保存就关闭的话应该不用提醒保存。 我只想到一个土办法,就是关闭前和最后一次按保存按钮后的数据进行比对,相同就直接关闭,不一样就提醒保存,不过这样数据一多关个程序要半天
super_caibi 2019-08-31
  • 打赏
  • 举报
回复
引用 3 楼 BlueStorm的回复:
只有编辑过,不管是否跟原来一样,都保存一下,这样有什么问题?
关键就是要是数据不变化不想提醒啊
BlueStorm 2019-08-30
  • 打赏
  • 举报
回复
//在OnClose事件中执行以下代码:
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  if IsModified then  //IsModified就是你说的全局变量
  begin
    Action := caNone;
    ShowMessage('数据已修改,请先保存数据');
  end;
end;

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧