——————————————————————————
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
  s:='哈';
  case s of
  '哈':showmessage('哈');
  '哈哈':showmessage('哈哈');
  '哈哈哈':showmessage('哈哈哈');
  else
  showmessage ('Null');
  end;
end;
--------------------------------------------------------
var s:integer;
procedure TForm1.Button1Click(Sender: TObject);
begin
  while s<20 do
  s:=s+1
  end;
    begin
    showmessage (inttostr(s))
    end;
end;
----------------------------------------------------------
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
s:=edit1.text;
  begin
  showmessage (inttostr(s));
  end;
end;
-----------------------------------------------------------]
谢谢帮忙纠正!!!,如果不麻烦就顺便注释下改正错误原因!!麻烦了哈

解决方案 »

  1.   


    procedure CaseTest(Str:String);
    var
      strList: TStringList;
    begin
      strList:=TStringList.Create;
      strList.Add('哈');
      strList.Add('哈哈');
      strList.Add('哈哈哈');
      case strList.IndexOf(Str) of
        0:showmessage('哈');
        1:showmessage('哈哈');
        2:showmessage('哈哈哈');
      else
        showmessage ('Other');
      end;
      strList.Free;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      CaseTest('哈');
    end;
    procedure TForm1.Button2Click(Sender: TObject);
    var
      s:Integer;
    begin
      s:=0;
      while s<20 do
        s:=s+1;
      ShowMessage(IntToStr(s));
    end;procedure TForm1.Button3Click(Sender: TObject);
    var
      s:string;
    begin
      s:=Edit1.Text;
      ShowMessage(s);
    end;
      

  2.   

    第一段:CASE語句的表達式應是有序類型,如整型、字符型、子界型、枚舉類型等。不能是字符串類型。
    第二段:改為:
    procedure TForm1.Button1Click(Sender: TObject);
    var s:integer;
    begin
      while s<20 do
      begin
        s:=s+1;
        showmessage (inttostr(s)); //顯示每次的S值。
      end;
    end;
    第三段就為:
    procedure TForm1.Button1Click(Sender: TObject);
    var s:string;
    begin
      s:=edit1.text;
      showmessage(s); //s已是字符串,不是整型,所以不必再用IntToStr這個整型轉字符串函數。
    end;
      

  3.   

    var s:string;
    begin
      s:='哈';
      case s of
      '哈':showmessage('哈');
      '哈哈':showmessage('哈哈');
      '哈哈哈':showmessage('哈哈哈');
      else
      showmessage ('Null');
      end;
    end;建议这个地方
    你可以修改如下:
    var s:string;
      ssa:integer;
    begin
      s:='哈';
      ssa:=length(s);
     while ssa<=6 do
      begin
       case ss1 of
        '哈':showmessage('哈');
        '哈哈':showmessage('哈哈');
        '哈哈哈':showmessage('哈哈哈');
       else
        showmessage ('Null');
       end;
      ssa:=ssa+1;
     end;
    end;