📄 frmstart.frm
字号:
VERSION 5.00
Begin VB.Form frmDevSel
Appearance = 0 'Flat
BorderStyle = 3 'Fixed Dialog
Caption = "Direct I/O Demo Program..."
ClientHeight = 2160
ClientLeft = 1650
ClientTop = 2655
ClientWidth = 4515
PaletteMode = 1 'UseZOrder
ScaleHeight = 2160
ScaleWidth = 4515
Begin VB.TextBox txtIOAddr
Height = 375
Left = 3000
TabIndex = 5
Top = 480
Width = 975
End
Begin VB.CommandButton cmdExit
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "E&xit"
Height = 375
Left = 3000
TabIndex = 2
Top = 1440
Width = 975
End
Begin VB.CommandButton cmdRun
Appearance = 0 'Flat
BackColor = &H80000005&
Caption = "&Run..."
Height = 375
Left = 3000
TabIndex = 1
Top = 960
Width = 975
End
Begin VB.ListBox lstDevice
Appearance = 0 'Flat
Height = 1200
Left = 240
TabIndex = 0
Top = 480
Width = 2535
End
Begin VB.Label labIOAddr
Appearance = 0 'Flat
BackColor = &H00C0C0C0&
Caption = "I/O Address "
ForeColor = &H80000008&
Height = 255
Left = 3000
TabIndex = 4
Top = 240
Width = 1215
End
Begin VB.Label labDevLst
Appearance = 0 'Flat
BackColor = &H00C0C0C0&
Caption = "Select a device from list"
ForeColor = &H80000008&
Height = 255
Left = 240
TabIndex = 3
Top = 240
Width = 2535
End
End
Attribute VB_Name = "frmDevSel"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Function TestStr(DStr As String, TStr As String) As Boolean
Dim lenD, lenT As Integer
Dim i As Integer
TestStr = False
lenD = Len(DStr)
lenT = Len(TStr)
For i = 1 To (lenD - lenT + 1)
If (Mid(DStr, i, lenT) = TStr) Then
TestStr = True
End If
Next i
If DStr = "" Then
TestStr = True
End If
End Function
Private Sub cmdExit_Click()
End
End Sub
Private Sub cmdRun_Click()
ErrCde = DRV_DeviceOpen(dwDeviceNum, DeviceHandle)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If
gwPort = Val("&H" + txtIOAddr.Text)
frmRun.Show
frmDevSel.Hide
End Sub
Private Sub Form_Load()
Dim gnNumOfDevices As Integer
Dim nOutEntries As Integer
Dim i, ii As Integer
Dim tt As Long
Dim tempStr As String
bRun = False
gwPort = Val("&H300")
' Add type of PC Laboratory Card
tt = DRV_GetAddress(devicelist(0))
ErrCde = DRV_DeviceGetList(tt, MaxEntries, nOutEntries)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If
ErrCde = DRV_DeviceGetNumOfList(gnNumOfDevices)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If
For i = 0 To (gnNumOfDevices - 1)
tempStr = ""
For ii = 0 To MaxDevNameLen
tempStr = tempStr + Chr(devicelist(i).szDeviceName(ii))
Next ii
lstDevice.AddItem tempStr
Next i
labIOAddr.Enabled = False
txtIOAddr.Enabled = False
cmdRun.Enabled = False
End Sub
Private Sub lstDevice_Click()
Dim TestRes As Boolean
' Avoid to open Advantech Demo Card
TestRes = TestStr(lstDevice.Text, "DEMO")
If (TestRes) Then
labIOAddr.Enabled = False
txtIOAddr.Enabled = False
cmdRun.Enabled = False
End If
If (Not TestRes) Then
dwDeviceNum = devicelist(lstDevice.ListIndex).dwDeviceNum
' Defualt as (HEX)300
txtIOAddr.Text = Hex(gwPort)
labIOAddr.Enabled = True
txtIOAddr.Enabled = True
cmdRun.Enabled = True
End If
End Sub
Private Sub lstModule_Click()
Dim i, ii As Integer
Dim dwDeviceNum As Long
Dim tempNum As Integer
lstChannel.Clear
'lstVoltageRange.Clear
' open COM device or CAN device
dwDeviceNum = SubDevicelist(lstModule.ListIndex).dwDeviceNum
ErrCde = DRV_DeviceOpen(dwDeviceNum, DeviceHandle)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
Else
bRun = True
End If
ptDevGetFeatures.buffer = DRV_GetAddress(lpDevFeatures)
ErrCde = DRV_DeviceGetFeatures(DeviceHandle, ptDevGetFeatures)
If (ErrCde <> 0) Then
DRV_GetErrorMessage ErrCde, szErrMsg
Response = MsgBox(szErrMsg, vbOKOnly, "Error!!")
Exit Sub
End If
lstChannel.Clear
tempNum = lpDevFeatures.usMaxDIChl
For i = 0 To (tempNum - 1)
temp$ = "Chan#" + Str(i)
lstChannel.AddItem temp$, i
Next i
lstChannel.Text = lstChannel.List(0)
lstChannel.Enabled = True
cmdRun.Enabled = True
End Sub
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -