このQ&Aは役に立ちましたか?
転送用文字列をISOまたはEIAに変換する方法
2023/10/17 18:23
- VB6.0でNCへの転送プログラムを作成していますが、転送用文字列をISOまたはEIAに変換する方法について教えてください。
- 現在、転送用文字列はString型の変数(strSendData)に入力されていますが、それをISOまたはEIA形式に変換する方法を教えてください。
- よろしくお願いします。
転送用文字列を、ISO或いは、EIAに変換にする…
2009/03/30 16:48
転送用文字列を、ISO或いは、EIAに変換にするには?
こんにちわ。
VB6.0で、NCへの転送プログラムを作成しております。
現在、NCへの転送文字列は
String型の変数(strSendData)へ入力しておりますが
それを、ISO或いは、EIAに変換する為には
どうすれば宜しいでしょうか?
宜しくお願いします。
質問者が選んだベストアンサー
EIAコードは、変換しないと無理です。
ISOコードに関しては、受信(NCからPC)は8ビット目をカットしてください。送信(PCからNC)では奇数ビットの時のみ8ビット目を1にするればOKです。
EIAコード無しでISOコードのみでしたら 通信設定 7ビット、パリティ偶数、ストップビットは任意(1.5以外)で問題なく通信出来ます。
私のHPに「通信ワンポイント」を記載していますので参考になると思います。
VBで作成した通信ソフト、参考になるかわかりませんがソースごと差し上げましょうか。10年前ですが、多分バックアップあると思います。
その際は、私掲示板に書込みください。
このQ&Aは役に立ちましたか?
この質問は投稿から一年以上経過しています。
解決しない場合、新しい質問の投稿をおすすめします。
その他の回答 (3件中 1~3件目)
ISOコードの場合、文字コードそのものは
とくに変換する必要はありません.
送信する8ビットのうち下位7ビットがそのまま文字のASCIIコードで、
最上位ビットがパリティになっています.
各バイトのビット列の“1”の数が偶数になる様に
パリティビットを立てます.
例:
0 0000000
1 0000001
1 0000010
0 0000011
1 0000100
0 0000101
0 0000110
1 0000111
1 0001000
0 0001001
0 0001010
1 0001011
0 0001100
1 0001101
1 0001110
0 0001111
EIAの場合には、ASCIIコードとの関係が薄いので、
変換表を用意した方が楽かも知れませんね.
お礼
2009/03/31 16:11
アキオ さま、こんにちわ。
ISOの場合は、そのままでよさそうですね。
ご回答有難う御座います。
ISO、EIAへの変換は文字コードの変換が必要です。
VBに変換するクラスは無いので作成するか、購入するしかありません。
参考のURLに有料ですが、シリアル通信チェッカーのProfessional Editionを購入すればAwCodeConvertクラスがありますのでそのまま利用できますよ。
お礼
2009/03/30 17:35
こんにちわ。
早速のご回答有難う御座います。
検討してみます。
お礼
2009/03/31 16:13
竜の子 さま、こんにちわ。
NCに関しては、ど素人です。
HPを確認させて頂きます。
有難う御座います。