29-10-2018, Saat: 10:06
29-10-2018, Saat: 10:11
ping atınca verir herhalde, deneyebilir misin.
29-10-2018, Saat: 12:51
Verdiğim Fonksiyon kullanabilirsin
function GetIPAddress(NetworkName: String): String; var Error: DWORD; HostEntry: PHostEnt; Data: WSAData; Address: In_Addr; begin Error:=WSAStartup(MakeWord(1, 1), Data); if Error = 0 then begin HostEntry:=gethostbyname(PansiChar(AnsiString(NetworkName))); Error:=GetLastError(); if Error = 0 then begin Address:=PInAddr(HostEntry^.h_addr_list^)^; Result:=inet_ntoa(Address); end else begin Result:='Unknown'; end; end else begin Result:='Error'; end; WSACleanup(); end;
29-10-2018, Saat: 12:53
(29-10-2018, Saat: 12:51)r3n4m3 Adlı Kullanıcıdan Alıntı: [ -> ]Verdiğim Fonksiyon kullanabilirsin
Kod:
function GetIPAddress(NetworkName: String): String;
var
Error: DWORD;
HostEntry: PHostEnt;
Data: WSAData;
Address: In_Addr;
begin
Error:=WSAStartup(MakeWord(1, 1), Data);
if Error = 0 then
begin
HostEntry:=gethostbyname(PansiChar(AnsiString(NetworkName)));
Error:=GetLastError();
if Error = 0 then
begin
Address:=PInAddr(HostEntry^.h_addr_list^)^;
Result:=inet_ntoa(Address);
end
else
begin
Result:='Unknown';
end;
end
else
begin
Result:='Error';
end;
WSACleanup();
end;
teşekkürler deniyecem
29-10-2018, Saat: 13:15
Merhaba Ben aşağıdaki gibi kullanmıştım.
Örnek Ekran görüntüsü aşağıdaki gibidir.
Hostname Kısmı : \\Hostname veya Hostname olabilir. her iki türlüde çözer. Windows API olduğu için diğer platformlarda çalışmaz.
[attachment=292]
uses Winsock; {$R *.dfm} function HostnameToIP(Hostname: string): string; var WSAData: TWSAData; R: PHostEnt; A: TInAddr; begin // Varsa Hostname Başındaki '\\' kısmını temizler. if (Hostname[1] = '\') and (Hostname[2] = '\') then begin Hostname[1] := ' '; Hostname[2] := ' '; Hostname := Trim(Hostname); end; // HostnameGetIP Sorgular. WSAStartup($101, WSAData); R := Winsock.GetHostByName(PAnsiChar(AnsiString(Hostname))); if Assigned® then begin A := PInAddr(R^.h_Addr_List^)^; Result := Winsock.inet_ntoa(A); end else // Hata Varsa Alınamadı Der. Result := 'Alınamadı.' end; //Kullanımı procedure TForm1.Button1Click(Sender: TObject); begin IPAddr.Text := HostnameToIP(Hostname.Text); end;
Örnek Ekran görüntüsü aşağıdaki gibidir.
Hostname Kısmı : \\Hostname veya Hostname olabilir. her iki türlüde çözer. Windows API olduğu için diğer platformlarda çalışmaz.
[attachment=292]