现在的位置: 首页 > 综合 > 正文

VB小用

2013年03月13日 ⁄ 综合 ⁄ 共 1150字 ⁄ 字号 评论关闭

VB小用

已经好久没用VB了,今天接到项目,不得已而重新开始边学边搞这个,就今天用到的东西稍做整理。

回调函数,我发现被回调的函数必须放在标准模块文件内,以供窗体文件调用,要不然在窗体中并不一定都能编译成功,不过有些还是可以编译的,本人不是很懂,我就简单的用了以下函数:

在模板文件中的函数为:

Declare Function CYUSBCAM_DisableDrawDisplay Lib "CYUSBCAM" () As Long

Declare Function CYUSBCAM_SetCaptureCallback Lib "CYUSBCAM" (ByVal pFun As Long, ByVal pParam As Long) As Long

Declare Function CYUSBCAM_SaveFile Lib "CYUSBCAM" (ByVal FileName As String, ByVal Typ As Byte) As Long

 

Function CaptureProc(ByVal lParam As Long) As Long

    '自定义回调函数,本程序采用时间作为图片名称

    Dim s As String

    Dim sTime As Date

    CYUSBCAM_DisableDrawDisplay

    sTime = Now

    s = App.Path + "/" + Str(Hour(sTime)) + "'" + Str(Minute(sTime)) + "'" + Str(Second(sTime)) + "'" + ".jpg"

    '保存图像

   CYUSBCAM_SaveFile s, 100

   End Function

 

 

在窗体文件中的函数代码为:

Private Sub Form_Load()

 

    If CYUSBCAM_SystemInit = 1 Then

        MsgBox "设备错误"

    Else

       '设置显示设备DC

    CYUSBCAM_ConfigHDC Me.hDC

 

    '设置视频大小

    CYUSBCAM_SetVideoSize 0

   

    '设置拍摄回调函数

   

    CYUSBCAM_SetCaptureCallback AddressOf CaptureProc, Me.hWnd

   

    '设置曝光量

    CYUSBCAM_SetColorFeature 1, 1048

 

    '设置增益

    CYUSBCAM_SetColorFeature 2, 0

   

    End If

End Sub

 

获得当前时间本来想用DateTime的,但是编译说不能用,只好采用Date,Now()函数得到当前时间,然后再分别用Hour()、Minute()和Second()函数将其转换成所要取得的时间值,再用Str()函数转换为字符串形式,再用字符串相加保存下来。

抱歉!评论已关闭.