Dalam membuat sebuah program aplikasi multiuser tentu kebutuhan data unik sangatlah dibutuhkan. Penggunaan dari data-data yang unik tersebut biasanya dipake sebagai kunci dari pemakai, dan salah satu kunci yang unik dan valid adalah alamat IP atau IP Address. Sehingga dalam menentukan pemakai berdasarkan alamat IP jelas akan sangat valid.
Secara umum dapat dijelaskan bahwa jika kita menggunakan sistem operasi Windows, maka data dari alamat IP tersebut akan tersimpan dalam registry windows dan anda dapat mengambil atau membaca data tersebut dengan cara memanggil API, yaitu IpHlpApi. Berikut ini cara membaca alamat IP dari sebuah komputer dengan VB6.
Fungsi GetIpAddrTable pada API IpHlpApi
Untuk membuat fungsi yang menggunakan API IpHlpApi, buatlah fungsi tersebut dalam modul dengan deklarasi Public, sehingga bisa dipanggil diseluruh area project. Fungsi tersebut dapat anda lihat seperti contoh kode program berikut ini:
Option Explicit
Private Declare Function GetIpAddrTable_API Lib "IpHlpApi" Alias "GetIpAddrTable" (pIPAddrTable As Any, pdwSize As Long, ByVal bOrder As Long) As Long
Public Function GetIpAddrTable()
Dim Buf(0 To 511) As Byte
Dim BufSize As Long: BufSize = UBound(Buf) + 1
Dim rc As Long
rc = GetIpAddrTable_API(Buf(0), BufSize, 1)
If rc <> 0 Then Err.Raise vbObjectError, , "GetIpAddrTable failed with return value " & rc
Dim NrOfEntries As Integer: NrOfEntries = Buf(1) * 256 + Buf(0)
If NrOfEntries = 0 Then GetIpAddrTable = Array(): Exit Function
ReDim IpAddrs(0 To NrOfEntries - 1) As String
Dim i As Integer
For i = 0 To NrOfEntries - 1
Dim j As Integer, s As String: s = ""
For j = 0 To 3: s = s & IIf(j > 0, ".", "") & Buf(4 + i * 24 + j): Next
IpAddrs(i) = s
Next
GetIpAddrTable = IpAddrs
End Function
Memanggil Alamat IP dari Komponen Form
Sedangkan untuk memanggil alamat IP tersebut dari form yang selanjutnya akan anda gunakan dalam program aplikasi, anda cukup mendefinsikan sebuah fungsi dengan nilai balik dari alamat IP yang terbaca, seperti tampak dalam contoh kode program berikut ini:
Option Explicit
Private IPAddress As String
'----------------------------------------------------------------
'SAVE IP ADDRESS
'----------------------------------------------------------------
Private Function GetIPAddress() As String
Dim IpAddrs
GetIPAddress = ""
IpAddrs = GetIpAddrTable
Dim i As Integer
For i = LBound(IpAddrs) To UBound(IpAddrs)
If Trim(IpAddrs(i)) <> "127.0.0.1" Then
GetIPAddress = Trim(IpAddrs(i))
End If
Next
End Function
'----------------------------------------------------------------
Private Sub cmdIPAddress_Click()
IPAddress = GetIPAddress
lblIPAddress.Caption = IPAddress
End Sub
Berikut source code contoh program membaca alamat IP, yang bisa anda download disini. Jika anda masih belum jelas tentang program tersebut diatas, anda bisa bertanya pada kami lewat Contact Form atau gunakan dalam Komentar. Dan bagi yang masih awam tentang bahasa pemrograman VB6, anda bisa mengakses Tutorial VB6 yang telah kami posting sebelumnya.
Daftarkan email anda disini untuk berlangganan artikel kodiing
ConversionConversion EmoticonEmoticon