请高手看看这段代码_ini文件读取问题 (50分)

  • 主题发起人 主题发起人 kntrue
  • 开始时间 开始时间
K

kntrue

Unregistered / Unconfirmed
GUEST, unregistred user!
dbConfig.ini 与单元文件一个目录,delphi6.0
--内容:
[UserInfo]
UserName=kntrue
UserPwd=123456

代码:
implementation
uses iniFiles;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
iniFile :TIniFile;
userName :string;
userPwd :string;
begin
if not fileExists('dbConfig.ini') then
begin
application.MessageBox('缺少配置文件,请于管理员联系!','提示',mb_ok);
exit;
end;
iniFile :=TiniFile.create('dbConfig.ini');

userName :=iniFile.readString('UserInfo','UserName','error1');
userPwd :=iniFile.readString('UserInfo','UserPwd','error2');

edit1.Text :=userName;
edit2.Text :=userPwd;
iniFile.free;
end;

问题:两个文本框中得到的是error1,error2,请执教错误在那里????
谢谢
 
iniFile :=TiniFile.create('dbConfig.ini');//最好指定路径

userName :=iniFile.readString('UserInfo','UserName','error1');
//error1是默认值啦,如果不存在username读出的结果就是error1,
//你可以打开dbconfig.ini看一下拉,以下同理
userPwd :=iniFile.readString('UserInfo','UserPwd','error2');

 
我看也是路径的问题,实际可能就没有打开你的ini文件
《iniFile :=TiniFile.create('dbConfig.ini'); 》
 
to 王公子,各路径没有关系,因为没有提示没找到文件的对话框。
我知道error1是默认值,当
Section does not exist.
Key does not exist.
Data value for the key is not assigned.时返回他
我用listBox试了一下好像没有得到Section和Key
请高手们解释,多谢
 
你这样生成的dbConfig.ini在你的系统目录下,必须指定程序所在的目录,不指定就是系统目录,而不是当前目录
dbConfig.ini 与单元文件一个目录,delphi6.0
--内容:
[UserInfo]
UserName=kntrue
UserPwd=123456

代码:
implementation
uses iniFiles;
{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
var
iniFile :TIniFile;
userName :string;
userPwd :string;
begin
if not fileExists([red]ExtractFilePath(Application.ExeName)[/red]+'dbConfig.ini') then
begin
application.MessageBox('缺少配置文件,请于管理员联系!','提示',mb_ok);
exit;
end;
iniFile :=TiniFile.create([red]ExtractFilePath(Application.ExeName)[/red]+'dbConfig.ini');

userName :=iniFile.readString('UserInfo','UserName','error1');
userPwd :=iniFile.readString('UserInfo','UserPwd','error2');

edit1.Text :=userName;
edit2.Text :=userPwd;
iniFile.free;
end;

 
感谢诸公,确实是路径问题
to qianwt "你这样生成的dbConfig.ini在你的系统目录下,必须指定程序所在的目录,不指定就是系统目录
,而不是当前目录"
我是先写的ini文件呀,为什么会在系统目录下,请解释。
---弄清问题我马上散分。
 
TiniFile.create
在没有INI文件时会自动建立的,
你打开的那个INI是不是一个后来建立的空INI文呢?
 
>>>>>iniFile :=TiniFile.create('dbConfig.ini');
你上面程序创建dbConfig.ini文件,就在系统目录中,虽然你自己手工建了一个,
但系统也生成了一个呀
 
用绝对路径不会有任何问题!!!!!!!!
procedure TForm1.Button4Click(Sender: TObject);
var
iniFile :TIniFile;
userName :string;
userPwd :string;
begin
if not fileExists('d:/dbConfig.ini') then
begin
application.MessageBox('缺少配置文件,请于管理员联系!','提示',mb_ok);
exit;
end;
iniFile :=TiniFile.create('d:/dbConfig.ini');

userName :=iniFile.readString('UserInfo','UserName','error1');
userPwd :=iniFile.readString('UserInfo','UserPwd','error2');

edit1.Text :=userName;
edit2.Text :=userPwd;
iniFile.free;
end;
 
呵呵,我查了create的帮助,我明白了多谢诸位,马上散分!!
 
我试过了
路径的问题
 
不会把散不成分??、
 
后退
顶部