Tämä koodi lukee INI tiedoston:
Option Explicit
Public 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
Function ReadINI(Section As String, KeyName As String) As String
Dim sRet As String
sRet = String(255, Chr(0))
ReadINI = Left(sRet, GetPrivateProfileString(Section, ByVal KeyName$, "", sRet, Len(sRet), App.Path & "\Programs.ini"))
End Function
INI tiedoston sisältö näyttää taas puolestaan tämän näköiseltä:
[msimn.exe]
FileName=msimn.exe
Path=C:\Program Files\Outlook Express\msimn.exe
[test.exe]
FileName=text.exe
Path=C:\text.exe
Nyt kysyisinkin kuin voin hakea kaikki tiedostonimet tuosta INI tiedostosta esim. [msimn.exe], [test.exe] että ohjelmani osaisi listata ne kaikki olisipa niitä kuinka paljon tahansa muotoon:
msimn.exe
test.exe
Option Explicit
Public 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
Function ReadINI(Section As String, KeyName As String) As String
Dim sRet As String
sRet = String(255, Chr(0))
ReadINI = Left(sRet, GetPrivateProfileString(Section, ByVal KeyName$, "", sRet, Len(sRet), App.Path & "\Programs.ini"))
End Function
INI tiedoston sisältö näyttää taas puolestaan tämän näköiseltä:
[msimn.exe]
FileName=msimn.exe
Path=C:\Program Files\Outlook Express\msimn.exe
[test.exe]
FileName=text.exe
Path=C:\text.exe
Nyt kysyisinkin kuin voin hakea kaikki tiedostonimet tuosta INI tiedostosta esim. [msimn.exe], [test.exe] että ohjelmani osaisi listata ne kaikki olisipa niitä kuinka paljon tahansa muotoon:
msimn.exe
test.exe
Vastaukset 2
Vanhimmat
Sillä keksin itse ratkaisun tuon ongelmaan :)
Toivottavasti keksit API-kutsut:
GetPrivateProfileSection
ja
GetPrivateProfileSectionNames