Menu Horisontal

Sabtu, 16 Maret 2013

Cara Membaca & Menulis INI File Vb6


Sumber : http://arifsoftgames.blogspot.com/2013/02/cara-membaca-menulis-ini-file-vb6.html

Pasti ada orang bertanya-tanya bagaimana menggunakan file INI untuk VB6???, nah Pada kesempatan ini saya akan memberikan cara untuk membaca dan menulis INI File pada VB6. Semoga membantu :)





Bahan - Bahan :
1. Visual Basic 6, kalo belom punya pake yang portable gak apa-apa. Download disini | Password : arifsoftgames
2. Kesabaran

Caranya :
1. Tambahkan 3 TextBox, 1 Timer dan 1 Command Button
Saya Menyusun Seperti ini.
2. Buat 2 Module
Module 1 kasih nama : Read
Module 2 kasih nama : Write
Klik kanan, pilih Add lalu klik Module
Sekarang Tahap Codingnya :
Klik 2x pada daerah form 1 dan masukkan code ini :
'Coding Form
Private Sub Command1_Click()
End
End Sub

Private Sub Form_Load()
Text1.Text = ReadIniValue(App.Path & "\INFO.ini", "Default", "Text1")
    Text2.Text = ReadIniValue(App.Path & "\INFO.ini", "Default", "Text2")
    Text3.Text = ReadIniValue(App.Path & "\INFO.ini", "Default", "Text3")
    Timer1.Enabled = True
End Sub

Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
    If UnloadMode = 0 Then Cancel = 1
End Sub

Private Sub Timer1_Timer()
WriteIniValue App.Path & "\INFO.ini", "Default", "Text1", Text1.Text
    WriteIniValue App.Path & "\INFO.ini", "Default", "Text2", Text2.Text
    WriteIniValue App.Path & "\INFO.ini", "Default", "Text3", Text3.Text
End Sub

Pada Module 1 / Read masukkan Code ini
'Fungsi Module Read
Option Explicit

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

Pada Module 2 / Write masukkan Code ini :
'Fungsi Module Write
Option Explicit

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
' Selesai

Nah sekarang kita tinggal compile exe aja caranya :
Masuk menu file > Make EXE file
Make EXE file
Sekedar info aja, nanti file *.ini bernama INFO.ini

Tidak ada komentar: