?? frmcomm.frm
字號:
If intHighHex < 10 Then
intHighHex = intHighHex + 48
Else
intHighHex = intHighHex + 55
End If
If intLowHex < 10 Then
intLowHex = intLowHex + 48
Else
intLowHex = intLowHex + 55
End If
strhex = strhex + Chr$(intHighHex) + Chr$(intLowHex)
If i < 16 Then
result(i) = Chr$(intHighHex)
i = i + 1
result(i) = Chr$(intLowHex)
i = i + 1
End If
Next n
bang_num = result(0) & result(1) & result(2) & result(3)
i = ((Asc(result(4)) - 48) * 16 ^ 3 + (Asc(result(5)) - 48) * 16 ^ 2 + (Asc(result(6)) - 48) * 16 ^ 1 + (Asc(result(7)) - 48) * 1) / 8
'i = 4100
i = i * 2
Count_Total = i
Text1.Text = bang_num
Text2.Text = i
If i = 0 Then
frmmsg.Top = frmread.Top + 600
frmmsg.Left = frmread.Left + 5320
frmmsg.msg.MsgChar = "您的數據記錄已經成功寫入相應數據庫!"
MSComm1.PortOpen = False
frmmsg.Show
flag = True
Exit Sub
End If
ProgressBar1.Min = 0
ProgressBar1.Max = i
ProgressBar1.Value = 0
ProgressBar1.Visible = True
length = picpgb2.Width / Count_Total
'MsgBox bang_num
'MsgBox i
ReDim Time_Date(i) As String
ReDim Time_Time(i) As String
ReDim Niu(i) As String
Dim newdate As Date
Dim strtime As String
Dim daytime, montime As String
newdate = Now
daytime = Day(newdate)
montime = Month(newdate)
If Len(daytime) = 1 Then
daytime = "0" & daytime
End If
If Len(montime) = 1 Then
montime = "0" & montime
End If
newdate = Now
time1 = Year(newdate) & "/" & montime & "/" & daytime
mon_time = time1
'time1 = result(14) & result(15) & "月" & result(12) & result(13) & "號" & result(10) & result(11) & ":" & result(8) & result(9)
End Sub
'**********************************
'字符表示的十六進制數轉化為相應的整數
'錯誤則返回 -1
'**********************************
Function ConvertHexChr(str As String) As Integer
Dim test As Integer
test = Asc(str)
If test >= Asc("0") And test <= Asc("9") Then
test = test - Asc("0")
ElseIf test >= Asc("a") And test <= Asc("f") Then
test = test - Asc("a") + 10
ElseIf test >= Asc("A") And test <= Asc("F") Then
test = test - Asc("A") + 10
Else
test = -1 '出錯信息
End If
ConvertHexChr = test
End Function
'**********************************
'字符串表示的十六進制數據轉化為相應的字節串
'返回轉化后的字節數
'**********************************
Function strHexToByteArray(strText As String, bytByte() As Byte) As Integer
Dim HexData As Integer '十六進制(二進制)數據字節對應值
Dim hstr As String * 1 '高位字符
Dim lstr As String * 1 '低位字符
Dim HighHexData As Integer '高位數值
Dim LowHexData As Integer '低位數值
Dim HexDataLen As Integer '字節數
Dim StringLen As Integer '字符串長度
Dim Account As Integer '計數
Dim n As Integer
'strTestn = "" '設初值
HexDataLen = 0
strHexToByteArray = 0
StringLen = Len(strText)
Account = StringLen \ 2
ReDim bytByte(Account)
For n = 1 To StringLen
Do '清除空格
hstr = Mid(strText, n, 1)
n = n + 1
If (n - 1) > StringLen Then
HexDataLen = HexDataLen - 1
Exit For
End If
Loop While hstr = " "
Do
lstr = Mid(strText, n, 1)
n = n + 1
If (n - 1) > StringLen Then
HexDataLen = HexDataLen - 1
Exit For
End If
Loop While lstr = " "
n = n - 1
If n > StringLen Then
HexDataLen = HexDataLen - 1
Exit For
End If
HighHexData = ConvertHexChr(hstr)
LowHexData = ConvertHexChr(lstr)
If HighHexData = -1 Or LowHexData = -1 Then '遇到非法字符中斷轉化
HexDataLen = HexDataLen - 1
Exit For
Else
HexData = HighHexData * 16 + LowHexData
bytByte(HexDataLen) = HexData
HexDataLen = HexDataLen + 1
End If
Next n
If HexDataLen > 0 Then '修正最后一次循環改變的數值
HexDataLen = HexDataLen - 1
ReDim Preserve bytByte(HexDataLen)
Else
ReDim Preserve bytByte(0)
End If
If StringLen = 0 Then '如果是空串,則不會進入循環體
strHexToByteArray = 0
Else
strHexToByteArray = HexDataLen + 1
End If
End Function
Public Sub liqin(strtxt As String)
Dim length As Integer
Dim strsendtext As String
Dim bytsendbyte() As Byte
strsendtext = strtxt
length = strHexToByteArray(strsendtext, bytsendbyte())
If length > 0 Then
MSComm1.Output = bytsendbyte
End If
End Sub
Public Sub Display()
Dim n As Integer
Dim intValue As Integer
Dim intHighHex As Integer
Dim intLowHex As Integer
Dim strSingleChr As String * 1
Dim intAddress As Integer
Dim intAddressArray(8) As Integer
Dim intHighAddress As Integer
Dim strhex, strAscii As String
Dim result(16) As String
Dim i As Integer
Dim time1 As String
Dim number_str As String
Dim S_time, S_number As String '時間和鈕號
i = 0
'ProgressBar1.Visible = False
'設置初值
strhex = ""
'*****************************************
'獲得16進制碼
'*****************************************
For n = 1 To 8
intValue = receive(n - 1)
intHighHex = intValue \ 16
intLowHex = intValue - intHighHex * 16
If intHighHex < 10 Then
intHighHex = intHighHex + 48
Else
intHighHex = intHighHex + 55
End If
If intLowHex < 10 Then
intLowHex = intLowHex + 48
Else
intLowHex = intLowHex + 55
End If
strhex = strhex + " " + Chr$(intHighHex) + Chr$(intLowHex) + " "
If i < 16 Then
result(i) = Chr$(intHighHex)
i = i + 1
result(i) = Chr$(intLowHex)
i = i + 1
End If
Next n
If result(0) = "F" And result(1) = "F" Then
ProgressBar1.Visible = False
OutDate
flag_end = True
Exit Sub
End If
Dim newdate As Date
Dim strtime As String
newdate = Now
Dim re_fir, re_two As String
re_fir = Mid(result(6), 1, 1)
re_two = Mid(result(7), 1, 1)
If re_two = "A" Then
re_two = "10"
End If
If re_two = "B" Then
re_two = "11"
End If
If re_two = "C" Then
re_two = "12"
End If
If Len(re_two) = 1 Then
re_two = "0" & re_two
End If
strtime = Year(newdate) & "/" & re_two & "/" & result(4) & result(5)
time1 = result(2) & result(3) & ":" & result(0) & result(1)
number_str = result(14) & result(15) & result(12) & result(13) & result(10) & result(11) & result(8) & result(9)
' MsgBox time1
' MsgBox number_str
Time_Date(Xia_Biao) = strtime
Time_Time(Xia_Biao) = time1
Niu(Xia_Biao) = number_str
'Print #3, time1, number_str
Xia_Biao = Xia_Biao + 1 ' 寫事件信息
Time_Date(Xia_Biao) = strtime
Time_Time(Xia_Biao) = time1
Niu(Xia_Biao) = re_fir
Xia_Biao = Xia_Biao + 1
Text3.Text = Xia_Biao
ProgressBar1.Value = ProgressBar1.Value + 1
distance = distance + length
'Call Niu_Hao
End Sub
Public Sub OutDate()
Dim YM As String
Dim hm As String
Dim strtxt As String
Dim str1 As String
Dim conn1 As New ADODB.Connection
Dim txtsql As String
Dim rs_add As New ADODB.Recordset
Dim i As Integer
Dim mrc As ADODB.Recordset
Dim conn2 As New ADODB.Connection
Dim connectionstring As String
connectionstring = "provider=Microsoft.Jet.oledb.4.0;" & _
"data source=" & App.Path & "\jk.mdb"
conn1.Open connectionstring
conn2.Open connectionstring
Timer1.Enabled = False
YM = Date
hm = Time
If Mid(hm, 3, 1) = ":" Then
strtxt = Mid(hm, 4, 2)
strtxt = strtxt + Mid(hm, 1, 2)
Else
strtxt = Mid(hm, 3, 2)
strtxt = strtxt + "0" + Mid(hm, 1, 1)
End If
Dim newdate As Date
Dim strtime As String
Dim daytime, montime As String
newdate = Now
daytime = Day(newdate)
montime = Month(newdate)
If Len(daytime) = 1 Then
strtxt = strtxt & "0" & daytime
Else
strtxt = strtxt & daytime
End If
If Len(montime) = 1 Then
strtxt = strtxt & "0" & montime
Else
strtxt = strtxt & montime
End If
liqin (strtxt)
Shape3.FillColor = "&H00C0C0C0"
Shape2.FillColor = "&H00C0C0C0"
Shape1.FillStyle = 0
Shape1.FillColor = "&H0000FF00"
Text1.Text = bang_num
Text2.Text = Xia_Biao
txtsql = "delete * from 讀入表"
conn2.Execute (txtsql)
Set conn2 = Nothing
txtsql = "select * from 讀入表"
rs_add.Open txtsql, conn1, adOpenKeyset, adLockPessimistic
For i = 0 To Xia_Biao - 1
rs_add.AddNew
rs_add.Fields(0) = mon_time
rs_add.Fields(1) = bang_num
rs_add.Fields(2) = Niu(i)
rs_add.Fields(3) = Time_Date(i)
rs_add.Fields(4) = Time_Time(i)
rs_add.Update
Next i
rs_add.Close
Set conn1 = Nothing
frmmsg.Top = frmread.Top + 600
frmmsg.Left = frmread.Left + 5320
Shape3.FillColor = "&H00C0C0C0"
Shape2.FillColor = "&H00C0C0C0"
Shape1.FillStyle = 0
Shape1.FillColor = "&H0000FF00"
frmmsg.msg.MsgChar = "讀入數據結束"
ProgressBar1.Visible = False
asPopup3.Enabled = True
asPopup3.BackColor = "&HC0FFFF"
MsgBox "succeed"
End Sub
Public Sub Niu_Hao()
Dim i As Integer
Dim byTinput1() As Byte
MSComm1.InBufferCount = 0
MSComm1.Output = "0"
TimeDelay 25
MSComm1.InputMode = comInputModeBinary
MSComm1.InputLen = 9
inTinputlen = 9
ReDim byTinput1(9) As Byte
byTinput1 = MSComm1.Input
For i = 2 To 9
receive(i - 2) = byTinput1(i - 1)
Next
DoEvents
'Call Display
End Sub
Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
MSComm1.PortOpen = False
Open App.Path & "\savecom.txt" For Output As #1
strfile = Combo1.Text
Print #1, strfile
Close (1)
Close (3)
End Sub
Private Sub Timer1_Timer()
Horizontal Me, RGB(131, 166, 244), RGB(33, 120, 224)
Horizontal Me, &HB9C4B9, &HFF8080
End Sub
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -