Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
時間ごとにデータを保存する方法
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30285#CommentId83030
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
vb素人
 (学生)
投稿日時
2017/9/6 09:37:25
シリアル通信で受信したデータの保存について。
↓の①~③のコードで受信データxとyの保存まで対応できていますが、
自分で設定した時間(TextBox1で設定)ごとにxとyのデータを保存する方法が分かりません。
①
Private Delegate Sub Delegate_RcvXDataToTextBox(xdec As String)
Private Delegate Sub Delegate_RcvYDataToTextBox(ydec As String)
②
Private Sub SerialPort1_DataReceived(sender As Object, e As SerialDataReceivedEventArgs) Handles SerialPort1.DataReceived
'細かい所は省略します
Dim datax As Byte() = {bin(2), bin(1)}
Dim x As UShort = BitConverter.ToUInt16(datax, 0) '符号なし2 バイト整数に変換
Dim datay As Byte() = {bin(4), bin(3)}
Dim y As UShort = BitConverter.ToUInt16(datay, 0) '符号なし2 バイト整数に変換
Received(x, y)
End Sub
③
Private Sub Received(x As UShort, y As UShort)
If InvokeRequired Then
Invoke(New Action(Of UShort, UShort)(AddressOf Received), x, y)
Else
'グラフの設定などは省略
s.Points.AddXY(x, y)
'★
Dim sw As System.IO.StreamWriter
sw = New System.IO.StreamWriter("abc.csv", True,
System.Text.Encoding.GetEncoding(932))
sw.WriteLine(x & "," & y)
sw.Close()
End If
End Sub
Button3を押したらデータの保存を開始して、
Timer1_Tick内(☆印の箇所?)でxとyをファイルに書き込むのかと思っていますが、
xとyのデータを受け渡す方法が上手くいきません。
④
Dim CountTimer As Integer
Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
CountTimer = CInt(TextBox1.Text)
Timer1.Interval = 1000
Timer1.Enabled = True
End Sub
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
CountTimer = CountTimer - 1
'☆
If CountTimer = 0 Then
Timer1.Enabled = False
MessageBox.Show("測定終了")
End If
End Sub