在DEPHI 程序中如何取得本机的IP?

解决方案 »

  1.   

    GetLocalIP(var LocalIp: string): Boolean;varHostEnt: PHostEnt;Ip: string;addr: pchar;Buffer: array [0..63] of char;GInitData: TWSADATA;beginResult := False;tryWSAStartup(2, GInitData);GetHostName(Buffer, SizeOf(Buffer));HostEnt := GetHostByName(buffer);if HostEnt = nil then Exit;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;finallyWSACleanup;end;
      

  2.   

    如果是在局域网内的机子,如何获得在Internet上的IP呢?
      

  3.   

    chinawzg(风雨) 兄你的上面代码运行后出现HostEnt: PHostEnt; GInitData: TWSADATA;  没定义,这是为什么
      

  4.   

    DELPHI 7 INDY 组件中 LOCALIP属性可以直接获得
      

  5.   

    前面加上use winsock就可以了!
      

  6.   

    use winsock   已经加上了。请帮忙?
      

  7.   

    添加一个NMHTTP1控件,然后ShowMessage(NMHTTP1.LocalIP);即可得到本机的IP了.
      

  8.   

    谢谢  zzwli(蓝莓狸) 
    那如果我还要得到本机在互联网上的IP呢?要怎样取得.
    ?
      

  9.   

    ShowMessage(NMHTTP1.LocalIP)这就是你在INTERNET的IP
      

  10.   

    不知道呀!!我也想知道耶!!因为知道的话就可以去回"如何获取internet中的IP地址?"这张贴了!!有50分好得耶!!呵呵!!!哪位高手出出招吧!!!
      

  11.   

    结帖了。zzwli(蓝莓狸) 接分
      

  12.   

    呵呵!!原来这方法也适用于INTERNET呀!我还以为只适用于局域网呢!:P嘻!!谢了!!!好棒哦!!第一次收获!!!很有成就感哦!!!呵呵!!!
      

  13.   

    获得本机的IP据我知道有5种方法,可能还有。
    NmHttp1在Delphi7里面已经不存在,在fastnet面板里面看看