delphi 从文本框中输入IP地址,如何判断一个地址是否可行IP地址格式判断谢谢

解决方案 »

  1.   

    百度上搜索"合法ip delphi"
    http://www.baidu.com/s?ie=gb2312&bs=delphi+%BA%CF%B7%A8ip&sr=&z=&cl=3&f=8&wd=%BA%CF%B7%A8ip+delphi&ct=0
      

  2.   

     to skylkj
    没有找到呢
      

  3.   

    ........第一篇就是啊...
    http://topic.csdn.net/t/20040916/14/3378908.html
      

  4.   

    随手写了一个
    function IsValidIP(Str: string): Boolean;
    var
      i, PartCount {用多少段,以点号分开}: Integer;
      Part: string;
    begin
      PartCount := 0;
      while Str <> '' do
      begin
        i := Pos('.', Str);
        if i = 0 then
        begin
          Part := Str;
          Str := '';
        end
        else
        begin
          Part := Copy(Str, 1, i - 1);
          Delete(Str, 1, i);
        end;    //IP分段必须是[0,255]的整数
        if not TryStrToInt(Part, i) or (i < 0) or (i > 255) then
        begin
          Result := False;
          Exit;
        end;
        Inc(PartCount);
      end;  Result := PartCount = 4; //必须要有4段
    end;
      

  5.   

    记得Delphi是有正则的uses PerlRegEx;var
    Regex: TPerlRegEx;
    ResultString: string;Regex := TPerlRegEx.Create(nil);
    Regex.RegEx := '\b(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\b';
    Regex.Options := [];
    Regex.Subject := SubjectString;
    Regex.Replacement := '';
    Regex.ReplaceAll;
    ResultString := Regex.Subject;
      

  6.   

    uses WinSock;function IsLegalIP(IP:string):boolean;
    begin
      if Longword(inet_addr(pchar(IP)))=INADDR_NONE then
      begin
         result:=false;
         exit;
      end
      else result:=true;
    end;
    你也可以找IP地址输入的控件,如同windows里修改网卡IP地址一样的。这样显得界面更新友好一些,我以前用过只是时间太久找不到了~~~