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

如何抓取inputbox的ok事件?

答題得分者是:wnhoo
nachi
初階會員


發表:40
回覆:116
積分:31
註冊:2003-02-26

發送簡訊給我
#1 引用回覆 回覆 發表時間:2003-05-16 13:17:30 IP:218.165.xxx.xxx 未訂閱
當我按下inputbox的ok後,還要執行其它程式,請問語法該如何下?
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#2 引用回覆 回覆 發表時間:2003-05-16 13:32:57 IP:211.74.xxx.xxx 未訂閱
procedure TForm1.Button1Click(Sender: TObject); var InputString: string; begin InputString:= InputBox('Input Box', 'Prompt', 'Default string');//Text Default給'Default string' SHOWMESSAGE(InputString); //按下Cancel傳回Default string,如果改變Text的值('123')按下OK就傳回'123' end; TRY TRY SEE
引言: 當我按下inputbox的ok後,還要執行其它程式,請問語法該如何下?
nachi
初階會員


發表:40
回覆:116
積分:31
註冊:2003-02-26

發送簡訊給我
#3 引用回覆 回覆 發表時間:2003-05-16 13:38:13 IP:218.165.xxx.xxx 未訂閱
chih:這個我知道了,我現在的問題是當我按下OK後,我還要呼叫借(還)書的procedure,因為程式會很長所以我不想寫在buttonclick裡,想要獨立出各自的procedure,有辦法嗎?
chih
版主


發表:48
回覆:1186
積分:639
註冊:2002-04-02

發送簡訊給我
#4 引用回覆 回覆 發表時間:2003-05-16 13:44:13 IP:211.74.xxx.xxx 未訂閱
procedure TForm1.Button1Click(Sender: TObject); begin if InputBox('Input Box', 'Prompt', 'Default string')<>'Default string' then ABC;//ABC 是你的procedureName,傳回值<>Default string代表user有改變Text的值,這時就去執行你的procedure end; TRY TRY SEE
引言: chih:這個我知道了,我現在的問題是當我按下OK後,我還要呼叫借(還)書的procedure,因為程式會很長所以我不想寫在buttonclick裡,想要獨立出各自的procedure,有辦法嗎?
wnhoo
高階會員


發表:75
回覆:443
積分:198
註冊:2003-04-22

發送簡訊給我
#5 引用回覆 回覆 發表時間:2003-05-16 13:51:07 IP:61.155.xxx.xxx 未訂閱
//使用InputQuery实现就可以了    var tmp:string; begin if InputQuery('提示', '输入:',tmp) then showmessage('true') else showmessage('false'); end;    风花雪月 e梦情缘
------
风花雪月 e梦情缘
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#6 引用回覆 回覆 發表時間:2003-05-16 13:57:26 IP:218.16.xxx.xxx 未訂閱
若你給有意義的 Default String, 當 Default String 等於 result 時並不等於 User 沒按 OK, 只是他接受了你的預設值。    這時,最好是用 InputQuery ,因為若 User 按 OK InputQuery 會回傳 True 否則會回傳 False    至於數值就由 var 的參數取得。    例 :
procedure TForm1.Button1Click(Sender: TObject);
var value : string //還可以是 widestring, double, integer 等
begin
  Value := Query1.FieldByName('書號').Value; // 預設值,可不設
  if InputQuery('輸入書號', '請輸入書號', Value) then // 按了 OK
    ProcessOrder(Value) // 你的別的 Procedure
  else // 按了 Cancel
    DoSomethingElse; 
end;
對於 double / integer InputQuery 還支援最大最小值甚按▲▼每次跳多少的設定,滿方便的。看看 Help 罷。 開始打post 時還沒看見 Chih 兄的第二般 post 和 wnhoo 兄的 post, 我打字真慢丫,若看見便不用打了 發表人 -
nachi
初階會員


發表:40
回覆:116
積分:31
註冊:2003-02-26

發送簡訊給我
#7 引用回覆 回覆 發表時間:2003-05-16 14:14:50 IP:218.165.xxx.xxx 未訂閱
justmade動作還真快,chih的建議,我看出來並不符我所需,正在思考wnhoo的建議查閱help時,你就出現了....你連我要用在什麼地方都知道,真神... 謝謝你們的指點~上工去囉
Justmade
版主


發表:94
回覆:1934
積分:2030
註冊:2003-03-12

發送簡訊給我
#8 引用回覆 回覆 發表時間:2003-05-16 14:31:37 IP:218.16.xxx.xxx 未訂閱
呵呵,其實若是我先看見 wnhoo 兄的答題我便不會打的,因為重點他已給你你看看 Help 總是做得出來,所以你給分他絕對是對的。    我最近對你(及其他某些人)的答題都特別詳盡,除答題外多說說觀念問題,可能因為之前大家對答愉快罷< > 但最近因打太多打字又慢總是落在人後,看了以後別打這麼多答題就好< > 說笑啦。
系統時間:2024-05-16 20:04:42
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!