procedure TForm1.Button1Click(Sender: TObject);
var
  s,TempStr: string;
  i,j: Integer;begin
  s := 'T11111ODOAT2222222ODOAT333333444aaODOA';
  for i := 0 to Length(s) do
  begin
    s := Copy(s,2,Length(s));
    if Pos('T',S) > 0 then
    begin
      j := Pos('T',S);
      TempStr := 'T'+Copy(s,1,j-1);
      Memo1.Lines.Add(TempStr);
      s := Copy(s,j,Length(s)-j);
      TempStr := s;
    end;  end;
  if Length(TempStr)>0 then
  begin
    TempStr := 'T'+ TempStr;
    Memo1.Lines.Add(TempStr);
  end;
end;

解决方案 »

  1.   

    while pos('0D0A')>0 do
    begin
      substr:=leftstr(source,pos('0D0A')+3);
      source:=rightstr(source,length(source)-pos('0D0A')-3)
    end;
    substr就是要的串
      

  2.   

    var
      s:string;
      strList:TStringList;
      i:integer;
    begin
      strList := TStringList.create;
      try
        strList.text := s;
        for i:=0 to strList.count-1 do
        begin
          strList.strings[i] //<----就是分开的字符串,要确保是#$0d#$0a,而不是字符'0','d','0','a'
        end; 
      finally
        strList.free;
      end;
    end;
      

  3.   

    我使用spcomm控件,如果要设置流控制(通讯协议)为以下几个该怎样对应设置spcomm的属性
    不使用(None)
    握手协议(xon/xoff)
    请求清除(RTS)
    两者(XON/RTS)
    硬件
    硬件或(XON/XOFF)