Sabtu, 23 Mei 2009

Tips Mendapatkan IP Address Komputer Anda dengan Borland Delphi

Seorang rekan penulis beberapa waktu yang lalu bertanya lagi seputar permasalahan Delphi yang dihadapinya. Kali ini pertanyaannya adalah bagaimana caranya mengetahui IP address pada komputer yang sedang kita gunakan? OK, tidak terlalu sulit kok, mari langsung saja kita simak tulisan sederhana ini.

Kita bisa menggunakan fungsi-fungsi yang ada pada unit Winsock untuk menyelesaikan misi kita kali ini. Silakan Anda buat project baru pada Borland Delphi. Penulis menggunakan Borland Delphi 6.0 pada tips kali ini. Letakkan sebuah komponen button dan dua buah komponen edit box pada form tersebut. Adapun gambarnya bisa Anda lihat seperti berikut ini.

Komponen Edit1 akan kita gunakan untuk menampung IP address komputer kita dan Edit2 akan kita gunakan sebagai tempat untuk menampung nama komputer. Sekarang kita akan isi event OnClick pada button di atas dengan rutin-rutin untuk mengambil IP address dan computer name. Untuk itu mari kita lihat potongan code di bawah ini untuk event OnClick dari komponen button.

procedure TForm1.Button1Click(Sender: TObject);
var
wVersionRequested : WORD;
wsaData : TWSAData;
phe : PHostEnt;
stri : array[0..128] of char;
pc : PChar;
begin
//start winsock
wVersionRequested := MAKEWORD(1, 1);
WSAStartup(wVersionRequested, wsaData);

//get computer name
GetHostName(@stri, 128);
phe := GetHostByName(@stri);

//get ip address
pc := iNet_ntoa(PInAddr(phe^.h_addr_list^)^);

Edit1.Text := pc;
Edit2.Text := phe^.h_Name;

//clean up winsock
WSACleanup;
end;

Jangan lupa untuk menambahkan Winsock pada bagian Uses dari project di atas. Sekarang kita lihat pada code di atas. Pertama kali yang dilakukan adalah men-start Winsock dengan fungsi WSAStartup. Kemudian setelah itu fungsi GetHostName dipanggil untuk mengambil host name standard dari komputer lokal. Fungsi GetHostByName dipanggil untuk mengambil informasi host dari database host. Setelah semua proses selesai kemudian kita panggil fungsi WSACleanup untuk membersihkan memory dari Winsock sekaligus berarti selesai menggunakan ws2_32.dll.
Silakan download source code lengkap dari project di atas

Demikianlah article singkat mengenai tips untuk mengetahui IP address dan computer name pada komputer Anda dengan menggunakan Borland Delphi.

Design by infinityskins.blogspot.com 2007-2008