線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:4295
推到 Plurk!
推到 Facebook!

rs232 輸出字串轉成16進制輸出

答題得分者是:暗黑破壞神
neil_kang
一般會員


發表:3
回覆:9
積分:2
註冊:2005-04-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-04-28 14:54:01 IP:202.3.xxx.xxx 未訂閱
{ ............... ........ ReadFile(hComm, inbuff,cs.cbInQue,&nBytesRead,NULL);      inbuff[cs.cbInQue]='\0';    mReceive->Text=mReceive->Text+inbuff; } 各位大大,想請教要將rs232 輸出字串轉成16進制輸出到pc上,要如何解決啊??< >< >.........初學者.
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-04-28 15:09:42 IP:221.169.xxx.xxx 未訂閱
char buffer[256]; wsprintf(buffer, "X", i); buffer 中就是你要的 i 的 16 進位的東東了。
neil_kang
一般會員


發表:3
回覆:9
積分:2
註冊:2005-04-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-04-28 16:43:16 IP:202.3.xxx.xxx 未訂閱
感謝大大....問題已解決....< >< >
neil_kang
一般會員


發表:3
回覆:9
積分:2
註冊:2005-04-28

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-04-29 14:18:51 IP:202.3.xxx.xxx 未訂閱
< >< >...再請教大大,以下 { ........... ............. >= > >>>結果還是字串ㄟ.....< >< >,懇請大大指點.謝謝.
neil_kang
一般會員


發表:3
回覆:9
積分:2
註冊:2005-04-28

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-04-29 14:35:56 IP:202.3.xxx.xxx 未訂閱
整段函式如下: void __fastcall TForm1::Timer1Timer(TObject *Sender) { String Temp; char inbuff[1024]; DWORD nBytesRead, dwEvent, dwError; COMSTAT cs; ClearCommError(hComm,&dwError,&cs); if (cs.cbInQue > sizeof(inbuff)) { PurgeComm(hComm, PURGE_RXCLEAR); return; } ReadFile(hComm, inbuff,cs.cbInQue,&nBytesRead,NULL); wsprintf(inbuff," X ", cs.cbInQue); inbuff[cs.cbInQue]='\0'; mReceive->Text= mReceive->Text inbuff; } >>>難到是我在inbuff設定錯誤嗎?....謝謝大大.
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-04-29 14:54:22 IP:221.169.xxx.xxx 未訂閱
把問題說清楚。 你到底要怎樣? 如果是數字。存在記憶體中。你管它幾進制。 只有考試才會考你幾進制啦。 只有輸出給人看時才會去看幾進制。 不然都不管它的啦。
neil_kang
一般會員


發表:3
回覆:9
積分:2
註冊:2005-04-28

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-04-29 15:10:10 IP:202.3.xxx.xxx 未訂閱
報告大大,我就是要輸出到螢幕上,以16進制顯示在螢暮上.原本螢暮上的輸出是字串: ......{uyZ{uyZ{uyZ{uyZ{uyZ{uyZ{uyZ{uyZ{uyZyuyZyuyZyuyZyuyZ{uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uy....... Z......    < >< >....謝謝大大.
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-04-29 15:37:15 IP:221.169.xxx.xxx 未訂閱
引言: 報告大大,我就是要輸出到螢幕上,以16進制顯示在螢暮上.原本螢暮上的輸出是字串: ......{uyZ{uyZ{uyZ{uyZ{uyZ{uyZ{uyZ{uyZ{uyZyuyZyuyZyuyZyuyZ{uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uy....... Z......
執行的結果: 92 99 A1 8A 9A 91 A1 9A 91 23F 73 8A A1 9A 91 A1 8A A1 92 99 8A A1 8A A1 A1 92 99 92 99 9A 91 8A A1 92 >>>結果還是字串ㄟ.....,懇請大大指點.謝謝. 那你不是要這個十六進位的字串???? 那還有什麼問題????
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-04-29 16:56:59 IP:221.169.xxx.xxx 未訂閱
引言: 報告大大,我就是要輸出到螢幕上,以16進制顯示在螢暮上.原本螢暮上的輸出是字串: ......{uyZ{uyZ{uyZ{uyZ{uyZ{uyZ{uyZ{uyZ{uyZyuyZyuyZyuyZyuyZ{uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uyZ?uy....... Z......
執行的結果: 92 99 A1 8A 9A 91 A1 9A 91 23F 73 8A A1 9A 91 A1 8A A1 92 99 8A A1 8A A1 A1 92 99 92 99 9A 91 8A A1 92 >>>結果還是字串ㄟ.....,懇請大大指點.謝謝. 那你不是要這個十六進位的字串???? 那還有什麼問題????
neil_kang
一般會員


發表:3
回覆:9
積分:2
註冊:2005-04-28

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-05-03 13:09:01 IP:202.3.xxx.xxx 未訂閱
00000000h: 81 78 77 15 79 5A FF FF 81 78 77 15 79 5A FF FF ; ?w.yZ?w.yZ 00000010h: 81 78 77 15 79 5A FF FF 82 78 77 15 79 5A FF FF ; ?w.yZ?w.yZ 00000020h: 81 78 77 15 79 5A FF FF 81 78 77 15 79 5A FF FF ; ?w.yZ?w.yZ 00000030h: 81 78 77 0D 0A 15 79 5A FF FF 81 78 77 15 79 5A ; ?w...yZ?w.yZ 00000040h: FF FF 81 78 77 15 79 5A FF FF 81 78 77 15 79 5A ; ?w.yZ?w.yZ 00000050h: FF FF 81 78 77 15 79 5A FF FF 81 78 77 15 79 5A ; ?w.yZ?w.yZ 00000060h: FF FF 81 78 77 15 79 5A FF FF 81 78 77 15 79 5A ; ?w.yZ?w.yZ ------------------------------------------------------------------------------------------------------------------------------------------ 00000460h: 41 20 20 41 31 20 20 38 41 20 20 41 31 20 20 39 ; A A1 8A A1 9 00000470h: 41 20 20 39 31 20 20 39 41 20 20 39 31 20 20 41 ; A 91 9A 91 A 00000480h: 31 20 20 38 41 20 20 41 31 20 20 38 41 20 20 32 ; 1 8A A1 8A 2 00000490h: 32 31 20 20 36 42 20 20 39 39 20 20 39 41 20 20 ; 21 6B 99 9A 000004a0h: 39 31 20 20 41 31 20 20 38 41 20 20 41 31 20 20 ; 91 A1 8A A1 000004b0h: 38 41 20 20 41 31 20 20 39 32 20 20 39 39 20 20 ; 8A A1 92 99 000004c0h: 39 41 20 20 39 31 20 20 41 31 20 20 38 41 20 20 ; 9A 91 A1 8A 000004d0h: 41 31 20 20 38 41 20 20 41 31 20 20 39 32 20 20 ; A1 8A A1 92 000004e0h: 39 39 20 20 39 41 20 20 39 31 20 20 41 31 20 20 ; 99 9A 91 A1 000004f0h: 38 41 20 20 41 31 20 20 38 41 20 20 41 31 20 20 ; 8A A1 8A A1 00000500h: 38 41 20 20 41 31 20 20 39 41 20 20 39 31 20 20 ; 8A A1 9A 91 00000510h: 41 31 20 20 38 41 20 20 41 31 20 20 38 41 20 20 ; A1 8A A1 8A >>>>以上便顯示之後的輸出並非正確的16進制輸出 !! >>>>請大大指點,謝謝.
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-05-03 21:17:45 IP:221.169.xxx.xxx 未訂閱
@.@ 有看沒有懂。 你到底輸出是什麼? 想要是什麼? 你把它分別列出來好嗎?
neil_kang
一般會員


發表:3
回覆:9
積分:2
註冊:2005-04-28

發送簡訊給我
#12 引用回覆 回覆 發表時間:2005-05-04 11:05:29 IP:202.3.xxx.xxx 未訂閱
"w.yZ?w.yZw.yZ?w.yZw.yZ?w.yZyZw.yZ..." 以上是原本輸出的字串,但我要的輸出是這些字串的16進制碼.如下: "81 78 77 15 79 5A FF FF 81 78 77 15 79 5A FF FF 81 78 77 15 79 5A FF FF 82 78 77 15 79 5A FF FF..."      "A1 8A A1 9A 91 9A 91 A1 8A A1 8A 221 6B 99 9A 91 A1 8A A1 ..." 而這些輸出是採用大大的建議所得的結果,但是這些是字串,並非16進制碼.因為以上字串的16進制碼是: "41 20 20 41 31 20 20 38 41 20 20 41 31 20 20 39 41 20 20 39 31 20 20 39 41 20 20 39 31 20 20 41 ....."     >>>> < >< >< >< >< >< >...真報歉,一直麻煩大大, 謝謝.
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#13 引用回覆 回覆 發表時間:2005-05-04 11:20:27 IP:221.169.xxx.xxx 未訂閱
不會吧。不可能發生這樣的東東的啦。 你為什麼用 X ????
neil_kang
一般會員


發表:3
回覆:9
積分:2
註冊:2005-04-28

發送簡訊給我
#14 引用回覆 回覆 發表時間:2005-05-04 11:34:01 IP:202.3.xxx.xxx 未訂閱
< >< >...真的不行嗎?是因為>>> >...
暗黑破壞神
版主


發表:9
回覆:2301
積分:1627
註冊:2004-10-04

發送簡訊給我
#15 引用回覆 回覆 發表時間:2005-05-04 12:10:27 IP:221.169.xxx.xxx 未訂閱
你試看看這樣
char tmpstr[] = "012345";
char buffer[256];
char *sp;
sp = tmpstr;
char *dp;
dp = buffer;
while (*sp)
{
wsprintf(dp, "X ", *sp  );
dp  = 3; // 因為你用了 "X " 2 位的數字加一個空白
}
Memo1->Lines->Add(buffer);
你看這樣 Memo 出現的應會是什麼?
neil_kang
一般會員


發表:3
回覆:9
積分:2
註冊:2005-04-28

發送簡訊給我
#16 引用回覆 回覆 發表時間:2005-05-17 11:06:25 IP:202.3.xxx.xxx 未訂閱
< >< >....謝謝大大...經過您的指點..我已經想出來了.謝謝.
系統時間:2024-04-20 11:16:51
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!