function   HostToIP(Name:   string;   var   Ip:   string):   Boolean; 
var 
    wsdata   :   TWSAData; 
    hostName   :   array   [0..255]   of   char; 
    hostEnt   :   PHostEnt; 
    addr   :   PChar; 
begin 
    WSAStartup   ($0101,   wsdata); 
    try 
        gethostname   (hostName,   sizeof   (hostName)); 
        StrPCopy(hostName,   Name); 
        hostEnt   :=   gethostbyname   (hostName); 
        if   Assigned   (hostEnt)   then 
            if   Assigned   (hostEnt^.h_addr_list)   then   begin 
                addr   :=   hostEnt^.h_addr_list^; 
                if   Assigned   (addr)   then   begin 
                    IP   :=   Format   ( '%d.%d.%d.%d ',   [byte   (addr   [0]), 
                    byte   (addr   [1]),   byte   (addr   [2]),   byte   (addr   [3])]); 
                    Result   :=   True; 
                end 
                else 
                    Result   :=   False; 
            end 
            else 
                Result   :=   False 
        else   begin 
            Result   :=   False; 
        end; 
    finally 
        WSACleanup; 
    end 
end; 

解决方案 »

  1.   


    原来,网络>>从肉的力量是相当强大的.
      

  2.   

    只看出是pascal 并没有看出其他的
      

  3.   

    Delphi pascal
    看着很亲切。
      

  4.   

    Delphi的代码目前看着还很怪,已经习惯了BC的{}类型的
      

  5.   

    pascal
    把主机名转为ip地址
      

  6.   

    不错,经过我的查找检查,的确是胜天进销存的源码,在单元syspublic中。
    极端佩服8楼中
      

  7.   

    主机转IP函数,本机CODE也有。有什么好问的