Einzelnen Beitrag anzeigen

Benutzerbild von Duffy
Duffy

Registriert seit: 19. Mär 2003
Ort: Wuppertal
835 Beiträge
 
Delphi 3 Standard
 

Re: Computername aus NetzwerkIP ermitteln

  Alt 14. Aug 2004, 14:38
Hallo dopeline,
Funktion 1:
Delphi-Quellcode:
function GetComputerNane(IPAddr: string): string;
var
  SockAddrIn: TSockAddrIn;
  HostEnt: PHostEnt;
  WSAData: TWSAData;
begin
  WSAStartup($101, WSAData);
  SockAddrIn.sin_addr.s_addr := inet_addr(PChar(IPAddr));
  HostEnt:= GetHostByAddr(@SockAddrIn.sin_addr.S_addr, 4, AF_INET);
  if HostEnt <> nil then
    Result := StrPas(Hostent^.h_name)
  else
    Result := '';
  end;
end;
Funktion 2:
Delphi-Quellcode:
function GetIp(ComputerName: string): string;
var
  TMPResult: string;
  WSA: TWSAData;
  H: PHostEnt;
  P: PChar;
begin
  if WSAStartUp($101, WSA) = 0 then
  begin
    GetMem(P, 255 + 1);
    StrPCopy(P, ComputerName);
    H := GetHostByName(P);
    FreeMem(P);
    if H <> nil then
    begin
      P := inet_ntoa(PInAddr(H^.h_addr_list^)^);
      TMPResult := StrPas(P);
    end;
    WSACleanUp;
    if TMPResult <> 'then
      Result := TMPResult;
    else
      Result := '0';
    end;
  end;
end;
und nicht vergessen die Unit Winsock einzubinden ...

bye
Claus
Künftige Generationen wollen ihre Fehler selber machen.
Jedes Programm wird nie das können, was Du wirklich brauchst.
Das Gegenteil von gut ist gut gemeint
-----
  Mit Zitat antworten Zitat