如何判断inputbox是点击的ok还是cancel?
DefPort:=inputbox('输入数字,'请输入数字',inttostr(defport));
//如何判断用户点击的是ok还是cancel?

解决方案 »

  1.   

    看一下在线帮助,function InputBox(const ACaption, APrompt, ADefault: string): string;
    第三个参数,是默认值,即用户点cancel后,即返回ADefault; If the application needs to know whether the user chooses OK or Cancel, use the InputQuery function instead.demo:  NewString := 'Default String';
      Label1.Caption := NewString;
      ClickedOK := InputQuery('Input Box', 'Prompt', NewString);
      if ClickedOK then            { NewString contains new input string }
        Label1.Caption := 'The new string is ''' + NewString + '''';
      

  2.   

    //unit Dialogs
    function InputBox(const ACaption, APrompt, ADefault: string): string;
    begin
      Result := ADefault;
      InputQuery(ACaption, APrompt, Result);
    end;//改写后
    function MyInputBox(const ACaption, APrompt:string; ADefault:string; var AResult:string):Boolean;
    begin
      Result:=False;
      IF InputQuery(ACaption, APrompt, ADefault) THEN BEGIN
        AResult:=ADefault;
        Result:=True;
      END;
    end;IF MyInputBox('输入数字', '请输入数字', inttostr(defport), aPort) THEN ...
      

  3.   

    inputquery():boolean;
    不如查查帮助中关于这个函数的介绍吧.
      

  4.   

    定义一个BOOLEAN类型,clickedok:boolean
    clickedok := InputQuery('', '', inputstr);
    if clickedok then
    begin
      //按下了ok所要执行的操作
    endl;
      

  5.   

    IF InputQuery(ACaption, APrompt, ADefault) THEN BEGIN
    这个比较好,不需要定义BOOLEAN类型变量。