[Setup]
Address=192.168.0.1
Address=192.168.0.2
Port=8889
如何分别读出两个Address的内容?不要管这样两个Address存在的合理性。

解决方案 »

  1.   

    INI文件的项目就像一个表的主键,没有主键的表,它本身就不算表。
      

  2.   

    Address=192.168.0.1|192.168.0.2|...(用分隔符不可以吗?)
    Port=8889
      

  3.   

    procedure TForm1.readValue;
    var
    configini:TiniFile;
    temstr:TStringList;
    i:integer;
    begin
     try 
       tempstr:=TStringList.Create;
      ConfigIni:=TiniFile.Create('FileName.ini');
     ConfigIni.ReadSetionValues('Setup',TempStr);
     
    for i:=0 to TempStr.Count-1 do
      Begin
       //读出Address的内容
       if Pos('Address',TempStr.Strings[i])<>0 Then
         ShowMessage(Copy(TempStr.Strings[i],Pos('=',TempStr.Strings[i])+1,MaxInt))   End;end;
      

  4.   

    呵,语法错误:  再加上:
      
    Finally
      ConfigIni.Destory;
      TempStr.Destory;
    End;
      

  5.   

    不要这样定义INI文件,本来就是键与值的关系统,现在变成了有相同的键值了,怎么行呢?
    建议:
    [Setup]
    Address_Count = 2   //定义地址的个数
    Address_1=192.168.0.1 
    Address_2=192.168.0.2
    Port=8889
    写程序时只要先读出 Address_Count的值,然后根据这个值,用个For循环读入各Address值即可