如何得到本机的ip地址!

作者:凯旋网络来源:凯旋网络
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
                write(''.'')
              ELSE
                writeln;
            END;
   END;
end.
  • 广告推荐