Minggu, 24 Agustus 2014

Cara mendeteksi IP Address menggunakan Delphi 7

Get IP Address Delphi 7
Get IP Address Delphi 7
Untuk mendapatkan IP Address menggunakan delphi 7 hasur menggunakan unit scktcomp dan gunakan fungsi berikut untuk mempermudah penggunaan


function GetIPFromHost
(var HostName, IPaddr, WSAErr: string): Boolean;
type
  Name = array[0..100] of Char;
  PName = ^Name;
var
  HEnt: pHostEnt;
  HName: PName;
  WSAData: TWSAData;
  i: Integer;
begin
  Result := False;
  if WSAStartup($0101, WSAData) <> 0 then begin
    WSAErr := 'Socket does not respond!"';
    Exit;
  end;
  IPaddr := '';
  New(HName);
  if GetHostName(HName^, SizeOf(Name)) = 0 then
  begin
    HostName := StrPas(HName^);
    HEnt := GetHostByName(HName^);
    for i := 0 to HEnt^.h_length - 1 do
     IPaddr :=
      Concat(IPaddr,
      IntToStr(Ord(HEnt^.h_addr_list^[i])) + '.');
    SetLength(IPaddr, Length(IPaddr) - 1);
    Result := True;
  end
  else begin
   case WSAGetLastError of
    WSANOTINITIALISED:WSAErr:='WSANotInitialised';
    WSAENETDOWN      :WSAErr:='WSAENetDown';
    WSAEINPROGRESS   :WSAErr:='WSAEInProgress';
   end;
  end;
  Dispose(HName);
  WSACleanup;
end;

Cara penggunaan script di atas perhatikan script berikut :

uses ScktComp;
Procedure TForm1.Button1Click(Sender:TObject);
var host,ip,err:string;
begin
  if GetIPFromHost(host,ip,err) then
  Showmessage('Host name: '+host+#13+'IP: '+IP) else
  Showmessage('Error: '+err);
end;

Tidak ada komentar:

Posting Komentar