192.168.1.3#6546868-pc#1GB#window xp
分割#之间的字符串   比如 192.168.1.3写在edit1里   6546868-pc写到edit2里 1gb写在edit3里 windows xp写在edit4里

解决方案 »

  1.   


    var
    res:TStringList;
    s:string;
    count:Integer;
    begin
    s:='192.168.1.3#6546868-pc#1GB#window xp' ;
    res:=TStringList.Create;
    count:=ExtractStrings(['#'],[],PChar(s),res);
    Edit1.Text:=res[0];
    Edit2.Text:=res[2];
    Edit3.Text:=res[3];
    Edit4.Text:=res[4];
    end;
      

  2.   

    写错了郁闷:应该是:
    var
    res:TStringList;
    s:string;
    count:Integer;
    begin
    s:='192.168.1.3#6546868-pc#1GB#window xp' ;
    res:=TStringList.Create;
    count:=ExtractStrings(['#'],[],PChar(s),res);
    Edit1.Text:=res[0];
    Edit2.Text:=res[1];
    Edit3.Text:=res[2];
    Edit4.Text:=res[3];
    end;
      

  3.   

    也可以用PosEx函数 获取#的Index,然后Copy
      

  4.   

    办法虽然笨,但简单有效。其中PosEx获得#(2个)的位置,Copy读取子串。