Animasi dengan Flash, Mendapatkan IP address dengan Delphi, CSV to MySQL »

Minggu, 16 November 2008

Mendapatkan IP address denga Delphi

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.

0 komentar: