我原先的想法是:取每一个字符然后判断是不是数字和'.',不知道方法对不对?
判断数字的函数delphi中有没有?

解决方案 »

  1.   

    不用判断了下面会限制你的输入procedure TForm1.FormCreate(Sender: TObject);
    begin
      InitCommonControl(ICC_INTERNET_CLASSES);
      hIP := CreateWindow(WC_IPADDRESS,nil,WS_CHILD or WS_VISIBLE,20,20,130,23, Handle,0,hInstance,nil);
    end;
      

  2.   

    fyje(云中仙) ( ) 老兄,如果是'_'就没有办法  判断他们是小于255,大于0的整数,如何解决这个问题,delphi中的容错处理是如何处理的?
      

  3.   

    : DWGZ() ( ) 我是做一个类似dhcp管理的一个东西,一个ipedit也许不够,况且我也不想用ipedit
      

  4.   

    Function TmainForm.CheckIP(ipstr:string) : boolean;
    var
      i,j,k : integer;
      Fields :array[0..3] of string;
    begin
      Result:=False;
      j:=0;
      k:=0;
      For i:=1 to Length(ipstr) do begin
       IF j=3 then begin
          Fields[j]:=Copy(ipstr,1+k,Length(ipstr)-k);
          break;
       End;
       IF  Copy(ipstr,i,1)='.' then begin
         Fields[j]:=Copy(ipstr,1+k,i-k-1);
         k:=i;
         inc(j);
       End;
      End;
       IF j<>3 then exit
       Else
         For j:=0 to 3 do begin
           IF strtointDef(Fields[j],-1)=-1 then exit
           Else
             IF (strtoint(Fields[j])<0) Or (strtoint(Fields[j])>255) then exit;
         End;
       result:=True;  
    End;
      

  5.   

    呵,好像都 不行啊。记得以前说127.0.0.1转化成了一堆数字,那怎么判断?DWGZ() ( ) 的方法没试过。
      

  6.   

    redwoodnymph(new) 你说的那个函数能有吗?
      

  7.   

    那你就多创建几个不就OK了, 很好使的
    注意uses CommCtrl, ComCtrls;
    得到窗口句柄, 再用GetWindowText取出来