Foxtable(狐表)用户栏目专家坐堂 → 如何暂停程序


  共有1919人关注过本帖树形打印复制链接

主题:如何暂停程序

帅哥哟,离线,有人找我吗?
malavazos
  1楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:3418 威望:0 精华:0 注册:2012/8/29 10:30:00
如何暂停程序  发帖心情 Post By:2018/3/21 14:59:00 [只看该作者]

请问,如何编写暂停程序,或编码执行的编码指令,例如:编写代码,是程序执行中,等待用户确认后,在继续执行。
谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  2楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/21 15:41:00 [只看该作者]

可以弹出msgbox吧?

 

http://www.foxtable.com/webhelp/scr/0326.htm

 

 


 回到顶部
帅哥哟,离线,有人找我吗?
malavazos
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:3418 威望:0 精华:0 注册:2012/8/29 10:30:00
  发帖心情 Post By:2018/3/22 17:18:00 [只看该作者]

使用MSGBOX虽然可以暂停,但是如果前面开了窗口就不能操作了,如何解决这个问题。
执行了MSGBOX只能操作判断,不能停下来,执行前一个窗口的操作。执行判断了,就又继续执行了,希望能够暂停,操作完成确认后再继续执行

谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  4楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/22 18:17:00 [只看该作者]

那就这样写代码,如

 

Do While vars("完成") = False
    Application.DoEvents
Loop
msgbox("ok")

 

然后控制 vars("完成") = true 结束暂停,执行msgbox


 回到顶部
帅哥哟,离线,有人找我吗?
malavazos
  5楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:3418 威望:0 精华:0 注册:2012/8/29 10:30:00
  发帖心情 Post By:2018/3/23 8:27:00 [只看该作者]

下面这段代码,怎么调整,也是第一步可以可靠暂停;待第二部就不能停止,直接全部执行完。
请费心帮助看下如何编写

谢谢
Dim at As Date = Date.Today.AddDays(10)
'Dim ar As DataRow = DataTables("检定流水记录").Find("本年计划检定日期 <= #" & at & "#")
Dim ar As DataRow = DataTables("检定流水记录").Find("本年计划检定日期 <= #" & at & "# And 本年实际检定日期 Is Null")
If ar IsNot Nothing Then
    MessageBox.Show("有计量器具到期或即将到期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    '  Tables("检定流水记录").Filter = "本年计划检定日期 <= #" & at & "#"
    Tables("检定流水记录").Filter = "( 本年计划检定日期 <= #" & at & "#) And (本年实际检定日期 Is Null) And ([状态]  not Like  '%报废%' or [状态] is null) and ([计量计划.备注] not Like  '%报废%' or [计量计划.备注] is null) and ([计量台帐.备注] not Like  '%报废%' or [计量台帐.备注] Is null)"
    Forms("计量器具到期提醒").Show()
    'MainTable = Tables("检定流水记录")
End If
Dim bt As Date = Date.Today.AddDays(10)
'Dim ar As DataRow = DataTables("检定流水记录").Find("本年计划检定日期 <= #" & at & "#")
Dim br As DataRow = DataTables("计划维护记录流水表").Find("计划执行日期 <= #" & bt & "# And 实际执行日期 Is Null Or 存档日期 Is Null")
If br IsNot Nothing Then
    MessageBox.Show("有设备设施计划任务到期或即将到期!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
    Tables("计划维护记录流水表").Filter = "(计划执行日期 <= #" & bt & "#) And (实际执行日期 Is Null) and (存档日期 Is Null)"
    'Tables("计划维护记录流水表").Filter = "(计划执行日期 <= #" & bt & "#) And (实际执行日期 Is Null) And ([状态]  not Like  '%报废%' or [状态] is null) and ([计量计划.备注] not Like  '%报废%' or [计量计划.备注] is null) and ([计量台帐.备注] not Like  '%报废%' or [计量台帐.备注] Is null)"
    Forms("计划维护执行情况").Show()
    'MainTable = Tables("计划维护记录流水表")
End If
Syscmd.Project.OpenSystemMenu()
Forms("1360*768分辨率窗口").Open()

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  6楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/23 8:43:00 [只看该作者]

无法理解你的意思,先执行代码

 

msgbox(1)

Do While vars("完成") = False
    Application.DoEvents
Loop
msgbox("ok")

 

暂停以后,在另外地方执行 vars("完成") = true 结束暂停


 回到顶部
帅哥哟,离线,有人找我吗?
malavazos
  7楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:小狐 帖子:357 积分:3418 威望:0 精华:0 注册:2012/8/29 10:30:00
  发帖心情 Post By:2018/3/23 9:37:00 [只看该作者]

我的编码是程序每次启动发出两个检查提醒窗口,分别检查计量器具检定周期是否到期,及计划维护任务是否到期。如果无到期任务,直接执行下午,如有要停止在窗口。关闭该窗口后继续执行。
我不知如何将我的代码,带入您的代码中。
可否费心帮助调整一下。
谢谢

 回到顶部
帅哥哟,离线,有人找我吗?
有点甜
  8楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/3/23 9:45:00 [只看该作者]

以下是引用malavazos在2018/3/23 9:37:00的发言:
我的编码是程序每次启动发出两个检查提醒窗口,分别检查计量器具检定周期是否到期,及计划维护任务是否到期。如果无到期任务,直接执行下午,如有要停止在窗口。关闭该窗口后继续执行。
我不知如何将我的代码,带入您的代码中。
可否费心帮助调整一下。
谢谢

 

把提示窗口弄成【模式窗口】即可

 

http://www.foxtable.com/webhelp/scr/0697.htm

 


 回到顶部