Hur läser jag på på ett visst ställe i filen? Detta är basfunktioner jag använder när jag skapar,skriver och läser ini filer. Hej Testa detta Hej Jag har gjort en liten grunka för hantering av .ini-filer som du kanske kunde ha nytta av.ini filer, Hämta data från speciel rad i filen
ini-fil
File1=Test.txt
File2=Hello.txt
vill kunna leta upp File2 och hämta värde.
//INTOSv: ini filer, Hämta data från speciel rad i filen
För enkelhetens skull lägg dem i en modul.
Hoppas att de hjälper dig.
Knoton
<code>
Option Explicit
Private Declare Function GetPrivateProfileSection Lib "kernel32" Alias "GetPrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
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
Private Declare Function WritePrivateProfileSection Lib "kernel32" Alias "WritePrivateProfileSectionA" (ByVal lpAppName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
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
'Skriver ini sträng
Public Function ReadIni(ByVal FileName As String, ByVal Section As String, ByVal Key As String) As String
Dim RetVal As String * 255, v As Long
v = GetPrivateProfileString(Section, Key, "", RetVal, 255, FileName)
ReadIni = Left(RetVal, v)
End Function
'Läser section i ini
Public Function ReadIniSection(FileName As String, Section As String) As String
Dim RetVal As String * 255, v As Long
v = GetPrivateProfileSection(Section, RetVal, 255, FileName)
ReadIniSection = Left(RetVal, v - 1)
End Function
'Skriver ini
Public Sub WriteIni(ByVal FileName As String, ByVal Section As String, ByVal Key As String, ByVal Value As String)
WritePrivateProfileString Section, Key, Value, FileName
End Sub
'Skriver section i ini
Public Sub WriteIniSection(FileName As String, Section As String, Value As String)
WritePrivateProfileSection Section, Value, FileName
End Sub
'Tar bort section i ini
Public Sub RemoveIniSection(FileName As String, Section As String)
WritePrivateProfileString Section, vbNullString, "", FileName
End Sub
</code>Sv: ini filer, Hämta data från speciel rad i filen
Modul:
Declare Function WritePrivateProfileString Lib "kernel32.dll" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As String, ByVal lpString As String, ByVal lpFileName As String) As Long
Declare Function GetPrivateProfileString Lib "kernel32.dll" 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
Form:
Skriv till INI fil:
Dim retval As Long ' return value
' Set the string value.
retval = WritePrivateProfileString("File2", "Värde", Text1.Text, "C:\Program\VBtest\Setting.ini")
Värde är det som du vill skall lagras INI filen t,ex värdet i text1.text.
Hämta från ini fil:
Dim uname As String
Dim slength As Long
uname = Space(255) buffer ' Read from the INI file
slength = GetPrivateProfileString("File2", "Värde", "anonymous", uname, 255, "C:\Program\VBTest\Setting.ini")
uname = Left(uname, slength)
Text1.Text = uname
/TobbeSv: ini filer, Hämta data från speciel rad i filen
Vad är det som du vill veta ?
I ini filen ser det ut så här.
[File2] =(Section)
Detta är det värde som du vill skall hämtas till text1.text = (värde)
Om du använder mitt ex.
/ tobbeSv: ini filer, Hämta data från speciel rad i filen
[Hantering av .ini-filer (objektorienterat)]
/Egget