Home » » Menampilkan Alamat IP (IP Address) dan HostName dengan Menggunakan Delphi

Menampilkan Alamat IP (IP Address) dan HostName dengan Menggunakan Delphi

Pada artikel yang lalu telah ditulis tentang menampilkan informasi computer name dan user name, kali ini penulis akan membahas tentang bagaimana menampilkan informasi tentang HostName dan IP Address pada Delphi. Jika kita menggunakan network maka PC akan memiliki alamat yang unik berupa alamat IP (Internet Protocol) dimana dengan alamat ini PC dapat berkomunikasi dengan protokol TPC/IP.
Untuk memperoleh kedua informasi ini diperlukan pemrograman socket Windows. Untuk itu tambahkan 'winsock' pada bagian 'uses' pada program Delphi Anda. Pemrograman socket ini selalu dibuka dengan function:
WSAStartup(wVersionRequired:Word;var WSData : WSData):Integer;
Dan ditutup dengan function:
WSACleanup:Integer;
Untuk menampilkan HostName maka diperlukan function:
GetHostName(name:PChar;len:Integer):Integer;
Dengan mengetahui HostName maka dapat dicari alamat IP dengan menggunakan function:
GetHostByName(name:PChar):PHostEnt;
Nilai balik fungsi ini adalah pointer yang menunjukkan ke suatu struktur HostEnt (PHostEnt), yaitu sebuah struktur yang dialokasikan socket Windows yang digunakan function tersebut untuk menyimpan informasi mengenai HostName dan alamat IP.
Contoh Program:
Procedure TForm1.LocalIp;
type
  TaPInAddr = array [0..10] of PInAddr;
  PaPInAddr = ^TaPInAddr;

var
  phe: PHostEnt;
  pptr: PaPInAddr;
  HostName: array [0..63] of char; //hostname
  i: Integer;
  GInitData: TWSADATA;
  IpAdd:String; //IP address

begin
  // Socket Windows dimulai
  WSAStartup($101, GInitData);
  IpAdd := '';

  // Mengambil Hostname
  GetHostName(@HostName, SizeOf(HostName));

  // Mengambil IPAddress dari HostName
  phe :=GetHostByName(@HostName);
  if phe = nil then Exit;
  pptr := PaPInAddr(Phe^.h_addr_list);
  i := 0;
  while pptr^[i] <> nil do
  begin
    IpAdd:=StrPas(inet_ntoa(pptr^[i]^));
    Inc(i);
  end;
  WSACleanup;
  // Socket Windows ditutup

  label1.Caption :='Host Name : ' + HostName;
  label2.caption :='IP Address : ' + IpAdd ;
end;

Kemudian dengan melalui event Button1.Click maka procedure diatas dijalankan.
procedure TForm1.Button1Click(Sender: TObject);
begin
  LocalIp;
end;

Jangan lupa untuk mengetikkan nama procedure (Procedure LocalIp;)pada bagian 'Private'.
Share this article :

0 komentar:

Posting Komentar

Rekan Bisnis Online Anda
Loading


 
Support : Your Link | Your Link | Your Link
Copyright © 2013. Web TKJ - All Rights Reserved
Template Created by Creating Website Modified by CaraGampang.Com
Proudly powered by Blogger