| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1878 人关注过本帖
标题:保存为.res文件
取消只看楼主 加入收藏
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
收藏
 问题点数:0 回复次数:6 
保存为.res文件
要保存为.res文件,
当时老师给的笔记是:write compurmentresfile('xxx.res',form1);
为什么我写了提示这句错误,
麻烦大家帮我改改。
网络上找不到这句的类似句啊

谢谢拉
搜索更多相关主题的帖子: res文件 网络 保存 write 笔记 
2007-04-12 11:55
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
收藏
得分:0 
谢谢先

我是要把这个语句写在一个button里面,单击就可以保存为.res的文件。
write语句没有写错吗?

2007-04-12 14:21
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
收藏
得分:0 
呵呵,是错了。
应该是writecomponentresfile('**.res',form1);
问题解决了
谢谢大家

2007-04-13 10:13
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
收藏
得分:0 

保存是可以了,不过在打开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]
大家再帮帮忙,谢谢



Sv8RggLA.bmp (372.43 KB)
图片附件: 游客没有浏览图片的权限,请 登录注册

2007-04-13 10:24
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
收藏
得分:0 

谢谢楼上的help.
运行是没有错误了,
但是当我保存了现有的MainForm为.res以后,再次运行程序的时候会出现

图片附件: 游客没有浏览图片的权限,请 登录注册

这个错误的,
其中TPan是我自定义的控件,TPanel改的.
再帮我看看问题吧.谢谢

2007-04-16 09:59
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
收藏
得分:0 

谢谢帮忙先。
楼上说的具体情况是……?
我把程序具体贴出来吧,先是在退出的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;

图片附件: 游客没有浏览图片的权限,请 登录注册

如图中大的PANEL是原本DELPHI自带的TPANEL,小的绿色的PANEL是我自定义的TPAN。
保存那段保存,就是希望可以把这些TPAN位置什么的都保存下来,下次重新启动应用程序的时候可以出现上次设置时候的布局。


2007-04-17 15:30
aaron52088
Rank: 1
等 级:新手上路
帖 子:130
专家分:0
注 册:2007-1-24
收藏
得分:0 
问题解决了,程序都没有出错。
错误是由于我运行时,FORM中并没有TPAN这个PAN模块,
它是通过单击产生的。
只要拖一个TPAN到FORM中然后再设置为不可见的,就不会出现这个问题了。
谢谢大家,如果大家以后也遇到相应的错误就可以照做试试看咯

2007-04-21 20:11
快速回复:保存为.res文件
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.021432 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved