Odnośnie adresu IP

0

Witam!

Jak dostać swój adres IP? Ale teraz uwaga, mam na myśli adres IP, który jest aktualnie używany (mam 2 karty sieciowe). Dodam, ża artykuł Pobieranie IP nie pokazuje teco o co mi chodzi, bo pokazuje 'pierwszy lepszy' adres, a mi zalezy na tym, który jest aktualnie używany. Pokażę screen, co mam na myśli:

http://reikosoftware.w.interia.pl/IPs.jpg

4

OK już mam. Temat do zamknięcia/usunięcia. Podaję niżej kod funkcji zwracającej wartość typu string, którą w tym wypadku będzie adres (nie zapomnijcie o dopisaniu WinSock do listy uses):

 function LocalIP: string;
type
   TaPInAddr = array [0..10] of PInAddr;
   PaPInAddr = ^TaPInAddr;
var
    phe: PHostEnt;
    pptr: PaPInAddr;
    Buffer: array [0..63] of char;
    i: Integer;
    GInitData: TWSADATA;
begin
    WSAStartup($101, GInitData);
    Result := '';
    GetHostName(Buffer, SizeOf(Buffer));
    phe :=GetHostByName(buffer);
    if phe = nil then Exit;
    pptr := PaPInAddr(Phe^.h_addr_list);
    i := 0;
    while pptr^[i] <> nil do
    begin
      result:=StrPas(inet_ntoa(pptr^[i]^));
      Inc(i);
    end;
    WSACleanup;
end;

1 użytkowników online, w tym zalogowanych: 0, gości: 1