Sekarang saya akan coba membuat postingan mengenai bagaimana cara mendapatkan ip address dan nama pc kita tentunya dengan delphi,ya ini saya buat buat yang mau dan yang baru belajar delphi sama seperti saya.Yang saya tahu untuk cara mendapatkan ip yang kita dapat dari suatu koneksi di delphi yaitu dengan menggunakan winsock dan satu lagi dengan menggunakan komponen dari indy.
Dan untuk kali ini saya akan mencobanya membuat cara mendapatkan ip dan nama pc(nama komputer)dengan menggunakan winsock dan juga dilain waktu akan saya coba juga membuat suatu postingan dengan menggunakan komponen dari indy.
Langkah Pembuatannya
Sekarang saya akan memulai cara membuatnya biasa pertama buka aplikasi delphinya kemudian saya coba tambahkan beberapa komponen pada Form yang baru tersebut dimana komponen yang saya tambahkan adalah:
1. 2 buah Label.
2. 2 buah Edit.
3. 1 buah Button.
Yang mana untuk masing-masing label saya ganti captionnya pada object inspector untuk Label1 saya ganti dengan IP dan yang Label2 saya ganti dengan Nama PC dan yang Button saya ganti dengan GET,dan saya coba posisikan masing-masing komponen tersebut supaya enak dilihatnya saya coba posisikan seperti gambar dibawah ini
![]() |
Menambahkan Komponen Pada Form |
Setelah itu saya coba ke code editor daripada delphi yang mana saya akan coba membuatnya atau menambahkan sebuah function dimana function tersebut yang akan memproses agar supaya ip dan nama pc bisa ditampilkan dan untuk menambahkan function tersebut saya tambahkan uses winsock kemudian baru saya tambahkan function dimana untuk function nya adalah sebagai berikut
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 := 'Winsock is not responding."';
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;
Saya tambahkan function tersebut dibawah implementation.Setelah saya tambahkan function kemudian saya buat procedure untuk Button dengan cara mengklik button 2X dan coba menambahkan sedikit kode pada procedure tersebut yang mana procedure button tersebut menjadi seperti dibawah ini
procedure TForm1.Button1Click(Sender: TObject);
var
Host, IP, Err: String;
begin
if GetIPFromHost(Host, IP, Err) then begin
Edit1.Text := IP;
Edit2.Text := Host;
end
else
MessageDlg(Err, mtError, [mbOK], 0);
end;
![]() |
Penambahan Kode Pada Procedure Button |
Kemudian setelah saya buat procedure pada Button tersebut saya coba run atau tekan F9 untuk melihat hasilnya kemudian saya coba klik Button GET dan ternyata hasilnya seperti gambar dibawah ini
![]() |
Tes Run Program IP Address |
Begitulah kira-kira cara untuk membuat mendapatkan ip dan nama PC dengan delphi sesuai dengan judul postingan kali ini,semoga postingan ini bisa bermanfa'at dan bisa teman-teman kembangkan lagi pada aplikasi yang dibuat teman-teman.
Oke Salam Blogger and Happy Koding.
No comments:
Post a Comment