初学delphi
procedure TForm1.BitBtn1Click(Sender: TObject);
var
i:integer;
j:string;
begin
i:=i+1;
j:=inttostr(i);
form1.Caption:=j;
end;
为什么一点击caption上显示的是:14109429?????
请高手指点!
问题点数:20、回复次数:6Top
1 楼firstshine(黑里透红)回复于 2005-06-14 10:51:17 得分 6
因为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;
Top
2 楼paranoia190(190)回复于 2005-06-14 10:52:31 得分 5
var
i:integer;
j:string;
begin
i := 0;
i:=i+1;
j:=inttostr(i);
form1.Caption:=j;
endTop
3 楼qxh0724(623827)回复于 2005-06-14 10:54:47 得分 0
如果我需要每次点击一下caption的值就在原来的基础上加1,怎么办??Top
4 楼Kshape(C/C++初学者~~~~)回复于 2005-06-14 10:56:08 得分 2
如果我需要每次点击一下caption的值就在原来的基础上加1,怎么办??
---------
用一个全局变量
在FormCreate或者FormShow的时候初始化为0Top
5 楼firstshine(黑里透红)回复于 2005-06-14 10:56:19 得分 2
如果我需要每次点击一下caption的值就在原来的基础上加1
procedure 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;
Top
6 楼paranoia190(190)回复于 2005-06-14 11:00:29 得分 5
unit Unit1;
interface
uses
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.
Top




