有關TMaskEdit的問題 |
尚未結案
|
Elaine1981
一般會員 ![]() ![]() 發表:18 回覆:21 積分:7 註冊:2004-08-21 發送簡訊給我 |
|
allenchan
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
|
allenchan
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
|
Elaine1981
一般會員 ![]() ![]() 發表:18 回覆:21 積分:7 註冊:2004-08-21 發送簡訊給我 |
|
hahalin
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:295 回覆:1698 積分:823 註冊:2002-04-14 發送簡訊給我 |
|
allenchan
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
配合 hahalin 大大的另類,我也有個另類想法,在 KeyPress 自己處理,採用暴力法(ToDouble 配合 try ... catch),可這方法沒法對付 copy & paste ~~
|
allenchan
資深會員 ![]() ![]() ![]() ![]() ![]() 發表:10 回覆:306 積分:283 註冊:2004-01-06 發送簡訊給我 |
在 OnChange 做,這樣就可以連 copy & paste 都防到了:
void __fastcall TForm1::Edit1Change(TObject *Sender) { bool dot_found = false; String str = Edit1->Text.Trim(); int sel_start = Edit1->SelStart; for (int i = 1; i <= str.Length(); i ) { if (str[ i ] < '0' || str[ i ] > '9') { if (str[ i ] == '.') { if (dot_found) str.Delete(i--, 1); else dot_found = true; } else { str.Delete(i--, 1); } } } Edit1->Text = str; Edit1->SelStart = sel_start; } |
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
引言: 不好意思喔…^^,我想你們誤會我的意思了,我的意思是因為我資料庫有個欄位的型態是float,所以我想問的是要讓TMaskEdit只能輸入型態為float的話,要怎麼設定?因為你們提供的最多只能輸入到個位數,就這樣,謝謝!^^1.從你的第一次發信, 我想我們應該沒有誤會意思吧! 2.不清楚你第二次指出料庫欄位與TMaskEdit 有何關聯哦? 可否再細說. 3.float 的格式就是 9999.9999 的格式, 要到幾位數則整數位給個9 如果是整數, 就不要給小數部份, TMaskEdit 基本上是String結構, 所以沒有 所謂float或integer的區別, 而我們在文中提出的也只是一個依你的需求示範的例子(因為你說只能輸入小數) |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |