- Private Declare Function GetPrivateProfileSectionNames Lib "kernel32.dll" Alias "GetPrivateProfileSectionNamesA" (ByVal lpszReturnBuffer As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
-
- Private Sub command2_click()
- ' cette sub vient de ApiGuide (www.allapi.net)
- ' +commentée
- ' +bien retapée
- Dim szBuf As String, Length As Integer
- Dim SectionArr() As String, m As Integer
-
- ' On créer un buffer
- szBuf = String$(255, 0)
- ' On appelle l'api pour le remplir des sections du fichier .INI
- ' Les sections sont séparer par chr(0)
- ' La valeur retourné (length) est la valeur
- Length = GetPrivateProfileSectionNames(szBuf, 255, Text1.Text)
- ' On extrait la valeur de la chaine remplit(le reste, c'est du chr(0))
- szBuf = Left$(szBuf, Length)
- ' On découpe la chaine dans un tableau
- SectionArr = Split(szBuf, vbNullChar)
- ' Un for qui liste toute les sections
- For i& = 0 To UBound(SectionArr)
- ' SectionArr(i&) est une section
- debug.print SectionArr(i&)
- ShowKeyValue SectionArr(i&), Text1.Text
- Next m
- End Sub
-
-
- 'Et en bonus
- Sub ShowKeyValue(section As String, file As String)
- 'Je ai fais moi-même cette sub
- ' Merci encore à ApiGuide
-
- ' nBufLength définit la longueur maxi des données lues (mettez plus pour un gros fichier)
- ' Win95&+ Maxi : 2^16
- ' WinNT&+ Maxi : 2^32
- Dim nBufLength as Long
- nBufLength = 255
- Dim szBuf As String * nBufLength
- Dim count as Long
-
- count= GetPrivateProfileSection(section, szBuf, nBufLength, file)
- dim arKeyValue() as String
- arKeyValue = Split(Left(szBuf, count), count)
- ' arKeyValue contient des strings sous la forme "Key=Value"
-
- For i& = 0 To UBound(arKeyValue)
- 'arKeyValue (i&) est une entrée de la forme "Key=Value"
- Debug.Print arKeyValue (i&)
- Next
- End Sub
Private Declare Function GetPrivateProfileSectionNames Lib "kernel32.dll" Alias "GetPrivateProfileSectionNamesA" (ByVal lpszReturnBuffer As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Sub command2_click()
' cette sub vient de ApiGuide (www.allapi.net)
' +commentée
' +bien retapée
Dim szBuf As String, Length As Integer
Dim SectionArr() As String, m As Integer
' On créer un buffer
szBuf = String$(255, 0)
' On appelle l'api pour le remplir des sections du fichier .INI
' Les sections sont séparer par chr(0)
' La valeur retourné (length) est la valeur
Length = GetPrivateProfileSectionNames(szBuf, 255, Text1.Text)
' On extrait la valeur de la chaine remplit(le reste, c'est du chr(0))
szBuf = Left$(szBuf, Length)
' On découpe la chaine dans un tableau
SectionArr = Split(szBuf, vbNullChar)
' Un for qui liste toute les sections
For i& = 0 To UBound(SectionArr)
' SectionArr(i&) est une section
debug.print SectionArr(i&)
ShowKeyValue SectionArr(i&), Text1.Text
Next m
End Sub
'Et en bonus
Sub ShowKeyValue(section As String, file As String)
'Je ai fais moi-même cette sub
' Merci encore à ApiGuide
' nBufLength définit la longueur maxi des données lues (mettez plus pour un gros fichier)
' Win95&+ Maxi : 2^16
' WinNT&+ Maxi : 2^32
Dim nBufLength as Long
nBufLength = 255
Dim szBuf As String * nBufLength
Dim count as Long
count= GetPrivateProfileSection(section, szBuf, nBufLength, file)
dim arKeyValue() as String
arKeyValue = Split(Left(szBuf, count), count)
' arKeyValue contient des strings sous la forme "Key=Value"
For i& = 0 To UBound(arKeyValue)
'arKeyValue (i&) est une entrée de la forme "Key=Value"
Debug.Print arKeyValue (i&)
Next
End Sub