{变量A=1}
{变量B=666}
{变量C=}
{变量D=AAA}
{变量E=R}
{变量F=47}
{变量G=R}
{变量H=14}
上面这种是什么文件格式,如何将变量A到变量H 的值读出来,谢谢

解决方案 »

  1.   

    就按文本文件来读,一行一行的处理,截头截尾,存入TStrings里面。
    sl1,sl2: TStrings;sl1 := TStringList.Creat;
    sl2 := TStringList.Creat;
    sl1.LoadFromFile('c:\1.txt');
    for i := 0 to sl1.Count - 1 do
      sl2.Add(Copy(sl1.String[i],2,Length(sl1.String[i]) - 2));
      

  2.   

    用CStringArray来读
    用CStdioFile一行一行读出来,呵呵楼上是delphi的
      

  3.   

    是用DELPHI读,但这个也不定固定一行的,按大括号来分
    比如也可能是这样:{变量A=1
       }
    {变量B=666}
    {变量C=}
    {变量D=AAA}
    {变量E=R}
    {变量F=47}
    {变量G=R}
    {变量H=14}
      

  4.   

    function GetStrBetweenL(strSource,strBegin,strEnd:string):string;
    var
        iBegin,iEnd:integer;
    begin
        if (pos(strBegin,strSource)*pos(strEnd,strSource)=0) then
            result:='';
        iBegin:=pos(strBegin,strSource);
        iEnd:=pos(strEnd,strSource);    result:=trim(copy(strSource,iBegin+1,iEnd-iBegin-1));
        result:=StringReplace(result,' ','',[rfReplaceAll]);
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
        strTemp:string;
    begin
        Memo1.Lines.LoadFromFile('1.txt');
        strTemp:=Memo1.Lines.Text;
        while (pos('{',strTemp)>0) do
        begin
            Memo2.Lines.Add(GetStrBetweenL(strTemp,'{','}'));
    ///////////每次 GetStrBetweenL返回的都是一行,然后就能够得到你想要的值了。
    ///////////每行都是 变量*=***
            strTemp:=copy(strTemp,pos('}',strTemp)+1,Length(strTemp));
        end;
    end;