如何限定小數點只能在edit中出現一次.. 詳情請進 |
答題得分者是:P.D.
|
ep20
一般會員 ![]() ![]() 發表:3 回覆:3 積分:1 註冊:2012-03-09 發送簡訊給我 |
因為要製作類似小算盤功能的程式
而對於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.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
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 發送簡訊給我 |
|
P.D.
版主 ![]() ![]() ![]() ![]() ![]() ![]() 發表:603 回覆:4038 積分:3874 註冊:2006-10-31 發送簡訊給我 |
我再用白話文指點一下, 希望對你有幫助
當按下數字鍵盤, 讓原有的字串加上現在按下的數字盤, 就可以形成一組數字 例如原先是 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 文 章=================== 您好 是作業文沒錯 可是程式碼我會自己弄懂 然後親自寫 ^^ 只是上來詢問 如果有問題 希望你還能幫我解答 謝謝你 我會再試試看 若還有不解 會再發問的 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |