vb实现高精度计时

2016-02-19 14:55 29 1 收藏

下面是个vb实现高精度计时教程,撑握了其技术要点,学起来就简单多了。赶紧跟着图老师小编一起来看看吧!

【 tulaoshi.com - 编程语言 】

  

'在Project中加入一个Module,然后在其中加入以下代码:Option ExplicitType LARGE_INTEGER  lowpart As Long  highpart As LongEnd TypePublic Declare Function QueryPerformanceCounter Lib "kernel32" _    (lpPerformanceCount As LARGE_INTEGER) As LongPublic Declare Function QueryPerformanceFrequency Lib "kernel32" _    (lpFrequency As LARGE_INTEGER) As LongPublic Declare Function timeSetEvent Lib "winmm.dll" (ByVal uDelay As Long, ByVal _    uResolution As Long, ByVal lpFunction As Long, ByVal dwUser As Long, _    ByVal uFlags As Long) As LongPublic Declare Function timeKillEvent Lib "winmm.dll" (ByVal uID As Long) As LongPublic Declare Function GetTickCount Lib "kernel32" () As LongPublic lMSFreq As LongPublic TimerCount As SinglePublic lmmCount As SinglePublic lTimeID As LongPublic actTime1 As LongPublic actTime2 As LongPublic iCountStart As SingleDim iCount As Single'注释: timeSetEvent的回调函数Sub TimeProc(ByVal uID As Long, ByVal uMsg As Long, ByVal dwUser As Long, _  ByVal dw1 As Long, ByVal dw2 As Long)    Form1.Text2.Text = Format$(lmmCount, "00.00")  lmmCount = lmmCount - 0.01  If lmmCount = 0 Then    iCountStart = 60    lmmCount = 60    TimerCount = 60    EndCount  End IfEnd SubSub EndCount()  iCount = iCountStart  iCountStart = 0  timeKillEvent lTimeID  actTime2 = GetTickCount - actTime1  With Form1    .Command1.Enabled = True    .Command2.Enabled = False    .Timer1.Enabled = False        .Text1 = "计数器记时" + Format$((60 - iCount), "00.00") + " " _        + "实际经过时间" + Format$((actTime2 / 1000), "00.00")    .Text2 = "计数器记时" + Format$((60 - lmmCount), "00.00") + " " _        + "实际经过时间" + Format$((actTime2 / 1000), "00.00")    .Text3 = "计数器记时" + Format$((60 - TimerCount), "00.00") + " " _        + "实际经过时间" + Format$((actTime2 / 1000), "00.00")  End WithEnd Sub

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/bianchengyuyan/)

来源:http://www.tulaoshi.com/n/20160219/1608365.html

延伸阅读
在VISUALBASIC中没有什么命令或函数能够实现将一个位图旋转一个角度后显示出来,但我们可以用画点的方式,将一个图画盒中的位图中的像素点旋转一个角度后画入另一个图画盒中,当源图画盒中的像素都被画到目标图画盒中时,也就完成了位图的旋转。这里主要用到了VISUALBASIC中的两个方法:POINT方法和PSET方法。POINT方法的作用是从源图画盒中提取...
用VB实现程序的隐形 在一些系统,为了特定目的,经常要求程序隐藏起来运行,例如DCS(集散控制系统)中的后台监控系统、木马控制程序、源码防拷贝等,以减少被发现、截杀和反汇编的风险。这种功能模块要求程序在运行期间不仅不会在桌面出现,也不允许被操作者从任务管理器列表中发现。 程序隐形的原理 对于一个隐形程...
VisualBasic作为一个集应用程序开发、测试、查错功能于一体的集成式开发环境,越来越受到程序员的青睐。笔者在开发某数据库维护系统的过程中,选择了VB5.0作为开发平台,Unix作为服务器端操作系统,Informix作为服务器数据库。 问题的出现 在开发该维护系统的过程中,注意到Informix数据库的字段类型CLOB填入数据时需要函数FILETOCLOB("FILEN...
在多媒体程序设计中,为了美化显示屏幕,增加画面的动感,常常要用天各种图像显示特技。图像的切换技术能明显美化画面。用VisualBasic编制这类程序时,由于VB自身没有这种切换功能,因此需要利用第三方控件或调用WindowsAPI函数BitBlt来实现这种功能。本文介绍用BitBlt函数实现画面的各种切换方法,供大家参考。 假设有5个图像文件(Picture...
标签: vb
对于每个需要引用的API函数,我们需要先在程序中说明,如果只在某一窗体内声明并使用它,则把它声明为Private,而如果在模块中声明,且需要在整个工程内使用它,则需要把它声明为Public。 Public Declare Function CallWindowProc& Lib "user32" Alias "CallWindowProcA" (ByVal lpPrevWndFunc&, ByVal hWnd&, ByVal Msg&, ByVal wParam...

经验教程

930

收藏

31

精华推荐

VB倒计时器和JS当前时间

VB倒计时器和JS当前时间

情绪控灬nice

.NET数值类型的精度

.NET数值类型的精度

忘扬夕

VB里实现帮助文件速成

VB里实现帮助文件速成

一块破抹布

微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部