一个ini文件放在服务端,某个小节名下面的关键字的数量是变化的,比如今天kk.ini文件如下:
[DownFile]
a=a.txt
b=b.txt
c=c.txt
明天kk.ini文件如下:
[DownFile]
a=a.txt
b=b.txt
c=c.txt
d=d.txt
请问,如何通用地读取到DownFile下面每个关键字的值?因为应用程序无法知道明天ini文件会增加几个文件,
所以必须通用地读取,我觉得用先要得到节点下关键字的数量count,然后for i=0 to count do
循环去读,但是具体不知道怎么做,也不知道count怎么取得。应该不难,请大家帮忙。

解决方案 »

  1.   

    把整个小节读到一个TStringList里去
      

  2.   

    uses IniFiles;procedure TForm1.Button1Click(Sender: TObject);
    var
      vStringList: TStringList;
      I: Integer;
    begin
      vStringList := TStringList.Create;
      with TIniFile.Create('c:\temp\temp.ini') do try
        ReadSectionValues('DownFile', vStringList);
        for I := 0 to vStringList.Count - 1 do
          ShowMessage(vStringList.Names[I] + '|' +
            vStringList.Values[vStringList.Names[I]]);
      finally
        vStringList.Free;
        Free;
      end;
    end;