Hej! HejProblem med Ini filer
Jag får inget av alla tips och ttix när det gäller ini filer att fungera, hur läser jag egentligen ett värde från en ini fil?
//ErxSv: Problem med Ini filer
Här kommer ett lite enklare och kanske tydligare exempel.
<BR><BR>
Skapa ett projekt med ett formulär och en modul.
<BR><BR>
I modulen så kopiera och klistra in följande:
<code>
Option Explicit
' Läs från privat inifil
Private Declare Function GetPrivateProfileString Lib "kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
' Skriv till privat inifil
Private Declare Function WritePrivateProfileString Lib "kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long
Public Function IniPrivateRead(sSection As String, sKey As String, sFile As String) As String
' Hämta värden från inifil
Dim lResult As Long
Dim sReturnedValue As String
sReturnedValue = Space$(512)
lResult = GetPrivateProfileString(sSection, sKey, "", sReturnedValue, 512, sFile)
If lResult = 0 Then
IniPrivateRead = ""
Else
IniPrivateRead = Left$(sReturnedValue, lResult)
End If
End Function
Public Function IniPrivateWrite(sSection As String, sKey As String, ByVal sValue As String, sFile As String) As Boolean
' Spara värden till inifil
Dim lResult As Long
sValue = Trim$(sValue)
lResult = WritePrivateProfileString(sSection, sKey, sValue, sFile)
If lResult = 0 Then
IniPrivateWrite = False
Else
IniPrivateWrite = True
End If
End Function
</code>
I formuläret så lägg in två commandbuttons och en textbox.
<BR><BR>
I den ena knappen så lägg in följande:
<code>
Dim SampleText As String
Dim Success As Long
SampleText = Text1.Text
Success = IniPrivateWrite("TestSektion", "TestEntry", SampleText, "C:\Initestfile.ini")
Text1.Text = "" ' Radera texten i textboxen
</code>
Och i den andra knappen så lägg in detta:
<code>
Dim SampleText As String
SampleText = IniPrivateRead("TestSektion", "TestEntry", "C:\Initestfile.ini")
Text1.Text = SampleText
</code>
När knapparna klickas på så kommer koden att läsa och skriva värden från och till textboxen.
<BR><BR>
Tala om här när du fått det att fungera.
<BR><BR>
Mvh/Olof