Arsip

Posts Tagged ‘Get & Write INI File’

Fungsi untuk membaca file Text

13 November 2011 1 komentar

Fungsi Membaca


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

Fungsi Menyimpan


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

Fungsi untuk memanggil Write & Get


Option Explicit

Private Sub Command2_Click()
On Error Resume Next
'/Menyimpan kedalam file text
WriteIniValue App.Path & "\Config.ini", "Database", "username", Text1.Text
End Sub

Private Sub Form_Load()
On Error Resume Next
'/Membaca file text saat aplikasi dijalankan
Text1.Text = ReadIniValue(App.Path & "\Config.ini.", "Database", "username")
List1.AddItem (ReadIniValue(App.Path & "\Config.ini.", "Database", "port"))
Combo1.Text = ReadIniValue(App.Path & "\Config.ini.", "Database", "pass")
End Sub

Semoga bermanfaat, silahkan untuk sample disini