Mengetahui jenis koneksi internet kita

Seperti yg gua bilang sebelumnya, gua juga bakal coba berbagi tentang pengalaman programming gua, yak kali aja bisa membantu atau menambah wawasan kalian semua. Sebenernya dulu gua udah ada bayangan mengenai bahan-bahan yg bakalan gua mo share, tapi gak tau kenapa gua jadi lupa, apa aja yg bakalan gua post. Ya dari pada kalian kelamaan nunggu gua duduk termenung sambil nginget ide-ide yg ilang dari gua, mending gua post dari pengalaman coding gua yg terakhir.

Yup baru minggu kemarin ini gua bikin programmnya. Sebenarnya berawal dari kebutuhan gua buat mengetahui berapa lama sih gua dah make internetnya. Gua sih udah punya bayangan, bahwa programnya bakalan dibikin mirip kaya stopwatch, yg akan terus berjalan sejak kita mulai ngenet sampe kita selesai, kalo bikin mudah bisa aja gua bikin bener-bener kayak stopwatch, jadi disediain tombol start dan stopnya, hanya saja menurut gua itu kurang user friendly dan rada gak efisien. Iya kalo usernya inget buat nyalain ma matiin stopwatchnya, lah kalo lupa bisa aja gak kecatet ato malahan jalan terus waktunya.

Nah kalo buat bikin stopwatch bisa otomatis jalan dan berhenti sendiri, gua perlu trigger buat memulai atau menghentikannya. Karena nih berhubungan dengan konektivitas dengan internet, ya berarti yg bakalan jadi triggernya adalah ada ato tidaknya koneksi internet pada kompie kita.

Dengan Delphi kita bisa menggunakan fungsi InternetGetConnectedState, tapi perlu kalian ingat nih fungsi untuk mengetahui jenis koneksi yg kita pake buat konek ke internet, bukan fungsi yg secara langsung mendekteksi kita konek ato gak. Hanya saja ada nilai balik yg bisa kita gunakan buat nentuin kita konek apa gak ma internet. Okai gua mulai pelan-pelan,

Pertama-tama pastikan kalian punya kompie kalian nyala karena kalo gak mana mungkin bisa ngoding hehehe…

Fungsi InternetGetConnectedState punya dua parameter, yaitu

  • IpdwFlags merupakan pointer ke variable yg menerima keterangan tentang jenis koneksi yg kita pake, nilai dari parameter nih adalah sebagai berikut

INTERNET_CONNECTION_MODEM -> Koneksi ke Internet melalui modem

INTERNET_CONNECTION_LAN -> Koneksi ke Internet melalui LAN

INTERNET_CONNECTION_PROXY -> Koneksi Internet melalui proxy server

INTERNET_CONNECTION_MODEM_BUSY -> Nilai ini sudah gak kepake lagi

INTERNET_CONNECTION_MODEM_BUSY -> komputer sedang Offline / tidak terkoneksi ke internet

  • dwReserved yaitu parameter yg dibuat sebagai cadangan, Utk saat ini kita berikan saja nilai nol buat parameter nih.

Fungsi ini akan memberikan nilai balik True jika computer terhubung dengan internet, namun akan memberikan nilai False jika computer tidak terhubung dengan internet, nah nilai balik inilah yg gua gunakan sebagai penanda apakah kompie kita terkoneksi dengan internet apa gak.

Utk sourcenya sendiri, gua coba tuliskan fungsi utamanya aja.

function JenisKoneksi : Boolean;
var flag : dWord;
begin
Result := InternetGetConnectedState(@flag, 0);
if Result then
begin
if (flag and INTERNET_CONNECTION_MODEM) = INTERNET_CONNECTION_MODEM then
begin
Edit1.Text := 'Modem';
end
else if (flag and INTERNET_CONNECTION_LAN) = INTERNET_CONNECTION_LAN then
begin
Edit1.Text := 'LAN';
end
else if (flag and INTERNET_CONNECTION_PROXY) = INTERNET_CONNECTION_PROXY then
begin
Edit1.Text := 'Proxy';
end
else if (flag and INTERNET_CONNECTION_MODEM_BUSY) = INTERNET_CONNECTION_MODEM_BUSY then
begin
Edit1.Text := 'Modem Busy';
end;
end
else
begin
Edit1.Text := 'Offline';
end;
end;
untuk source code loe bisa donlot dilink nih. Program yg gua bikin masih hanya mengaplikasikan fungsi InternetGetConnectedState, namun kalian bisa mengembangkan menjadi program yg lebih komplesk dengan pemanfaatan dari fungsi tersebut.

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • RSS

0 komentar:

Posting Komentar