精华区 [关闭][返回]

当前位置:网易精华区>>讨论区精华>>编程开发>>● Delphi>>Delphi 网络编程>>请问怎样得到IP 地址!!

主题:请问怎样得到IP 地址!!
发信人: xuemeit()
整理人: teleme(2000-12-06 17:46:49), 站内信件
【 在 flyddl (netflyer) 的大作中提到: 】
: 在DELPHI中请问怎样得到WINDOWS的IP地址!!(什么函数或API)

: 随便请问??

:    .......
得到本机IP地址?  
How about using winsockets?
This code is untested and ugly.
program get_ip;
uses
  winsock,sysutils;
VAR
  ch : ARRAY[1..32] OF Char;
  i : Integer;
  WSData: TWSAData;
  MyHost: PHostEnt;
begin
  IF WSAstartup(2,wsdata)<>0 THEN
    BEGIN
      Writeln('can''t start Winsock: Error ',WSAGetLastError);
      Halt(2);
    END;
  try
    IF getHostName(@ch[1],32)<>0 THEN
      BEGIN
        Writeln('getHostName failed');
        Halt(3);
      END;
  except
    Writeln('getHostName failed');
    halt(3);
  end;
  MyHost:=GetHostByName(@ch[1]);
  IF MyHost=NIL THEN
    BEGIN
      Writeln(GetHostName('+StrPas(@ch[1])+') failed : Error
'+IntToStr(WSAGetLastError));
      Halt(4);
    END
  ELSE
    BEGIN
        Write('address ');
         FOR i:=1 TO 4 DO
            BEGIN
              Write(Ord(MyHost.h_addr^[i-1]));
              IF i<4 THEN
then write('.')
ELSE
writeln;
END;
END;
end.



--
※ 来源:.月光软件站 http://www.moon-soft.com.[FROM: 202.103.249.181]

[关闭][返回]