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

文字內的數字

尚未結案
balado
一般會員


發表:14
回覆:6
積分:4
註冊:2003-12-24

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-12-29 06:35:15 IP:163.28.xxx.xxx 未訂閱
要是我在RICHEDIT內輸入數字 我要怎麼把這個數字讀出來成整數型態作加減運算 我有嘗試過用ANSISTRING的TOINT的函數可是沒有用ㄟ他會出現錯誤訊息    謝謝又再次麻煩大家了
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-12-29 10:33:02 IP:210.243.xxx.xxx 未訂閱
balado您好 咦!?我試過是可以的喲...如果只是單純輸入數字的話,可以這麼做 一個Label,一個RichEdit,在RichEdit輸入數字即會顯示於Label
void __fastcall TForm1::RichEdit1Change(TObject *Sender)
{
    Label1->Caption = RichEdit1->Lines->Strings[0].ToInt();
}
如果是要輸入運算式,就沒這麼簡單囉... 可以參考http://delphi.ktop.com.tw/topic.php?topic_id=21949 希望以上對您有所幫助 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
bass15
高階會員


發表:24
回覆:171
積分:119
註冊:2003-10-27

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-12-29 12:14:45 IP:61.66.xxx.xxx 未訂閱
我想你是因為輸入的字裡面有非數字的值吧 AnsiString str=RichEdit1->Lines->Strings[0]; //這個取出第一行的字串 str=str.Trim(); //把字串前後的空白去掉 int num=str.ToIntDef(0); //把字串轉成int型態數字 如果字串中有文字,會被轉成預設值0 不知這樣有沒有解決你的問題呢?
balado
一般會員


發表:14
回覆:6
積分:4
註冊:2003-12-24

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-12-31 03:58:19 IP:163.28.xxx.xxx 未訂閱
SORRY要是說他有十六進位的數字勒 就像是說上面印有1A的文字 可是我可以把他抓下來而且解碼成十進位的26嗎?
ENIX007
高階會員


發表:28
回覆:274
積分:185
註冊:2003-11-27

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-12-31 09:47:13 IP:210.243.xxx.xxx 未訂閱
balado您好 由於BCB沒有可以直接十六進位轉十進位的函式可用,因此必須自己寫, 不過寫法蠻簡單的,請參考以下程式 < class="code"> .h檔 class TForm1 : public TForm { __published: // IDE-managed Components TRichEdit *RichEdit1; TLabel *Label1; private: // User declarations public: // User declarations __fastcall TForm1(TComponent* Owner); int __fastcall HexToInt(AnsiString Hex);//宣告函式 }; .cpp檔 TForm1 *Form1; int __fastcall TForm1::HexToInt(AnsiString Hex) { return StrToInt("$" Hex); //這行就解決啦 } //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { AnsiString str; int show; str = RichEdit1->Lines->Strings[0]; //注意RichEdit1我只放一個'1A',如果需要一長串必需搭配SubString()來取 show = HexToInt(str); Label1->Caption = IntToStr(show); } //--------------------------------------------------------------------------- 以上程式Label1就顯示26啦 程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
------
程式迷人之處,在於邏輯思考,然而卻也是惱人之處~~
系統時間:2024-05-02 10:38:54
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!