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

[問題]要如何改寫TCSpinEdit 以便支援十六進位數字?

尚未結案
Boy
一般會員


發表:5
回覆:10
積分:3
註冊:2002-11-30

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-01-20 16:31:56 IP:203.73.xxx.xxx 未訂閱
請教各位大大 BCB v6.0 samples 中有TCSpinEdit 元件但只支援十進位 該如何改寫? 因小弟初學乍練 BCB. 謝謝! Jeffrey Chang
------
Jeffrey Chang
RaynorPao
版主


發表:139
回覆:3622
積分:7025
註冊:2002-08-12

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-01-20 16:58:44 IP:203.73.xxx.xxx 未訂閱
引言: 請教各位大大 BCB v6.0 samples 中有TCSpinEdit 元件但只支援十進位 該如何改寫? 因小弟初學乍練 BCB.
Boy 你好: 請參考以下的做法 ( class="code"> void __fastcall TForm1::CSpinEdit1Change(TObject *Sender) { char szBuf[16]={0}; sprintf(szBuf, "%X", CSpinEdit1->Value); Edit1->Text=szBuf; } -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! --
-- 欲知前世因,今生受者是;欲知來世果,今生做者是 --
-- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 --
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-01-21 15:33:32 IP:61.218.xxx.xxx 未訂閱
//改寫 TCSpinEdit  to THexSpinEdit    修改 下面兩個 FUNCTION 就可以顯示 HEX 數字 以下是 DELPHI 程式,如果看不懂 請請教  RaynorPao 大師    function THexSpinEdit.IsValidChar(Key: Char): Boolean; begin  //多加入 一個 'X'        Result := (Key in [DecimalSeparator, '+', '-','x','X','0'..'9']) or     ((Key < #32) and (Key <> Chr(VK_RETURN)));   if not FEditorEnabled and Result and ((Key >= #32) or       (Key = Char(VK_BACK)) or (Key = Char(VK_DELETE))) then     Result := False; end;    procedure THexSpinEdit.SetValue (NewValue: LongInt); begin   //將數值 轉成 HEX 字串   Text := IntToHex (CheckValue (NewValue)); end;        
------
︿︿
Boy
一般會員


發表:5
回覆:10
積分:3
註冊:2002-11-30

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-01-21 21:53:33 IP:61.220.xxx.xxx 未訂閱
謝謝各位先進: function THexSpinEdit.IsValidChar(Key: Char): Boolean; begin //多加入 一個 'X', 'A'..'F' and 'a'..'f' Result := (Key in [DecimalSeparator, ' ', '-','x','X','0'..'9', 'A'..'F', 'a'..'f']) or ((Key < #32) and (Key <> Chr(VK_RETURN))); if not FEditorEnabled and Result and ((Key >= #32) or (Key = Char(VK_BACK)) or (Key = Char(VK_DELETE))) then Result := False; end; 是不是完整了? Jeffrey Chang
------
Jeffrey Chang
cmf
尊榮會員


發表:84
回覆:918
積分:1032
註冊:2002-06-26

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-01-21 22:31:41 IP:61.70.xxx.xxx 未訂閱
function THexSpinEdit.IsValidChar(Key: Char): Boolean; begin //多加入 一個 'X', 'A'..'F' and 'a'..'f' // 去掉  '+','-',DecimalSeparator,    Result := (Key in ['x','X','0'..'9', 'A'..'F', 'a'..'f']) or           ((Key < #32) and (Key <> Chr(VK_RETURN))); if not FEditorEnabled and Result and ((Key >= #32) or    (Key = Char(VK_BACK)) or (Key = Char(VK_DELETE))) then        Result := False; end;         發表人 - cmf 於 2003/01/21 23:03:47
------
︿︿
系統時間:2024-04-25 19:06:09
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!