软件注册站
热情软件屋

 
一个24小时运行的软件,需要精确到1ms的计时
编号: QA004870    
建立日期: 2004年8月30日 最后修改日期: 2004年8月30日
所属类别: Visual Basic - 其他方面
   
    操作系统:win2000
    编程工具:VB6
    问题:我做一个24小时运行的软件,需要精确到1ms的计时,我用timeGetTime函数,但是timegettime定义为无符号long,vb中long为有符号整数,这样程序在运行到24天多时候,就会出现溢出错误!也就是timegettime的结果大于2,147,483,647时溢出。我定义timegettime函数为double或者single,程序报出“表达式太复杂”错误!定义timegettime为Currency,在不同的计算机上运行的结果不同,有的延时1ms变成10000ms,我苦!恳请诸位专家给一个解决方法!
    水平: 中级(王辉)
   
    陈波的意见:
    定义一个全局变量整数i作为高位计数器,每个i表示一定的时间如:1,000,000,000作
    为进制单位
    (实现:当timegettime取数大于等于1,000,000,000时,i=i+1,用余数作为
    timegettime的新的计时起点)
    下面,再通过用i作为数据的高位进行运算即可。
    
    YoungCat的意见:
    在定义变量时,不要说明其类型。在第一次使用变量前,把它转换成 dec 类型。例如:
    dim aaaa '定义
    aaaa=cdec(aaaa) '转换类型
    aaaa=45*4185+142/441+48756/544*sin(20) '使用变量
    

    

    

此问题由陈波等回答。

附加关键字:编程, 源程序, programming, source code, Visual Basic, VB, 其他方面,

   
 
把这个问题推荐给朋友
   
 
   
您的意见类别
您的名字
您的电子邮件
您的建议(请尽可能详细)
 
 

版权所有 1997-2008 热情软件屋
如果您有任何建议和意见, 请给我发个电子邮件 askpro@china-askpro.com
Web Designed by ZebraStudio