edit1.text:=vinifile.ReadString('ABC','a4','');

解决方案 »

  1.   

    myinifile.readsection('ABC',TStrings 变量)
      

  2.   

    Uses IniFiles
    var
     YourIni:TIniFile;
    begin
     YourIni:=TiniFile.Create(Extractfilepath(paramstr(0))+'your.ini');
     try
     Edit1.text:=yourini.ReadString('ABC','A4','XXXX");
    finally
     yourini.free;
    end;
    end;
      

  3.   

    请看:
    procedure ReadSectionValues(const Section: string; Strings: TStrings);
    这个把整个Section里的都读出来了,然后把最后一个读出来就行了。
     edit1.text := Strings.Strings[Strings.Count];
      

  4.   

    补充一点:如果使用TIniFile,而又想只是读出单独一个值的话,
    除非是固定名称的,你现在要最后的一个,显然TIniFile还缺乏
    可以让你直接使用的方法。另外一个方法是,你自己打开ini文件,
    自己分析:先找到Section,然后再找到下一个Section,倒退一行
    就是了。
      

  5.   

    #define MAX_A 100
    char s[32],lastval[256],val[256];lastval[0]=0;
    for (i=1;i<MAX_A;i++)
    {   sprintf(s,"A%d",i);
        GetPrivateProfileString("ABC",s,"",val,256,"abc.ini");
        if (val[0]==0) break;
        strcpy(lastval,val);
    }最后一个An=lastval很久没用delphi了,语法又忘了,自己改成pascal语法吧