シリアル通信で受信したデータを4つのテキストボックスに振り分けるには?


ショコラ  2005-08-26 10:03:46  No: 124495

VB.NET初心者です。
現在RS-232を用いてシリアル通信を行なっています。
4つのセンサからの情報をPICを用いてパソコンに送信しています。
送信しているデータは

a0001b0002c0003d0004

といったようなアルファベットの後にセンサからの情報を4桁で送信しています。そこで、1つ1つのセンサからの情報をそれぞれテキストボックスに表示したいのですが方法がわかりません。
よろしけばご教授お願いします。

現在は、受信したデータを1つのテキストボックスに表示できる状態です。


ガッ  2005-08-26 10:18:22  No: 124496

ん?
…この問題は既に
・"a0001b0002c0003d0004"という「文字列」をいかに分解するか?
  (多分文字列…型が不明なので、勝手に解釈しました)
という、文字列操作になっています。
…普通にStringクラスを用いるのが一番先に思いつきますねぇ…


ショコラ  2005-08-26 11:15:55  No: 124497

はい。文字列の操作です。
a0001
b0002
c0003
d0004
a0001
b0002

といった感じに順にデータを受信します。
頭文字がaだったらその後の4桁の数字をテキストボックス1に、頭文字がbだったらテキストボックス2に、といった処理を行ないたいのですが、visual basicを始めたばかりなので見当が付かず困っています。
もし、よろしければ方法を教えてください。


Blue  2005-08-26 11:30:28  No: 124498

> 頭文字がaだったらその後の4桁の数字をテキストボックス1に、頭文字がbだったらテキストボックス2に、といった処理を行ないたいのですが
まず、VBどうこうようり、あなたが振り分ける際にどのように考えるかを箇条書きにしてみては
いかかでしょうか。

それから、この処理はVBでどうするかを聞いたほうがいいです。

ヒントだけ、
    System.Substring メソッドを調べてみるといいかも。


Blue  2005-08-26 11:31:37  No: 124499

>     System.Substring メソッドを調べてみるといいかも。
間違えました。orz
System.String.Substringです。


ショコラ  2005-08-26 12:51:42  No: 124500

わかりにくい質問ですいません。
>振り分ける際にどのように考えるかを箇条書きにしてみては
いかかでしょうか。

・a0001というデータ取得
・頭文字がaだったらその後の数字4桁を変数に格納
・テキストボックス1に表示

・b0002というデータ取得
・頭文字がbだったらその後の数字4桁を変数に格納
・テキストボックス2に表示

と考えてます。


ガッ  2005-08-26 16:58:34  No: 124501

そんな風でいいのではないかと思います。
後は、Stringクラスを使ってみるだけですねー


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加