Membaca Alamat IP Komputer dengan VB6

Membaca Alamat IP Komputer dengan VB6

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.

Previous
Next Post »