首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VB >

高手们帮帮小弟我,一个VB小疑点

2012-02-11 
高手们帮帮我,一个VB小问题Private Sub Form_Load()MSComm1.CommPort 1MSComm1.Settings 9600,N,8,1

高手们帮帮我,一个VB小问题
Private Sub Form_Load()
MSComm1.CommPort = 1
MSComm1.Settings = "9600,N,8,1"
MSComm1.PortOpen = True
MSComm1.InputMode = comInputModeBinary
MSComm1.RThreshold = 1
Dim a As Long
End Sub

Private Sub MSComm1_OnComm()
Dim BytesReceived() As Byte
  Dim buffer As String
  Dim HData As String
  Dim i As Integer
  Select Case MSComm1.CommEvent
  Case comEvReceive '接收十六进制数据。并以十六进制显示
  MSComm1.InputLen = 0
  buffer = MSComm1.Input '接收数据至字符串中
  BytesReceived() = buffer '将数据转入Byte数组中
  For i = 0 To UBound(BytesReceived) '显示结果以十六进制显示
  If Len(Hex(BytesReceived(i))) = 1 Then
  HData = HData & "0" & Hex(BytesReceived(i))
  Else
  HData = HData & Hex(BytesReceived(i))
  End If
  Text1.Text = HData
  '最后将结果后入Text1中
  MSComm1.OutBufferCount = 0 '清除发送缓冲区
  MSComm1.InBufferCount = 0 '清除接收缓冲区
  Next
  End Select
End Sub
这是我的程序,现在要采集数据,就是HData,怎么每隔1S保存一个HData值呢,(注:HData可以在屏幕中显示),有具体的代码吗??拜托啦

[解决办法]
单纯保存一个值,如果数据库不熟悉,就保存到txt也可以,连时间一起保存。
放一个定时器控件,间隔为1000ms
Private Sub Timer1_Timer()
Open App.Path() & "\save.txt" For Append As #1
Print #1, Now & " " & Text1.Text
Close #1
End Sub
[解决办法]
'根据你的实际情况来改这个常数
Private Const desktop_path As String = "D:\Documents and Settings\Administrator\桌面"

Private Sub Timer1_Timer()
Open desktop_path & "\save.txt" For Append As #1
Print #1, Format(Now, "yyyy-mm-dd HH:nn:ss") & vbTab & Text1.Text
Close #1
End Sub

如果希望代码通用,就以用 API 取桌面路径。见:
http://topic.csdn.net/u/20100428/18/b24d9027-9c2b-4809-a6dd-0f06f59589c0.html?seed=1182803751&r=65214886#r_65214886

热点排行