Information Technologies Cimahi Glossary    Contact Us
Search  
   
Browse by Category
Information Technologies Cimahi .: Source Code Program Aplikasi dengan VB .: Bagaimana mengelola File *.ini dengan VB, Mari kita ikuti pembahasannya

Bagaimana mengelola File *.ini dengan VB, Mari kita ikuti pembahasannya

Setiap program aplikasi umumnya memiliki sebuah file yang berisi berbagai settingan aplikasinya. Ini diperlukan untuk menghindari penggunaan hard-coded pada aplikasi yang menyebabkan aplikasi terasa kurang dinamis. Dan penggunaan file tersebut pun sangat memudahkan pada saat melakukan instalasi tanpa harus merubah coding. Contoh: Untuk aplikasi database, kita mungkin memerlukan perubahan alamat, nama, user, maupun password sesuai dengan komputer yang digunakan. Akan sangat mudah jika kita mencatat semuanya dalam sebuah file. Akibatnya pada saat instalasi program kita tidak perlu menyediakan aplikasi untuk komputer tertentu atau bahkan kita merubah codingan, hanya cukup dengan merubah isi file tersebut, tentu saja dengan format yang telah ditentukan sebelumnya. Untuk menghindari kemungkinan kesalahan pada saat melakukan perubahan setting pada file, buatlah sebuah aplikasi kecil diluar aplikasi yang lain khusus untuk merubah settingannya seperti contol panel-nya.

Bagi pengembang Visual Basic 6 biasanya menggunakan file *.ini sebagai file configurasi aplikasinya.

Berikut contoh listing code dari VB6 untuk memcatat maupun membaca file *.ini

Contoh file ini yang digunakan dengan nama Test.ini

[konfigurasi]
Server=MyComputer
Database=DB
User=nama
Password=password

[keterangan]
data=contoh konfigurasi

Berikut coding pada VB6
'Tambahkan 5 buak textbox dan sebuah command button
Option Explicit
'Untuk mencatat ke ini file
Private Sub Command1_Click()
    WriteIniValue App.Path & "\Test.ini", "konfigurasi", "Server", Text1.Text
    WriteIniValue App.Path & "\Test.ini", "konfigurasi", "Database", Text2.Text
    WriteIniValue App.Path & "\Test.ini", "konfigurasi", "User", Text3.Text
    WriteIniValue App.Path & "\Test.ini", "konfigurasi", "Password", Text4.Text
    WriteIniValue App.Path & "\Test.ini", "keterangan", "data", Text5.Text
    Unload Me
End Sub
 
'Untuk membaca ke ini file
Private Sub Form_Load()
    Text1.Text = ReadIniValue(App.Path & "\Test.ini", "konfigurasi", "Server")
    Text2.Text = ReadIniValue(App.Path & "\Test.ini", "konfigurasi", "Database")
    Text3.Text = ReadIniValue(App.Path & "\Test.ini", "konfigurasi", "User")
    Text4.Text = ReadIniValue(App.Path & "\Test.ini", "konfigurasi", "Password")
    Text5.Text = ReadIniValue(App.Path & "\Test.ini", "keterangan", "data")
End Sub
 
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = 0 Then Cancel = 1
End Sub
 
Tambahkan coding dibawah ini pada module
Option Explicit
'Untuk membaca isi ini file
Public Function ReadIniValue(INIpath As String, KEY As String, Variable As String) _
         As String
Dim NF As Integer
Dim Temp As String
Dim LcaseTemp As String
Dim ReadyToRead As Boolean
AssignVariables:
        NF = FreeFile
        ReadIniValue = ""
        KEY = "[" & LCase$(KEY) & "]"
        Variable = LCase$(Variable)
    
EnsureFileExists:
    Open INIpath For Binary As NF
    Close NF
    SetAttr INIpath, vbArchive
    
LoadFile:
    Open INIpath For Input As NF
    While Not EOF(NF)
    Line Input #NF, Temp
    LcaseTemp = LCase$(Temp)
    If InStr(LcaseTemp, "[") <> 0 Then ReadyToRead = False
    If LcaseTemp = KEY Then ReadyToRead = True
    If InStr(LcaseTemp, "[") = 0 And ReadyToRead = True Then
        If InStr(LcaseTemp, Variable & "=") = 1 Then
            ReadIniValue = Mid$(Temp, 1 + Len(Variable & "="))
            Close NF: Exit Function
            End If
        End If
    Wend
    Close NF
