3◎1◎203◎aa◎13225225◎地址1※
4◎22◎3333◎3333※3,4两句为一组数据,其中◎为分隔符合,※是一段结束的符合,请问如何取得这个文本文件中的数值?就是用◎分隔的值?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      sl:TStringList;
      i:integer;
    begin
      sl:=TstringList.Create;
      sl.Delimiter:='◎';
      sl.DelimitedText:='4◎22◎3333◎3333';
      for i:=0 to sl.Count-1 do
      begin
        showMessage(sl.Strings[i]);
      end;
    end;不要结尾符,或者你自己删除
      

  2.   

    思路:
    先用readln取到一行数据;
    再用pos查
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      sl:TStringList;
      aa:string;
      bb:string;
      cc:string;
      dd:string;
      ee:string;
      ff:string;
      i:integer;
    begin
      sl:=TstringList.Create;
      sl.Delimiter:='◎';
      
      for i:=0 to sl.Count -1 do
      begin
        sl.DelimitedText:=sl[i];
        aa:=sl.strings[0]; 
        bb:=sl.strings[1];
        cc:=sl.strings[2];
        i:=i+1;
        sl.DelimitedText:=sl[i];
        dd:=sl.strings[0]; 
        ee:=sl.strings[1];
        ff:=sl.strings[2];  end;
    end;
      

  4.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      sl:TStringList;
      filename:string;
      aa:string;
      bb:string;
      cc:string;
      dd:string;
      ee:string;
      ff:string;
      i:integer;
    begin
      Filename:=ExtractFilePath(Paramstr (0))+'aa.txt';
      sl:=TstringList.Create;
      tips.loadfromfile(Filename);
      sl.Delimiter:='◎';
      
      for i:=0 to sl.Count -1 do
      begin
        sl.DelimitedText:=sl[i];
        aa:=sl.strings[0]; 
        bb:=sl.strings[1];
        cc:=sl.strings[2];
        i:=i+1;
        sl.DelimitedText:=sl[i];
        dd:=sl.strings[0]; 
        ee:=sl.strings[1];
        ff:=sl.strings[2];  end;
    end;没测试,应该可行吧