关于读写INI文件????

kek 2000-08-21 09:46:00
先是保存到ini.ini文件
begin
myini:= tinifile.Create('c:\ini.ini');
myini.WriteString('main','aa',edit1.text);//(查看ini.ini文件:[main]aa=''内容正确)
再是读ini.ini文件:
myini:= tinifile.Create('c:\ini.ini');
edit1.text:=flatedit1.text:=myini.ReadString('main','aa','');
//则不能读出aa的值,edit1.text显示空白,不是''
...全文
349 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
steps 2001-07-09
  • 打赏
  • 举报
回复
edit.text := myini.ReadString('main','aa','');
if edit.Text = '' then edit.Text := '''''';
flatedit1.text := edit1.Text;
kiss2 2001-07-09
  • 打赏
  • 举报
回复
to steps(壮丁):

edit1.text:=myini.ReadString('main','aa','''''');

我试过没有用!!!
Kingron 2001-07-09
  • 打赏
  • 举报
回复
问题的关键在于,写入Ini的时候,你必须查找要写入的字符串中的',然后用''来代替,这样就可以了:
var
ini:tinifile;
begin
ini:=Tinifile.Create('c:\ini.ini');
ini.WriteString('main','ID',edit1.text);//Edit1.Text=[''edit1'']
showmessage(ini.readstring('main','id',''));
end;

这样将显示['edit1']
这是因为Delphi的字符串使用'来分隔,所以必须用''来表示一个'造成的。
不知道你明白了没有?
steps 2001-07-08
  • 打赏
  • 举报
回复
清楚的问题呵,怎么会?
''就是空字符
如果要edit1显示''
那要这样
myini:= tinifile.Create('c:\ini.ini');
edit1.text:=myini.ReadString('main','aa','''''');
flatedit1.text:=edit1.Text;
oldhawk 2001-07-08
  • 打赏
  • 举报
回复
这是TEDIT的问题,不是INI的问题
kek 2001-07-08
  • 打赏
  • 举报
回复

我的意思是要将''作为字符保存
kek 2001-07-08
  • 打赏
  • 举报
回复


各位误解了!我是说不能读出''字符,而能写入''字符


williamf 2001-07-08
  • 打赏
  • 举报
回复
同意steps.
steps 2001-07-08
  • 打赏
  • 举报
回复

myini:= tinifile.Create('c:\ini.ini');
myini.WriteString('main','aa',edit1.text);
//(查看ini.ini文件:[main]aa=''内容正确)
读myini:= tinifile.Create('c:\ini.ini');
edit1.text:=myini.ReadString('main','aa','');
flatedit1.text:=edit1.Text;
kek 2001-07-08
  • 打赏
  • 举报
回复
up
kek 2001-07-08
  • 打赏
  • 举报
回复

^
SimonDW 2000-09-19
  • 打赏
  • 举报
回复
READSTRING
第三个PARAM是当读写错误时返回的标志性字串,flyby是错的。
这个PARAM可用空字串。
edit1.text:=flatedit1.text:=myini.ReadString('main','aa','');
这个语法对吗?DELPHI不是C啊。
把赋值分开试试。

lormee 2000-09-18
  • 打赏
  • 举报
回复
关注
Putao 2000-09-18
  • 打赏
  • 举报
回复
关注
flyby 2000-09-04
  • 打赏
  • 举报
回复
声明一个字符串变量str,然后将你的第三个变量''该为str:
edit1.text:=flatedit1.text:=myini.ReadString('main','aa',str);
可以了吧!加分!!!
你默认的他是''的,他就给你显示是空的,
现在让他默认是一个字符串,它就是一个字符串了!很听话的!
wu_yongcai 2000-08-22
  • 打赏
  • 举报
回复
把' '改为'' ''." "改为"" ""即可
wu_yongcai 2000-08-21
  • 打赏
  • 举报
回复
我试了你的程序,可以正确的读出main中aa的值,是不是其他方面的原因?
另外,你可利用ReadString的最后一个参数来判断是否取得了正确的值。
Nicrosoft 2000-08-21
  • 打赏
  • 举报
回复
'' = blank
tchaikov 2000-08-21
  • 打赏
  • 举报
回复
在有''时,delphi 会去掉,可以改为''''写入即可
keboy 2000-08-21
  • 打赏
  • 举报
回复
最后一个参数是返回缺省值,你随便加一个,看看能否返回缺省值再说?
加载更多回复(1)

5,388

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