PB 電子会議室

コメント

発言No. 更新日 題名(クリックすると発言内容と関連するコメントが表示されます)
23649 10/01/29 10:23:24 RE(4):PB7.0: シリアルポートからデータ取得 By GREENS
23648 10/01/29 10:19:11 RE(3):PB7.0: シリアルポートのオープンとクローズ By GREENS
23576 09/07/29 08:47:44 RE(2):PB7.0: シリアルポートとの通信(受信・送信) By GREENS
23575 09/07/28 17:33:07 RE(1):PB7.0: シリアルポートとの通信(受信・送信) By もけ
23574 09/07/28 14:45:08 PB7.0: シリアルポートとの通信(受信・送信) By GREENS

カテゴリ:スクリプトの記述
日付:2010年01月29日 10:23 発信者:GREENS
題名:RE(4):PB7.0: シリアルポートからデータ取得

最終的に問題が解決しました。ロジックを残しますので、必要な方は参考にして下さい。
*****************************************************

long  ll_rtn, ll_read_len, ll_長さ
long GENERIC_READ = 2147483648 // 0x80000000
long GENERIC_WRITE = 1073741824 // 0x40000000
long OPEN_EXISTING = 3
long FILE_ATTRIBUTE_NORMAL = 128// 0x80
String  ls_buffer, ls_readdata
Long ll_レコード長
Long ll_バッファ長

//COMポートからデータ受信
ll_バッファ長 = 99
ls_buffer = space(ll_バッファ長)
ll_rtn = ReadFile(gl_シリアル_hfile, &
   ls_buffer, &
ll_バッファ長, &
ll_read_len, &
0)

IF ll_rtn = -1 OR ll_rtn = 0 THEN
messagebox(\"エラー\",\"通信出来ません。\", Exclamation!)
RETURN -1
END IF

//レコードが99以上
IF ll_read_len > (Long(ll_バッファ長 / ll_レコード長) * ll_レコード長) THEN
messagebox(\"バッファエラー\",\"バッファ量をオーバーしました。,Exclamation!)
adb_getdata = 0
RETURN -1
END IF


//出力データ形式別、データ修正
ls_readdata = left(ls_buffer, ll_read_len)
ls_readdata = Mid(ls_readdata, ((Long(ll_read_len / ll_レコード長) - 1) * ll_レコード長) + 1, ll_レ
コード長)

RETURN 0



付加情報:

PowerBuilder Version (記載なし)

Client SoftWare

OS Windows XP
DBMS (記載なし)
Browser (記載なし)

Server SoftWare

OS (記載なし)
DBMS (記載なし)
WebServer (記載なし)

PowerSpaceの運営は、パワーフューチャー株式会社が行っております。
Copyright © 2013 Power Future Co., Ltd.