如何读取ini文件

fstao 2011-03-02 01:09:50
我有一个ini文件,cy.ini,cy.ini文件显示:
[Cy]
DetailServer=192.168.18.143
AccountName=cy302n中心服务器
CurrentlyDatabase=cy302n001

我想delphi 2007读取cy.ini文件里的:DetailServer、AccountName、CurrentlyDatabase,这三个数据,请问如何写代码?
...全文
95 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
y_zp2010 2011-03-02
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 kye_jufei 的回复:]

Delphi(Pascal) code
filecreate('路径加文件名');//创建一个文件。

读写ini文件:
先在 uses 定义 Inifiles, 在 var 定义 myinifile:Tinifile;

实现部分写代码:
myinifile:=Tinifile.create('d:\1.ini');//打开D盘的 1.ini 文件。
myinifile.reads……
[/Quote]
正解
kye_jufei 2011-03-02
  • 打赏
  • 举报
回复
example:


dbsetting.ini中内容如下:
[db]
dbserver=192.168.0.100
dbname=DB_NAME
user=test
password=test

delphi中读取INI中的配置,拼接成ConnectionString
ADOStoredProc1.ConnectionString:='Provider=SQLOLEDB.1;Password='+
Decode(Inifile.ReadString('DB','password',''))+
';Persist Security Info=True;User ID='+
Inifile.ReadString('DB','User','')+
';Initial Catalog=Inifile.ReadString('DB','dbname','');Data Source='+
Inifile.ReadString('DB','DBServer','');
kye_jufei 2011-03-02
  • 打赏
  • 举报
回复
filecreate('路径加文件名');//创建一个文件。 

读写ini文件:
先在 uses 定义 Inifiles, 在 var 定义 myinifile:Tinifile;

实现部分写代码:
myinifile:=Tinifile.create('d:\1.ini');//打开D盘的 1.ini 文件。
myinifile.readstring('小节名','关键字','缺省值');//读取字符型数据。
myinifile.redainteger('小节名','关键字','缺省值');//读取整数型数据。
myinifile.readbool('小节名','关键字','缺省值');//读取逻辑型数据。

写入INI文件:
myinifile.writestring('小节名','关键字',变量或字符串值);//写入字符型数据。
myinifile.writeinteger('小节名','关键字','变量或整型数值);//写入整数型数据。
myinifile.writebool('小节名','关键字',变量或TRUE或FALSE);//写入逻辑型数

myinifile.Free;//释放INI文件。
ok1411 2011-03-02
  • 打赏
  • 举报
回复
回楼上,就是动态的了
最后个参数是默认值,只有'cy','DetailServer'这个节点不存在才起作用
fstao 2011-03-02
  • 打赏
  • 举报
回复
就是说在cy.ini里,如果
[Cy]
DetailServer=192.168.18.143

就取出“192.168.18.143”

如果
[Cy]
DetailServer=192.168.1.2

就取出“192.168.1.2”

用这样的语句来取是不行的,不是动态的:
var
F:TIniFile;
ipaddress:string;

begin
F := TIniFile.Create('c:\cy.ini');
ipaddress:= F.ReadString('cy','DetailServer','192.168.18.143');
end;
fstao 2011-03-02
  • 打赏
  • 举报
回复
语句是这样写的:
var
F:TIniFile;
ipaddress:string;

begin
F := TIniFile.Create('c:\cy.ini');
ipaddress:= F.ReadString('cy','DetailServer','192.168.18.143');
end;

如果这样写的话,这个“192.168.18.143”是要固定的,但是cy.ini里的:
[Cy]
DetailServer=192.168.18.143

其中“DetailServer”可能是“192.168.18.143”,也可能是“192.168.1.2”,是动态值,这个怎么写代码来取这个值?

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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