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

如何限定小數點只能在edit中出現一次.. 詳情請進

答題得分者是:P.D.
ep20
一般會員


發表:3
回覆:3
積分:1
註冊:2012-03-09

發送簡訊給我
#1 引用回覆 回覆 發表時間:2012-03-14 11:13:41 IP:140.133.xxx.xxx 訂閱
因為要製作類似小算盤功能的程式
而對於delphi並不是那麼的熟稔
想請教 如何在 小數點的按鍵程式碼中 限定小數點在這個數字按過一次便無作用
我知道有個enable的東西, 但是 因為是一個算數的輸入框
若是使得小數點按鍵在一整個程式中只能按一次
這個程式就等於失敗...
懇請幫忙

以下

procedure Form1.btnDotClick(Sender: TObject);
begin
x:= strtofloat(edit1.text);
if x=0 then begin
edit1.text:= edit1.text TButton(sender).caption;
end
else
edit1.text:= edit1.text TButton(sender).caption;
end;


P.D.
版主


發表:571
回覆:3888
積分:3677
註冊:2006-10-31

發送簡訊給我
#2 引用回覆 回覆 發表時間:2012-03-14 12:40:16 IP:118.169.xxx.xxx 未訂閱
1.作業文吼!
2.底下的 IF ... ELSE 兩段都是一樣的程式, 那 IF .. ELSE 不就脫褲子放屁
3.你已經寫到一個重點 StrtoFloat(), 但StrtoFloat 我不記得會傳回 0 值 啊!
先去研究一下 StrtoFloat() 的定義
4.我給你一個方向
try
StrtoFloat(xxx)
.... 這裡該怎麼寫
except
.... 這裡該怎麼寫
end;

去查查 try ... except 的用法
===================引 用 ep20 文 章===================
因為要製作類似小算盤功能的程式
而對於delphi並不是那麼的熟稔
想請教 如何在 小數點的按鍵程式碼中 限定小數點在這個數字按過一次便無作用
我知道有個enable的東西, 但是 因為是一個算數的輸入框
若是使得小數點按鍵在一整個程式中只能按一次
這個程式就等於失敗...
懇請幫忙

以下

procedure Form1.btnDotClick(Sender: TObject);
begin
x:= strtofloat(edit1.text);
if x=0 then begin
edit1.text:= edit1.text TButton(sender).caption;
end
else
edit1.text:= edit1.text TButton(sender).caption;
end;


ep20
一般會員


發表:3
回覆:3
積分:1
註冊:2012-03-09

發送簡訊給我
#3 引用回覆 回覆 發表時間:2012-03-14 20:25:52 IP:203.64.xxx.xxx 訂閱
您好 是作業文沒錯
可是程式碼我會自己弄懂 然後親自寫 ^^
只是上來詢問 如果有問題 希望你還能幫我解答 謝謝你
我會再試試看 若還有不解 會再發問的
P.D.
版主


發表:571
回覆:3888
積分:3677
註冊:2006-10-31

發送簡訊給我
#4 引用回覆 回覆 發表時間:2012-03-14 23:20:08 IP:220.136.xxx.xxx 未訂閱
我再用白話文指點一下, 希望對你有幫助

當按下數字鍵盤, 讓原有的字串加上現在按下的數字盤, 就可以形成一組數字
例如原先是 3, 按下4, 就變成 3 4=34
如果按下 . (小數點), 就變成 3 . = 3. --> 一樣顯示出來
但 StrtoFloat('3.') 絕對不合法, 所以遇到這樣的狀況, 不能進行判斷
但如果輸入了 3. 再輸入 4, 就變成 3. 4= 3.4
利用StrtoFloat('3.4')會得到 3.4 的實數值 ==> 過關
但如果已經是 3.4 再照你的說法, 按下 . 得到 3.4 .= 3.4.
StrtoFloat('3.4.') 必定引發 Except 的錯誤, 就可以在 Except 中還原成原來的字串 '3.4' 送出去即可

其實
try
except
在這邊的寫法, 就是在判斷輸入的數字合不合法, 如果不合法,
也可以提示錯誤, 但最常的做法就是直接還原成上一次的輸入值
畢竟有誰看過計算機輸入不合法的值, 會跳一個視窗告訴你輸入錯誤,
除非是除法用 0 出現 E
end;
============引 用 ep20 文 章===================
您好 是作業文沒錯
可是程式碼我會自己弄懂 然後親自寫 ^^
只是上來詢問 如果有問題 希望你還能幫我解答 謝謝你
我會再試試看 若還有不解 會再發問的
系統時間:2017-12-13 5:34:08
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!