Mam takie pytanie. Chce napisać program, który wyświetli mi IP komputera na którym został uruchomiony. Jednak nie bardzo wiem jak to zrobić. Prosze o pomoc
Mam takie pytanie. Chce napisać program, który wyświetli mi IP komputera na którym został uruchomiony. Jednak nie bardzo wiem jak to zrobić. Prosze o pomoc
Label1.Caption := GetIPAddress('');
a do uses dodaj JclSysInfo;
Hmm nawt nie widziałem że w jcl jest taka funkcja ,ale ja jednak wolę to z winsock;
Code:
uses Winsock;
Function Get_IP : String; // IP
var
wVersionRequested:WORD;
wsaData:TWSAData;
p:PHostEnt;
s:array[0..128] of char;
begin
//Ładujemy bibliotekę Winsock
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);
try
GetHostName(@s, 128);
p := GetHostByName(@s);
Result := iNet_ntoa(PInAddr(p^.h_addr_list^)^);
finally
//Zwalniamy Winsock
WSACleanup;
end;
end;
Function Get_HN : String; //Host name
var
wVersionRequested:WORD;
wsaData:TWSAData;
p:PHostEnt;
s:array[0..128] of char;
begin
//Ładujemy bibliotekę Winsock
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);
try
GetHostName(@s, 128);
p := GetHostByName(@s);
Result := p^.h_Name;
finally
//Zwalniamy Winsock
WSACleanup;
end;
end;
Można to zrobić w jednej Procedurze ale mi tak wygodniej....
//masz racje..twoj kod jest o wiele 'prostszy i czytelniejszy no i latwieszy" [glowa] - lofix
Lub jesli ktos ma komponent IdIpWatch to wtedy mozna przypisac taki kod
Label1.Caption:=IdIPWatch1.LocalIP;
WIększość komponentów Indy ma tę własniść...