问题一: 点击按钮的时候怎么能跳出一个对话框,可以选择Y或者N,Y代表继续,N代表取消,有这个对话框的组件吗? 10分!问题二: 点击按钮的时候怎么能跳出一个对话框,可以输入字符串,用来给程序提供数据。10分问题三: 怎么删除字符串里的特殊字符。如下面那个'• ',或者把他变成'-', 因为这个'• '在我最终生成的文件里总是乱码,我必须把他替换成常用字符。最好能提供一段示例代码。 30分• We provide a one-year contract
• 5-day week workweek 
问题四:怎么弄个简单的进度条出来?我程序里有个循环,执行的时间比较久。大概循环200次,我希望有个进度条长的如下:i/200, 而I总是根据循环的执行而增加,这样用户可以清楚的看到还有多久才能执行完。50分。
先来先得,大家快点帮帮忙哦。先谢谢了。

解决方案 »

  1.   

    第一个: 
    IF Messagedlg('吃饭了吗?',mtConfirmation,[mbyes,mbno],0) = mryes THEN
    吃了 else 还没第二个,可以用FORM来做       
      

  2.   

    给个进度条例子你procedure   TForm1.Button1Click(Sender:   TObject);   
      var   i:integer;   
      begin   
          ProgressBar1.Min:=0;     ProgressBar1.Max:=100;   
          for   i:=1   to   100   do   
              begin   
                  ProgressBar1.Position:=i;   
                  Application.ProcessMessages;   
                  sleep(10);   
            end;   
      end;
      

  3.   

    1.可以使用api.
    if MessageBox(Handle,'Yes or No',nil,MB_YESNO) = idYes then2.可以使用delphi自带的Dialogs单元中的InputQuery()或InputBox()3.要看字符串的规律,可以考虑Pos()这个函数,delphi中的字符串可当成数组直接操作.具体代码自已考虑吧.4.楼上兄弟有例子.
      

  4.   

    dinoalex,请给段用-替换?的代码,自己写不出来。不好意思
      

  5.   

    昍esume; 
    旵opy 
    旵opies 
    旵opies 
    ?recent photo • 变的乱七八糟的,各种样子都有可能。以上五条都是被•搞成的乱码's我这里读出来就有问题,是用idhttp.getstr(url)读的
      

  6.   

    s我这里读出来就有问题,是用idhttp.getstr(url)读的
    设置一下字体转换看看还有乱码吗 
    utf8toansi(idhttp1.Get('http://www.588588.com/products/zznc/dir.html'));
      

  7.   

    两个我都试了utf8toansi(idhttp1.Get('http://www.588588.com/products/zznc/dir.html')); utf8todecode(idhttp1.Get('http://www.588588.com/products/zznc/dir.html')); 用了之后什么都读不到,不但乱码没有了,正常的字符也没有了,估计是执行中出错了。我看网页的时候这些特殊字符显示都正常,但右键看html源代码的时候已经不正常了.
      

  8.   

    问题三,字符串定义成widestring试试
      

  9.   

    源字符串 := StrReplace('源字符串','要替换的字符','替换的字符')
      

  10.   

    widestring  是不是可以当string一样处理?另外谁有utf8tounicode的方法?strReplace是可以直接调用吗
      

  11.   

    1.Application.MessageBox('Hello,world!', '提示', MB_YESNO + MB_ICONINFORMATION +
        MB_DEFBUTTON2);
    2.sResult := InputBox('输入对话框','请输入:','默认值')
    3.
      s:= 'abc•def•ghi';
      s :=StringReplace(s,'•','-',[rfReplaceAll, rfIgnoreCase]);4.先在Form上增加一个ProgressBar1,然后:
        ProgressBar1.Max := 200;
        ProgressBar1.Min := 1;
        ProgressBar1.Show;
        for i:=1 to 200 do
        begin
          ProgressBar1.Position := i;
          Sleep(10);
        end;
      

  12.   


    procedure TForm1.Button1Click(Sender: TObject);
    var
      sTmp: string;
    begin
      sTmp := InputBox('Caption here', 'Please input here:', 'default');
      ShowMessage(sTmp);
    end;
      

  13.   

    乱码的处理问题还是未解。To summitly0 
     s:= 'abc•def•ghi'; 
     s :=StringReplace(s,'•','-',[rfReplaceAll, rfIgnoreCase]); 我在读到•的时候他已经变成乱码?,所以replace不行,可能会替换掉正常的?
    希望有方法能保证我读到的时候还是•还不是乱码?我读取网页的代码如下str := idHTTP.get(url);
      

  14.   

    对于乱码处理,我最终用了如下方案,我在网上找了很多方法都无效,下面这个算是最好的了,能把产生乱码的字符去掉,至少满足了我现在的需要。列出来给后来人参考。
    var 
      IframeUrl: string; 
      ret:WideString;//TStringStream; 
      SourceHtmlCode: WideString; 
    begin 
      IframeUrl := 'http://ctplp.blog15.fc2.com/blog-entry-33.html';//这个网站是EUC-JS编码 
      //IframeUrl := 'http://www.nhk.or.jp/furusato/koremade/koremade_ibaraki.html';//这个网站是SHIFT-JS编码   IdHTTP.HandleRedirects:=true; 
      IdHTTP.Request.ContentType:= 'application/x-www-form-urlencoded'; 
      IdHTTP.Request.UserAgent:= 'Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; .NET CLR 1.1.4322)'; 
      IdHTTP.Request.SetHeaders; 
      try 
        SourceHtmlCode := StringToWideString(IdHTTP.Get(IframeUrl),65001);//日文EUC編碼是51932  日文(Shift-JIS)是932 unicode是65001
        Memo1.Lines.Text := SourceHtmlCode; 
      except 
        ShowMessage('未找到HTTP服务器'); 
      end; 
    end; function StringToWideString(const S: string; CodePage: Word): WideString; 
    var 
        InputLength, OutputLength: Integer; 
    begin 
        InputLength := Length(S); 
        OutputLength := MultiByteToWideChar(CodePage, 0, PChar(S), InputLength, nil, 0); 
        SetLength(Result, OutputLength); 
        MultiByteToWideChar(CodePage, 0, PChar(S), InputLength, PWideChar(Result), OutputLength); 
    end; 
      

  15.   

    结贴,多谢各位的帮忙。另外多谢 dinoalex ,非常热心的一个人。很好的社区