我需要分割一个IP,如何用.分割?好像是POS,具体怎么用啊?

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      str: string;
      sl: TStringList;
      i: integer;
    begin
      str := '111.222.111.222';
      str := StringReplace(str, '.', #13#10, [rfReplaceAll]);
      sl := TStringList.Create;
      sl.Text := str;
      for i:=0 to sl.Count-1 do
        ShowMessage(sl[i]);
      Fre
      

  2.   

    或者这样写:procedure TForm1.Button1Click(Sender: TObject);
    var
      str: string;
      sl: TStringList;
      i: integer;
    begin
      str := '111,222,111,222';
      sl := TStringList.Create;
      ExtractStrings([','], [], PChar(str), sl);
      for i:=0 to sl.Count-1 do
        ShowMessage(sl[i]);
      FreeAndNil(sl);
    end;
      

  3.   

    procedure TForm1.Button1Click(Sender: TObject);
    var ip,s:string;
        i:integer;
    begin
      ip:='123.456.789.123';
      s:='';
      for i:=1 to length(ip) do
       if ip[i]<>'.' then s:=s+ip[i]
        else
          begin
            ShowMessage(s);
            s:='';
          end;
       ShowMessage(s);
    end;
      

  4.   

    或者这样写:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      str: string;
      sl: TStringList;
      i: integer;
    function Split(s: string; t: char): TStringList;
    begin
      Result := TStringList.Create;
      while Pos(t, s)>0 do
      begin
         Result.Add(Copy(s, 1, Pos(t, s)-1));
         Delete(s, 1, Pos(t, s));
      end;
      if Length(s)>0 then Result.Add(s);
    end;
    begin
      str := '111.222.111.222';
      sl := TStringList.Create;
      sl := Split(str, '.');
      for i:=0 to sl.Count-1 do
        ShowMessage(sl[i]);
      FreeAndNil(sl);
    end;