判断所输入的字符是本机的IP或计算机名,有哪写方法?

解决方案 »

  1.   

    简单
    IP有“.”分隔的
    机器名是不允许的http://lysoft.7u7.net
      

  2.   

    问题解决了,这是我刚找到的,谢谢大家的支持!uses winsock;function MyForm.NetGetLocalIP(var LocalIp,LocalHostName: string): Boolean;
    var
        HostEnt: PHostEnt;
        Ip: string;
        addr: pchar;
        strName: string;
        Buffer: array [0..63] of char;
        GInitData: TWSADATA;
    begin
      Result := False;
      try
        WSAStartup(2, GInitData);
        GetHostName(Buffer, SizeOf(Buffer));
        HostEnt := GetHostByName(buffer);    if HostEnt = nil then Exit;
        LocalHostName:=StrPas(HostEnt^.h_name);
        addr := HostEnt^.h_addr_list^;
        ip := Format('%d.%d.%d.%d', [byte(addr [0]),
              byte (addr [1]), byte (addr [2]), byte (addr [3])]);
        LocalIp := Ip;
        Result := True;
      finally
        WSACleanup;
      end;
    end;