Mscommを使用して、垂れ流しデーターをバイナリで受信(受信データ長さは変化する)するとき、このデーターをどうやって、配列に格納していけば良いのでしょうか?
(垂れ流しデータ ⇒ < STX >nnn-nnn・・・・< ETX >< CHK >)
また、配列に格納したデーターを文字に置き換えるにはどうすれば良いでしょうか?
まず考え方として以下の流れでよいでしょうか?
バイナリデータをバリアント型の変数に入れる。(受信する)
↓
このデータを1バイトごとにバイト型変数の配列に入れていく。
↓
格納した配列の中の制御文字を取り除く。( ST、EX )
↓
配列に入っているデータを文字に変換する。
↓
変換した文字をつなぐ。
受信するデーターが制御文字を含んでいる為、テキストで受信するとおかしな動作をすることがあるので(150バイト程度のデーターを、バッファから変数に移すときに、0.5~2.5秒もかかってしまうし、文字化けも時々起こす。)バイナリで受信してその後文字に変換したいのですが・・・。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
(記憶が薄いので、正確ではありません。
)Dim bytAry() as byte
として、それに直接受信してあげると必要な領域を勝手にVB側で用意してくれると思いました。
それを
Dim strWork as String
(1)strWork = strConv(bytAry,vbUnicode)
(2)strWork = strConv(bytAry,vbFormUnicode)
どっちかで変換だったと思うけど、それでバイナリデータを文字列化します。
そのあと
VB6ならReplace関数で制御文字だけを置き換えて使用すると便利かも?
最初に述べたように、かなり記憶があいまいです。環境がないので性格には答えられません。m(__)m
TAGOSAKU7さん、回答ありがとうございます。
私の考え方が間違っていたようです。
バイナリデータも文字列と同じように、いったん受信しから配列に割り振らないとダメかと思っていました。(^^ゞ
何もせずに配列に入ってくれるとは・・・。
おかげ様でうまくバイナリデータを受信することが出来ました。
ありがとうございました。 UME3 m(__)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Ruby 初心者プログラミング 3 2022/10/12 11:31
- その他(プログラミング・Web制作) python質問 1 2023/08/14 11:54
- その他(プログラミング・Web制作) awkの文字列比較はPOSIXロケールまたはCロケールにおいてバイナリ値の比較に使えるか gawkな 1 2023/04/22 09:21
- Visual Basic(VBA) 特定の文字を簡単な操作で半角スペースに変換するか削除したい 2 2022/11/01 10:35
- その他(Microsoft Office) wordの差し込み印刷での日付表示 2 2023/08/15 16:51
- その他(プログラミング・Web制作) プログラミング python pandas 固定長データの出力 2 2022/08/16 11:22
- C言語・C++・C# C#の問題です。 文字列型の配列 s[100] にキーボードから入力された100文字以内の文字列(単 2 2022/06/22 15:18
- Outlook(アウトルック) 標準アカウントをOUTLOOKアプリに登録するとほかのアカウントのメールもこのアドレスに受信される 1 2023/02/03 20:34
- その他(ブラウザ) cvsファイルをダウンロードすると、自動で拡張子がExcelのものになる 5 2022/07/20 21:21
- au(KDDI) auからの 【重要なお知らせ】 は本物? 6 2022/04/07 22:09
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイル内の(&H0A)を(&H0D0A)...
-
配列操作について
-
ファイル入力のデータを構造体...
-
バイト型のデータを16進表記で...
-
VB4.0の「LSet」と同等の機能を...
-
CSVファイルによる検索の高速化
-
グレースケール画像の画素値を得る
-
並び替え
-
ファイルのアクセス回数について
-
エクセルのプロパティーでセキ...
-
バッチファイル 二つ上のディ...
-
エクセルで複数のコメントのサ...
-
Windows10でコマンドプロンプト...
-
バッチファイル 別ファイルにリ...
-
エクセルvbaでdocuworksprinter...
-
VBAでパワーシェルを実行したい...
-
エクセル UserForm 呼び出しで...
-
ExcelブックをGoogleスプレッド...
-
初心者powershellのPS1ファイル...
-
csvファイル 項目数取得
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バイト型のデータを16進表記で...
-
VBAでテキストファイルを複数開...
-
RGBのバイナリデータをCImageに...
-
VBAでテキストファイルの改行を...
-
DXFファイルをVBで取り込み、図...
-
[VBS] 16進数でバイナリファイ...
-
ファイル内の(&H0A)を(&H0D0A)...
-
ファイルをメモリに出力する方法
-
テキストファイルを後ろから読...
-
Cで2次元配列にCSVファイルを...
-
ファイル入力のデータを構造体...
-
Excel VBAで画像解析
-
VBScriptの配列は、要素数を指...
-
ファイルからビット単位での読...
-
fread関数の使い方がわかりませ...
-
awk getlineをもう一度ファイル...
-
バイナリファイルでOutOfMemory...
-
VBSにてCSV読み込みし比較
-
バイナリファイルの一部分をカ...
-
日本語混じりのファイルをラン...
おすすめ情報