我在学习Delphi时发现了这样一个问题,有哪位大侠知道为何这样?
是我的程序有毛病还是Delphi开发软件的毛病?
程序如下:
{其中只设置了Button1的Default的属性为True}
procedure TForm1.Button1Click(Sender: TObject);
var
S :String[25]; {字符操作,S的最大长度为25}
begin
Button1.Caption := IntToStr(Ord(S[0]));
{length(S),Ord(S[0]),我要求字符串的长度是多少?}
end;
以上程序在运行时期,出现了多个不同的结果:
1).在单击Button1时显示213,而不是字符的长度;
2).在单击回车时,有的时候显示为0,有的时候显示为19或其它的值,谁知道为什么?
软件运行环境:Win2K Professional ,Delphi 7.0
是我的程序有毛病还是Delphi开发软件的毛病?
程序如下:
{其中只设置了Button1的Default的属性为True}
procedure TForm1.Button1Click(Sender: TObject);
var
S :String[25]; {字符操作,S的最大长度为25}
begin
Button1.Caption := IntToStr(Ord(S[0]));
{length(S),Ord(S[0]),我要求字符串的长度是多少?}
end;
以上程序在运行时期,出现了多个不同的结果:
1).在单击Button1时显示213,而不是字符的长度;
2).在单击回车时,有的时候显示为0,有的时候显示为19或其它的值,谁知道为什么?
软件运行环境:Win2K Professional ,Delphi 7.0
procedure TLogoFrm.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action:=Cafree;
end;
这是什么用处?
窗口关闭自动释放, 它自己会Destroy
procedure TForm1.Button1Click(Sender: TObject);
var
S :String[25]; {字符操作,S的最大长度为25}
begin
Button1.Caption := IntToStr(Ord(S[0]))+':'+IntToStr(length(S));
{length(S),Ord(S[0]),我要求字符串的长度是多少?}
end;
那么Button1上显示的将是213:213,或0:0等等,如果想得到正确的值,初始化一下吧,这样:procedure TForm1.Button1Click(Sender: TObject);
var
S :String[25]; {字符操作,S的最大长度为25}
begin
S:='AAA';
Button1.Caption := IntToStr(Ord(S[0]))+':'+IntToStr(length(S));
{length(S),Ord(S[0]),我要求字符串的长度是多少?}
end;
那么你的结果肯定是3:3,错了我请客,嘻嘻
也许你看起来很基础吧,呵呵,何必这么较真呢