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

關於使用RS232串列傳輸之ASCII轉16進制問題!

尚未結案
slife100
一般會員


發表:13
回覆:15
積分:5
註冊:2005-01-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-11-12 22:33:25 IP:140.130.xxx.xxx 未訂閱
void __fastcall TForm1::Button3Click(TObject *Sender) { String Temp; //inting Temp; char *SendData; String A; int ln; unsigned long lrc,BS; if(hComm==0)return; Temp=mSend->Text; //Temp=StrToHex(A); A=StrToHex(Temp); //SendData=Temp.c_str(); SendData=A.c_str(); BS=Temp.Length(); WriteFile(hComm,SendData,BS,&lrc,NULL); } 以上的是小地寫在傳送BUTTON裡的程式 mSend代表的是Memo這個元件,我在這個Memo裡輸入數字在按下傳送button後送出,但是送出去的是acdii碼,對方的視窗當我送1他會收到31,請叫大大們可否有什麼函式可以讓我打多少對方就收多少呢?如打1對方也收到1、打A對方也收到A呢?謝謝!!!

版主


發表:261
回覆:2302
積分:1667
註冊:2005-01-04

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-11-14 08:25:59 IP:203.203.xxx.xxx 未訂閱
這個是對方解碼問題. 它把你傳的資料當數值解就會這樣. 改成字元就ok了.
------
-------------------------------------------------------------------------
走是為了到另一境界,停是為了欣賞人生;未走過千山萬水,怎知生命的虛實與輕重!?
暗黑破壞神
版主


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

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-11-14 09:39:04 IP:59.104.xxx.xxx 未訂閱
你想想下面的程式片斷。再想想你的問題。
char c = '1';
printf("the c = %c\n", c);
printf("the c = %d\n", c);
它的結果是什麼? 再來看你的問題。應該就解掉了。
系統時間:2024-05-10 9:37:18
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!