全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1739
推到 Plurk!
推到 Facebook!

MEMO顯示ASCII碼小於32以下之控制字元問題......

尚未結案
nowitzki41
一般會員


發表:3
回覆:5
積分:1
註冊:2005-08-11

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-09-14 14:34:45 IP:61.219.xxx.xxx 未訂閱
小弟最近在練習寫一個類似SCOPE的小程式,用來監看外界傳給電腦的data,現在遇到一個問題,有一些儀器在傳送資料時會有所謂的起始與結束碼,例如起始碼是0x02,結束碼是0x03,夾在起始/結束碼中間的就是儀器真正要傳給電腦的資料,可是BCB的MEMO元件好像無法顯示ASCII碼小於32的字元,所以在我的程式中,每一筆資料的最前和最後面都會空一格,雖然我知道空下的字元就是0x02和0x03,但要如何讓他們顯示在MEMO中呢??
RedSnow
版主


發表:79
回覆:1322
積分:845
註冊:2003-12-15

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-09-14 19:54:46 IP:59.115.xxx.xxx 未訂閱
nowitzki41 您好:    內建的 Memo 元件是無法正常顯示 "控制字元" (ASCII Code 小於 32 [0x20] 的字元) 的,這些控制字元被列為 "非可視字元" 的範圍,我提供幾個方式供您參考一下: 1. 在字串資料送到 Memo 元件顯示之前,先將控制字元轉為 "可視字元" 來替代,例如:使用 % 符號來代替 0x02 字元、使用 ^ 字元來代替 0x03 字元....,當然啦~這些替代字元必須要是正常資料所用不到的字元,以免混淆了。 2. 與前一項的概念相同,但是使用特定字串來替代那些控制字元,例如:使用 [START] 字樣來代替 0x02 字元、使用 [END] 字樣來代替 0x03 字元....。 3. 改用 RichEdit 元件來顯示資料,碰到控制字元時,使用不同顏色來標示替代字元,這裡講的替代字元可以是固定的一個字元,但是使用不同顏色來區分不同的控制碼,例如:使用紅色的減號來表示 0x02 字元、使用藍色的減號來表示 0x03 字元....。 4. 自己寫一個元件來顯示文字資料,碰到控制字元時,使用自己繪製的符號來顯示。 5. 找找看是否有 "可以顯示控制字元" 的第三方元件。 7 天天敲鍵盤 v 時時按滑鼠 8
nowitzki41
一般會員


發表:3
回覆:5
積分:1
註冊:2005-08-11

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-09-15 19:43:01 IP:61.219.xxx.xxx 未訂閱
感謝大大提點, 目前看來也只能先以上述方法權宜之!!
系統時間:2024-05-18 7:22:39
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!