请教各位大侠,VFP下能否用CREATEOBJECT 做个倒计时提示框?
本帖最后由 zhaihs 于 2013-11-07 09:27:40 编辑 请教各位大侠,VFP下能否用CREATEOBJECT 做个倒计时提示框?
主要是针对使用sqlconnect 连接数据库时,长时间的延迟没有提示
如果用表单形式或TIMER控件来做提示的话,程序不显示倒计时提示。
我现在的代码是用的声音提示
public ov
ov=createobject("sapi.spvoice")
ctxt="正在连接数据库,15,14,13,12,11,10,9,8,7,6,5,4,3,2,1"
ov.speak(CTXT,11)
STRSQL="driver={SQL Server};SERVER=TEST;uid=sa;pwd=TEST;DATABASE=TEST2014;"
WAIT WINDOW "正在连接SQL数据库服务器,连接可能需要15秒" NOWAIT
SQLHANDLE=SQLSTRINGCONNECT(STRSQL)
IF SQLHANDLE>0
WAIT WINDOW "建立到SQL数据服务器的连接成功" NOWAIT
ov.speak("",2)
ELSE
WAIT WINDOW "SQL连接失败,退出程序,请检查网络连接" TIMEOUT 15
ov.speak("",2)
ENDIF
有什么办法实现倒计时提示框?
[解决办法]
SQLSetprop(0,"ConnectTimeOut",10)
指定在返回连接超时错误前的等待时间(以秒计)。如果指定为 0,将无限期等待并且不返回超时错误。ConnectTimeOut 可从 0 到 600,默认值是 15。
但要注意
ConnectTimeOut 选项只能在 Visual FoxPro 级别上设置,而不能在连接级别上使用。
也就是说:当网络等原因连接不上时,等待时间要长于设置的 ConnectTimeOut 时间,所以我说不准确。
没有必须给个到计时,直接提示正在连接就可以了。