首先说一下INI文件的格式如下:
[COUNT] #域名
COUNT=2 #变量名=值
[HXUSER]
HXUSER=ht_invest
[HXPWD]
HXPWD=hundsun
[INFO0]
NAME=ht_invest
PASSWD=hundsun
ORA=168.161.30.6
[INFO1]
NAME=ht_invest
PASSWD=hundsun
ORA=168.161.30.2
[INFO2]
NAME=hs_data
PASSWD=dfds
ORA=hs_data
下面如何读写INI配置文件呢?
首先说一下读配置文件:
//加载INI文件数据
procedure Tfoffertool.LoadINIDataToListView();
var
temp :string;
filepath :string;
i, count :Integer;
pListInfo :pInfo;
item :TListItem;
myinifile : TIniFile;
begin
try
filepath := ExtractFilePath(Paramstr(0)) + 'myini.ini'; //获取当前路径+文件名
myinifile := Tinifile.Create(filepath); //创建文件
except
ShowMessage('LOADINI打开配置文件失败');
Exit;
end;
count := myinifile.ReadInteger('COUNT', 'COUNT', 0); //读取INI文件中的COUNT值
lvshow.Clear;
for i := 0 to (count-1) do
begin
item := lvshow.Items.Add;
temp := 'INFO' + IntToStr(i);
new(pListInfo);
pListInfo^.user := myinifile.Readstring(temp, 'NAME', '');
pListInfo^.passwd := myinifile.Readstring(temp, 'PASSWD', '');
pListInfo^.ora := myinifile.Readstring(temp, 'ORA', '');
lvshow.Items[i].Data := pListInfo;
item.SubItems.Add(pListInfo^.user);
{item.SubItems.Add(pListInfo^.passwd);}
item.SubItems.Add(pListInfo^.ora);
item.SubItems.Add('未知');
end;
//读取用户名信息
edthxuser.Text := myinifile.ReadString('HXUSER', 'HXUSER', '');
//读取密码信息
edthxpwd.Text := myinifile.ReadString('HXPWD', 'HXPWD', '');
//读取服务器名
myinifile.Destroy;
end;
说明:在文件读写操作首先要引用头文件:IniFiles;
myinifile : TIniFile; 实例化一个文件流对象
filepath := ExtractFilePath(Paramstr(0)) + 'myini.ini'; //获取当前路径+文件名
myinifile := Tinifile.Create(filepath); //创建文件并打开
从INI文件中读取一个整形数据:
参数1:域名
参数2:变量名
参数3:初始化值
count := myinifile.ReadInteger('COUNT', 'COUNT', 0); //读取INI文件中的COUNT值
参数1:域名
参数2:变量名
参数3:初始化值
edt1.Text := myinifile.ReadString('HXUSER', 'HXUSER', ''); //从INI文件中读取一个字符串
关闭文件:
myinifile.Destroy;
关闭文件:其次说一下写配置文件:
//将listview数据保存到INI文件中
procedure Tfoffertool.SaveListViewDataToINI();
var
temp :string;
filepath :string;
idex :Integer;
pListInfo : pInfo;
myinifile : TIniFile;
begin
try
filepath := ExtractFilePath(Paramstr(0)) + 'myini.ini';
myinifile := Tinifile.Create(filepath);
except
ShowMessage('SAVEINI打开配置文件失败');
Exit;
end;
for idex := 0 to (lvshow.Items.Count-1) do
begin
pListInfo := lvshow.Items[idex].Data;
temp := 'INFO' + IntToStr(idex);
myinifile.WriteString(temp, 'NAME', pListInfo^.user);
myinifile.WriteString(temp, 'PASSWD', pListInfo^.passwd);
myinifile.WriteString(temp, 'ORA', pListInfo^.ora);
end;
myinifile.WriteInteger('COUNT', 'COUNT', idex);
myinifile.WriteString('TABLENAME', 'TABLENAME', edtshtable.Text);
myinifile.WriteString('HXUSER', 'HXUSER', edthxuser.Text);
myinifile.WriteString('HXPWD', 'HXPWD', edthxpwd.Text);
myinifile.Destroy;
end;
说明:
向一个INI文件中写入一个整形数据:
参数1:域名
参数2:变量名
参数3:数值
myinifile.WriteInteger('COUNT', 'COUNT', idex); //向INI文件中写一个整形数据
向一个INI文件中写入一个字符串数据:
参数1:域名
参数2:变量名
参数3:字符串数据
myinifile.WriteString('HXPWD', 'HXPWD', edthxpwd.Text); //向INI文件中写入字符串数据
关闭文件:
myinifile.Destroy;
更详细的讲解Delphi操作读写INI文件连接:http://wenku.baidu.com/link?url=ktXMUwthCYhMpFUSRDJrNQRs0HLZK78-gbUc6MH8UZF-GPVZHId1ZGe2XtYASSthpvU7z_JY8Bik-Z9s4hHe213RPnfm31NW8rnjQXU6b_q&qq-pf-to=pcqq.group