End Function
 
'Untuk menulis ke ini file
Public Function WriteIniValue(INIpath As String, PutKey As String, PutVariable As String, _
         PutValue As String)
Dim Temp As String
Dim LcaseTemp As String
Dim ReadKey As String
Dim ReadVariable As String
Dim LOKEY As Integer
Dim HIKEY As Integer
Dim KEYLEN As Integer
Dim VAR As Integer
Dim VARENDOFLINE As Integer
Dim NF As Integer
Dim X As Integer 
AssignVariables:
    NF = FreeFile
    ReadKey = vbCrLf & "[" & LCase$(PutKey) & "]" & Chr$(13)
    KEYLEN = Len(ReadKey)
    ReadVariable = Chr$(10) & LCase$(PutVariable) & "="
        
EnsureFileExists:
    Open INIpath For Binary As NF
    Close NF
    SetAttr INIpath, vbArchive
    
LoadFile:
    Open INIpath For Input As NF
    Temp = Input$(LOF(NF), NF)
    Temp = vbCrLf & Temp & "[]"
    Close NF
    LcaseTemp = LCase$(Temp)
    
LogicMenu:
    LOKEY = InStr(LcaseTemp, ReadKey)
    If LOKEY = 0 Then GoTo AddKey:
    HIKEY = InStr(LOKEY + KEYLEN, LcaseTemp, "[")
    VAR = InStr(LOKEY, LcaseTemp, ReadVariable)
    If VAR > HIKEY Or VAR < LOKEY Then GoTo AddVariable:
    GoTo RenewVariable:
    
AddKey:
        Temp = Left$(Temp, Len(Temp) - 2)
        Temp = Temp & vbCrLf & vbCrLf & "[" & PutKey & "]" & vbCrLf & PutVariable & "=" & PutValue
        GoTo TrimFinalString:
        
AddVariable:
        Temp = Left$(Temp, Len(Temp) - 2)
        Temp = Left$(Temp, LOKEY + KEYLEN) & PutVariable & "=" & PutValue & vbCrLf & Mid$(Temp, LOKEY + KEYLEN + 1)
        GoTo TrimFinalString:
        
RenewVariable:
        Temp = Left$(Temp, Len(Temp) - 2)
        VARENDOFLINE = InStr(VAR, Temp, Chr$(13))
        Temp = Left$(Temp, VAR) & PutVariable & "=" & PutValue & Mid$(Temp, VARENDOFLINE)
        GoTo TrimFinalString:
 
TrimFinalString:
        Temp = Mid$(Temp, 2)
        Do Until InStr(Temp, vbCrLf & vbCrLf & vbCrLf) = 0
        Temp = Replace(Temp, vbCrLf & vbCrLf & vbCrLf, vbCrLf & vbCrLf)
        Loop
    
        Do Until Right$(Temp, 1) > Chr$(13)
        Temp = Left$(Temp, Len(Temp) - 1)
        Loop
    
        Do Until Left$(Temp, 1) > Chr$(13)
        Temp = Mid$(Temp, 2)
        Loop
    
OutputAmendedINIFile:
        Open INIpath For Output As NF
        Print #NF, Temp
        Close NF
End Function


How helpful was this article to you?

Related Articles

article Bagaimana mengelola Registry Windows dengan VB, Mari kita ikuti pembahasannya
Bagi pembuat aplikasi desktop pada windows,...

(No rating)  6-1-2009    Views: 727   
article Bagaimana caranya bisa SMS Gratis ? Yup Kita ikuti Tipsnya

(No rating)  5-4-2009    Views: 1652   
article Bagaimana mengetahui nomor port yang terbuka pada sistem kita?
Mengetahui nomor port yang terbuka pada...

  2-20-2009    Views: 3928   

User Comments

Add Comment
No comments have been posted.



Status YM
Copyright © 2009 cimahi-one.com