小张晚上留了下来加班,小李跑过来跟小张说,今天下班的时候,一辆保时捷停到了公司的楼下。小张恩了一声,也没有当回事,继续挑灯夜战。
表单设为私有工作期
表单Load事件添加如下代码
代码语言:javascript复制CURSORSETPROP("Buffering", 5) &&开放式表缓冲
SET MULTILOCKS ON
use ryxx in 0
表单的QUERYUNLOAD事件添加检测修改代码
代码语言:javascript复制select ryxx
for gnCount = 1 TO FCOUNT( ) && 循环次数等于字段的数目
if GETFLDSTATE(FIELD(gnCount))>=2 && 显示各字段,具体看GETFLDSTATE()函数
isNeedToSave=.t.
exit && 当有某个字段被修改后,即退出判断
endif
endfor
if isNeedToSave
ans=messagebox("要保存所做的修改吗?",3 32,"询问")
do case
case ans=6 && 选择是
=tableupdate(.t.)
case ans=7 && 选择否
=tablerevert(.t.)
case ans=2 && 选择取消
endcase
endif
主界面关闭应该也需要触发关闭提醒
最后的主程序关闭退出代码
Release Windows (TMPFORM[I].Name)发触发表单的QUERYUNLOAD事件
注:祺佑业务管理系统为主表单的caption,最后才能关。
代码语言:javascript复制If _Screen.FormCount>0
Dimension TMPFORM[_SCREEN.FORMCOUNT]
For I=1 To _Screen.FormCount
TMPFORM[I]=_Screen.Forms(I)
Endfor
For I=1 To _Screen.FormCount
If Inlist(TMPFORM[I].Caption,"祺佑业务管理系统","Toolbar1","维护精灵")
Else
Release Windows (TMPFORM[I].Name)
* TMPFORM[I].RELEASE
If Vartype(TMPFORM[I])='O'
Exit
Endif
Endif
Endfor
Endif
If _Screen.FormCount<=2
Close All
Else
Return 0
Endif
ON ERROR
Clear Event
Clear Dlls
Set Library To
Quit
连编测试成功! 小张看看自己涨红的眼睛,说值了,这个时候,他还在想小丽不会再出现保存不了的情况了。
写在最后面的话
加菲猫的VFP公众号接受投稿,一经采用,即有稿费,稿费暂定50元一篇。
加菲猫的vfp倡导用VFP极简混合开发,少写代码、快速出活,用VFP,但不局限于VFP,各种语言混合开发。
已经带领一百多名会员成功掌到VFP的黑科技,进入了移动互联网时代,接下来我们要进入物联网领域。