procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i:integer;
  j:string;
begin
i:=i+1;
j:=inttostr(i);
form1.Caption:=j;
end;
为什么一点击caption上显示的是:14109429?????
请高手指点!

解决方案 »

  1.   

    因为i在使用之前没有初始化。如果你希望出现“1”的话,应该这么写:
    procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      i:integer;
      j:string;
    begin
    i:=0;
    i:=i+1;
    j:=inttostr(i);
    form1.Caption:=j;
    end;
      

  2.   

    var
      i:integer;
      j:string;
    begin
      i := 0;
      i:=i+1;
      j:=inttostr(i);
      form1.Caption:=j;
    end
      

  3.   

    如果我需要每次点击一下caption的值就在原来的基础上加1,怎么办??
      

  4.   

    如果我需要每次点击一下caption的值就在原来的基础上加1,怎么办??
    ---------
    用一个全局变量
    在FormCreate或者FormShow的时候初始化为0
      

  5.   

    如果我需要每次点击一下caption的值就在原来的基础上加1procedure TForm1.BitBtn1Click(Sender: TObject);
    var
      i:integer;
      j:string;
    begin
    i:=StrToIntDef(form1.Caption,0);
    i:=i+1;
    j:=inttostr(i);
    form1.Caption:=j;
    end;
      

  6.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, OleServer, Excel2000, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        procedure Button1Click(Sender: TObject);
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
        i:integer;
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      j : string;
    begin
      inc(i);
      j := inttostr(i);
      form1.Caption := j;
    end;procedure TForm1.FormCreate(Sender: TObject);
    begin
      i := 0;
    end;end.