今天学习了ini文件的使用,按书上做的,创建了个ini文件:mytest.ini
该ini文件的结构如下:
[参数配置]
appname=dgfsd;
appyear=1983-03-15;
appbeta=true;在form1上放了两个edit,(edt_name,edt_year,),放了个checkedbox--cb_cs,声明了个全局变量:mytest,
关键代码如下:
procedure TForm1.FormCreate(Sender: TObject);
var
pathname:string;
begin
pathname:=extractfilepath(application.Name)+'mytest.ini';
if not fileexists(pathname) then
raise exception.Create('mytestini文件不存在');
mytest:=tinifile.Create(pathname);
edt_name.Text:=mytest.ReadString('参数配置','appname','sghd');
edt_year.Text:=mytest.ReadString('参数配置','appyear','1999-9-5');
cb_cs.checked:=mytest.readbool('参数配置','appbeta',true);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
mytest.WriteString('参数配置','appname',edt_name.Text);
mytest.WriteString('参数配置','appyear',edt_year.Text);
mytest.WriteBool('参数配置','appbeta',cb_cs.Checked);
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
mytest.Free;
end;
程序可以编译,可是窗体出来的时候,edit,和checkbox的值都没有显示ini文件的内容,
单击button1的时候修改的值也没有写进ini文件,晕,真不知道为什么哦,
请各位高手指教!!
该ini文件的结构如下:
[参数配置]
appname=dgfsd;
appyear=1983-03-15;
appbeta=true;在form1上放了两个edit,(edt_name,edt_year,),放了个checkedbox--cb_cs,声明了个全局变量:mytest,
关键代码如下:
procedure TForm1.FormCreate(Sender: TObject);
var
pathname:string;
begin
pathname:=extractfilepath(application.Name)+'mytest.ini';
if not fileexists(pathname) then
raise exception.Create('mytestini文件不存在');
mytest:=tinifile.Create(pathname);
edt_name.Text:=mytest.ReadString('参数配置','appname','sghd');
edt_year.Text:=mytest.ReadString('参数配置','appyear','1999-9-5');
cb_cs.checked:=mytest.readbool('参数配置','appbeta',true);
end;procedure TForm1.Button1Click(Sender: TObject);
begin
mytest.WriteString('参数配置','appname',edt_name.Text);
mytest.WriteString('参数配置','appyear',edt_year.Text);
mytest.WriteBool('参数配置','appbeta',cb_cs.Checked);
end;procedure TForm1.FormDestroy(Sender: TObject);
begin
mytest.Free;
end;
程序可以编译,可是窗体出来的时候,edit,和checkbox的值都没有显示ini文件的内容,
单击button1的时候修改的值也没有写进ini文件,晕,真不知道为什么哦,
请各位高手指教!!
解决方案 »
- 求助Delphi高手!一个select语句不知道错在那?
- 哪位在D7里安装过Ehlib3.4?
- 求控件:Richedit3.0 好象是北京新思维公司的,我以前有,现在没了!
- 那里有仪表一类的控件下载?
- 高分求教,怎样在程序运行时,不显示窗体。急急急
- 关于form,保证给分,谢谢大家,在线等候
- 哪位朋友能提供几个delphi 好的站点
- 关于delphi6.0(分布式开发)的四个问题~~~ 技术求助!!!
- 这次我不给分了, 给了分也没有人知道, 那么怪的问题居然存在, 居然只有我碰的上?
- 如何监测串口数据?
- 如何将delphi中的字符串转换为16进制的字符串
- 我想定一份关于编程的杂志,应该选什么杂志?
iniF:TIniFile;
iniF := TIniFile.Create(ExtractFilePath(Application.ExeName)+'configure.ini');
你好, 程序中ini变量mytest我是申明为tinifile类型的啊,程序也可以编译,真是不知道怎么回事!
pathname:=extractfilepath(application.exeName)+'mytest.ini';才对你把pathname的内容打印出来就看出来了
pathname:=extractfilepath(application.Name)+'mytest.ini';
改为
pathname:=extractfilepath(application.exeName)+'mytest.ini';即可。
你好,我按你说的把application.name改为 application.exename试了下,果然程序可以运行了,:)
谢谢你啊!!
那我想问下,application.name和application.exename这两个allpication的属性有什么区别呢?
我在大富翁论坛发了个同样的帖子,有人说程序改成这样也行
path:=Extractfilepath(paramstr(0))+'myini'
那paramstr(0)是什么意思呢?