我读取了一字符串:str 内容为'xxxxparam1xxx'#$D#$A'xxxxparam2xxx'#$D#$A'xxxxparam3xxx'#$D#$A......
其中#$D#$A为换行
现在我要得到每个param1,param2,param3... 所在哪行哪列
敬请高手给我段代码完成此功能吧,要不这下我可掉大了。谢谢

解决方案 »

  1.   

    var
      strlist:tstrings;
      i:integer;
    begin 
       strlist:=TStringlist.create;
       strlist.commtext:=Str;
       for i:=0 to strlist.count-1 do
      begin 
         strlist.strings[i] 就是所在行列
    end;
      strlist.free;
    end;
      

  2.   

    ST:TStrings;str1,str2:string;
    ST:=TStringList.create;
    St.add(str);
    for i:=0 to St.count -1 do
    begin
      str1:=st[i];
      str2:=RightStr(str1,(length(str1)-4));
      parami:=LeftStr(str2,(length(str2)-3);
    end
    这样可以,你再调试一下吧
      

  3.   

    在哪列是:Pos('param', strlist.strings[i]);
      

  4.   

    var
      strlist:tstrings;
      i:integer;
      position:interger;
    begin 
       Str := 'xxxxparam1xxx'#$D#$A'xxxxparam2xxx'#$D#$A'xxxxparam3xxx';   strlist:=TStringlist.create;
       strlist.commtext:=Str;
       for i:=0 to strlist.count-1 do
      begin 
         position := pos('param',strlist.strings[i]); 
         // position就是所在行列,i+1就是所在列;
      end;
      strlist.free;
    end;