我在窗体创建的时候用Edit读了ini 一条纪录,窗体运行时没有问题,这时,我不进行任何操作,直接点击确定(就是将Edit中的纪录再次写回去)就报错,真是晕了,什么问题啊,个位高手指点啊。
谢谢
谢谢
解决方案 »
- 中国这么多牛人就不信搞不定这问题【Delphi中如何通过封装flash控件使背景透明和实现使用流播放(搞定就给分)】
- Delphi 2006-06专家榜
- 急! fastReport 报表生成后,双击两下,就可以对fastReport所产生的报表进行修改,为什么我做的就不行!?
- pascal 的转义字符怎么写?
- 一个有关delphi中treeview控件的使用,急用,请高手帮忙!!!!
- 这个问题真的很难吗??
- 如何实现全屏或者任意大小播放?高手来!
- 有关delphi中数据库问题2个(修改数据库里的值,与获得数据的值)
- 程序在别人电脑运行出错误!
- 怎么在panel上打开word 文档
- 一个unit问题!
- 此dll函数在vb中如何调用?
没看到代码,只能估计
这句就是窗体创建时的 WriteINI(IniFileName,'用户名','用户名',Edit1.Text);
这句就是点击确定后的
我用的是动态连接库,没有自己建立ini文件,不知道是不是我用的方式不对,请高手指导,就这两句没有别的除了声明以外
...procedure TForm1.Button1Click(Sender: TObject);
var
INI : TiniFile;
Fname, Str : String;
begin
Fname := ExtractFilePath(application.ExeName)+'setup.ini' ;
INI := TINIfile.Create(Fname); //创建TINIfile实例,以读写位于程序目录下的setup.ini
INI.WriteString('小节名','关键字','字串值');//向setup.ini写入或修改一个关键字
Str := INI.ReadString('小节名','字段值','默认值');//因为INI还没有free掉,所以...见下面注释
ShowMessage(Str);
INI.Free;//及时释放你创建的INI实例
end;{ 注:上边的代码里,因为你对INI的关键字的创建和修改动作,还没有真正写到磁盘文件里去,所以,立即进行读的操作,只能读出默认值。这是由于windows文件管理使用缓冲机制造成的。在windows里,对一个文件的操作,要在关闭这个文件之后才能生效。如:用rewrite写一个txt文件,再如,直接用assign打开打印机,操作都要在closefile之后才能生效。而对于TINIfile类来说,相应的操作就是free
所以,用上面的代码写入关键字值后,再用下面的代码读出,就没问题了 }procedure TForm1.Button2Click(Sender: TObject);
var
INI : TiniFile;
Fname, Str : String;
begin
Fname := ExtractFilePath(application.ExeName)+'setup.ini' ;
INI := TINIfile.Create(Fname);
Str := INI.ReadString('小节名','关键字','默认值');
showmessage(Str);
INI.Free;
end;用TINIfile类操作INI文件,与用Tregistry类操作注册表,基本是一样的。只能说这些了。