比如INI文件中内容为:
[成绩]
语文=90
数学=80
英语=90
政治=87把四门成绩进行循环读到一个数据库里.
应如何做?

解决方案 »

  1.   

    循环指什么意思?yuwen:=ReadString('成绩','语文','');
    shuxue:=ReadString('成绩','数学,'');
    ....insert into table(yuwen,shuxue)values(yuwen,shuxue)
      

  2.   

    循环指的是把INI文件里面的科目全部读到数据库里,
    但是有多少科目并不确定,比如INI文件中内容为: 
    [成绩] 
    语文=90 
    数学=80
     
    或者:
    [成绩]
    语文=90 
    数学=80 
    英语=90 
    政治=87或者:
    [成绩]
    语文=90 
    数学=80 
    英语=90 
    政治=87该如何做?
      

  3.   

    uses
      Classes, IniFiles;procedure Test;
    var
      FList: TStrings;
      S: String;
    begin
      FList := TStringList.Create;
      with TIniFile.Create('FileName') do
      try
        ReadSection('Section', FList);
        for S in FList do
          // do your loop
      finally
        Free;
      end;
    end;
      

  4.   

    budded谢谢你的代码,
    但是程序没有通过,
    for S in FList do这句出错,
    而且我也没有看懂,
    程序里好像并没有定义S就是分数.
    你能通过编译吗?
      

  5.   

    上面的回答都有问题,我现在给你做了一下,并调试通过,请给分吧
    var
    ini:TInifile;
    list:TStringList;
    i:integer;
    begin
    ini:=TInifile.Create('d:/1.ini');
    list:=TStringlist.Create;
    ini.ReadSection('成绩',list);
    for i:=0 to list.Count-1 do
        //在这儿添加你的循环体,加入到数据库中,我这儿为了调试,用了一个memo控件
        memo1.Lines.Add(list[i]);
    list.free;
    ini.Free;
    end;