我有一个ini文件,cy.ini,cy.ini文件显示:
[Cy]
DetailServer=192.168.18.143
AccountName=cy302n中心服务器
CurrentlyDatabase=cy302n001我想delphi 2007读取cy.ini文件里的:DetailServer、AccountName、CurrentlyDatabase,这三个数据,请问如何写代码?

解决方案 »

  1.   

    http://blog.csdn.net/bdmh/archive/2009/05/04/4147104.aspx
      

  2.   

    语句是这样写的:
    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”,是动态值,这个怎么写代码来取这个值?
      

  3.   

    就是说在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;   
      

  4.   

    回楼上,就是动态的了
    最后个参数是默认值,只有'cy','DetailServer'这个节点不存在才起作用
      

  5.   

    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文件。
      

  6.   

    example:
    dbsetting.ini中内容如下:
    [db]
    dbserver=192.168.0.100
    dbname=DB_NAME
    user=test
    password=testdelphi中读取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','');