請問ComPort元件回傳值問題 |
缺席
|
Peter Tseng
一般會員 發表:3 回覆:6 積分:1 註冊:2007-10-14 發送簡訊給我 |
請問一下我已 ComPort Library version 2.63之元件接收Modbus協定之設備
如何才能使正確的數字顯示於Label1及ListBox1上? procedure TFVoltage.ComPRxChar(Sender: TObject; Count: Integer); var InPchar :pchar; s : string; begin s := stringofchar(' ',Count); ComP.Read(InPchar,count); move(inpchar^,pchar(s)^,count); //此處用Trace方式會顯示 #1#3#$14#9#3#$1B#4#$E 等字元 Label1.Caption := (string(InPchar)); //目前以下兩行顯示奇怪符號,請問如何才能使上一行之字元轉成正常數字 ListBox1.Items.Insert(0,Label1.Caption); end; |
max5020
資深會員 發表:30 回覆:277 積分:321 註冊:2003-06-04 發送簡訊給我 |
|
Peter Tseng
一般會員 發表:3 回覆:6 積分:1 註冊:2007-10-14 發送簡訊給我 |
這問題我已經自行解決了,程式片斷如下
var s : string; i : smallint; begin Label1.Caption := ''; s := stringofchar(' ',DataSize); move(dataptr^,pchar(s)^,DataSize); for i := 0 to DataSize-1 do begin if (s[i]<>'') and (i>3) and (i<(DataSize-2)) then // inttohex(byte(s[i]),2))) 由 #1#3#9#3#10..(字元模式)轉成 HEX(16進位) Label1.Caption := Label1.Caption '[' inttostr(strtoint('0x' inttohex(byte(s[i]),2))) '] ' else if (byte(s[i])=0) and (i>3) and (i<(DataSize-2)) then Label1.Caption := Label1.Caption '[' '0' '] '; end; ListBox1.Items.Insert(0,Label1.Caption); end; |
Peter Tseng
一般會員 發表:3 回覆:6 積分:1 註冊:2007-10-14 發送簡訊給我 |
不好意思,我所用的Com port 元件已經改用 TCommPortDriver元件了,該元件之接收部分的
程式片斷如下 procedure TFVoltage.com7ReceiveData(Sender: TObject; DataPtr: Pointer; DataSize: Cardinal); var s : string; i : smallint; begin Label1.Caption := ''; s := stringofchar(' ',DataSize); move(dataptr^,pchar(s)^,DataSize); for i := 0 to DataSize-1 do begin if (s[i]<>'') and (i>3) and (i<(DataSize-2)) then Label1.Caption := Label1.Caption '[' inttostr(strtoint('0x' inttohex(byte(s[i]),2))) '] ' else if (byte(s[i])=0) and (i>3) and (i<(DataSize-2)) then Label1.Caption := Label1.Caption '[' '0' '] '; end; ListBox1.Items.Insert(0,Label1.Caption); end; |
ANDY8C
資深會員 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
|
Peter Tseng
一般會員 發表:3 回覆:6 積分:1 註冊:2007-10-14 發送簡訊給我 |
|
Peter Tseng
一般會員 發表:3 回覆:6 積分:1 註冊:2007-10-14 發送簡訊給我 |
|
ANDY8C
資深會員 發表:114 回覆:582 積分:299 註冊:2006-10-29 發送簡訊給我 |
謝謝您
===================引 用 Peter Tseng 文 章=================== 不好意思,再補充一下,該元件跟ComPort Library version 2.63用法都一樣,穩定度這兩套 也都還不錯,接收Modbus設備回傳值,只要包率相關值設定好,甚少有loss情況發生
------
--------------------------------------- 偶爾才來 KTOP ,交流條碼問題,在 FB [條碼標籤達人] 社團留言,感恩. |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |