当时老师给的笔记是:write compurmentresfile('xxx.res',form1);
为什么我写了提示这句错误,
麻烦大家帮我改改。
网络上找不到这句的类似句啊
谢谢拉
保存是可以了,不过在打开form的时候判断.res是否需要读入的时候出错了。
程序如下:
在formcrate中的:
if FileExists('carku.res') then
begin
for j:=self.ComponentCount-1 downto 0 do //152
self.Components[j].Free;
readcomponentresfile('carku.res',MainForm);
for j:=0 to MainForm.ComponentCount-1 do //155
if MainForm.Components[j] is TPan then
a[strtoint(TPan(MainForm.Components[j]).Caption)]:=TPan(MainForm.Components[j]);
end;
其中TPan是我自定义的一个panel,是用TPANEL做的。
错误提示是:
[Warning] Unit1.pas(152): For loop control variable must be simple local variable
[Warning] Unit1.pas(155): For loop control variable must be simple local variable
[upload]=bmpUploadFile/2007-4/200741310212010735.bmp[/upload]
大家再帮帮忙,谢谢
谢谢帮忙先。
楼上说的具体情况是……?
我把程序具体贴出来吧,先是在退出的button中:
procedure TMainForm.Button1Click(Sender: TObject);
begin
writecomponentresfile('carku.res',MainForm);
close;
end;
然后再formcrate中:
procedure TMainForm.FormCreate(Sender: TObject);
var j,k:integer;
begin
//判断是否已存在设置的车库.res文件
if FileExists('carku.res') then
begin
for j:=self.ComponentCount-1 downto 0 do begin self.Components[j].Free; end;
readcomponentresfile('carku.res',MainForm);
for k:=0 to MainForm.ComponentCount-1 do begin
if MainForm.Components[k] is TPan then a[strtoint(TPan(MainForm.Components[k]).Caption)]:=TPan(MainForm.Components[k]);
end;
end;
end;
还有在panelmousedown中:
procedure TMainForm.Panel1MouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
begin
if t=true then
begin
i:=i+1;
a[i]:=tPan.Create(self);
a[i].Parent:=self;
a[i].Enabled:=true;
a[i].Visible:=true;
a[i].Left:=x+450;
a[i].Top :=y;
a[i].Width:=25;
a[i].Color:=clGreen;
a[i].Caption:=inttostr(i);
a[i].OnMouseDown:= PanelMouseDown;
a[i].OnMouseMove:= PanelMouseMove;
a[i].OnMouseUp:= PanelMouseUp;
label1.Caption:=inttostr(i);
edit1.Text:=inttostr(i);
end;
end;