Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
グラフ描画
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30264#CommentId83003
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
vb素人
 (学生)
投稿日時
2017/8/22 09:34:04
魔界の仮面弁士さま
返信ありがとうございます。
デリゲートを使う方法で試しているのですが(下記④、⑤の部分)、うまくいきません。
実行すると
★の位置で「パラメーター カウントが一致しません。」というエラーが出てしまいます。
'①
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
'細かい所は省略します。
'受信データを10進数表記に変換してxdecと、ydecをInvokeします。
Dim datax As Byte() = {bin(2), bin(1)}
Dim xbyte As UShort = BitConverter.ToUInt16(datax, 0) '符号なし2 バイト整数に変換
Dim xdec As String = Convert.ToString(xbyte, 10) '10進数表記の "1023" に変換
Invoke(New Delegate_RcvXDataToTextBox(AddressOf RcvXDataToTextBox), xdec)
Dim datay As Byte() = {bin(4), bin(3)}
Dim ybyte As UShort = BitConverter.ToUInt16(datay, 0) '符号なし2 バイト整数に変換
Dim ydec As String = Convert.ToString(ybyte, 10) '10進数表記の "1023" に変換
Invoke(New Delegate_RcvYDataToTextBox(AddressOf RcvYDataToTextBox), ydec)
End Sub
'③xdecとydecの値をTextBoxへ表示させます。
Private Sub RcvXDataToTextBox(xdec As String)
Dim X As Integer
'受信データをテキストボックスの最後に追記する.
If IsNothing(xdec) = False Then
RcvXTextBox.AppendText(xdec)
X = CInt(xdec)
'★
Invoke(New Delegate_RcvDataToGraph(AddressOf RcvDataToGraph), X)
End If
End Sub
Private Sub RcvYDataToTextBox(ydec As String)
Dim Y As Integer
'受信データをテキストボックスの最後に追記する.
If IsNothing(ydec) = False Then
RcvYTextBox.AppendText(ydec)
Y = CInt(ydec)
Invoke(New Delegate_RcvDataToGraph(AddressOf RcvDataToGraph), Y)
End If
End Sub
'④グラフへデータを渡すデリゲート
Private Delegate Sub Delegate_RcvYDataToGraph(X As Integer, Y As Integer)
'⑤グラフ表示
Private Sub RcvYDataToGraph(X As Integer, Y As Integer)
Chart1.Series.Clear() '既存の Series をクリアする場合
Dim s As Series
s = Chart1.Series.Add("E")
s.ChartType = SeriesChartType.Point
s.Points.AddXY(X, Y)
End Sub