Accueil > > > ENUMÈRER LES SECTIONS D'UN FICHIER .INI
ENUMÈRER LES SECTIONS D'UN FICHIER .INI
Information sur la source
Description
Ben, il liste les sections d'un Fichier .INI. Section = Les texte en crochet (ex : "[Windows]") & donne les données de toutes les sections sous la forme "Key=Value"
Source
- 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
Conclusion
Je déconseille cette méthode pour des gros fichiers (Buffer fixe + Split = grosse consomation mémoire) Prenez plutôt une autre source de VBFrance(y'en a plein) pour lire directement le fichier.
J'ai retapé cette source sans VB6 mais avec le notepad (je suis passer comme beaucoup à C# depuis presque 2 ans) Il risque d'avoir un gros tas d'erreurs.
Historique
- 18 janvier 2005 19:33:41 :
- Ajout de la lecture des données des sections
Sources du même auteur
Sources de la même categorie
Commentaires et avis
|
Derniers Blogs
PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS !PAS D'INTELLITRACE SUR MON SITE WEB DANS IIS ! par Etienne Margraff
J'ai récemment eu un problème pour obtenir l'intelliTrace sur un site web dans IIS. Il n'y avait pas de message d'erreur, rien dans le journal d'évènement Windows, et après 3 appels à une voyante, 2 visites chez un marabou, j'ai failli me résign...
Cliquez pour lire la suite de l'article par Etienne Margraff OFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONSOFFICE 365 - SHAREPOINT ONLINE, QUELQUES LIMITATIONS par junarnoalg
De nombreuses entreprises font le choix de SharePoint Online, service fourni au travers de l'offre de Microsoft Office 365. S'il est vrai que ce choix apporte un grand nombre d'avantages; rapidité de mise en œuvre, disponibilité, large couvertu...
Cliquez pour lire la suite de l'article par junarnoalg PRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGEPRéSENTATION DES API REST DE WINDOWS AZURE : LISTER LES COMPTES DE STORAGE par richardc
http://www.c2idotnet.com/articles/presentation-des-api-rest-de-windows-azure-lister-les-comptes-de-storage
Désolé pour "toto", mais c2i existait avant blogs.developpeur.org et c'est mon site "officiel" ;-) ...
Cliquez pour lire la suite de l'article par richardc [HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE)[HTML5] SLIDES ET DéMOS : AUTOUR DU W3C , NOUVEAUX STANDARDS ET WEB MOBILE (LILLE) par Gio
Très bonne après-midi passée lors cette conférence avec le W3C, organisée par L' Inria sur les nouveaux standards, ce Mardi 14 Février, on sent vraiment que çà bosse au W3C, et l'avenir est très très prometteur pour le HTML5, notamment ...
Cliquez pour lire la suite de l'article par Gio
Logiciels
DocTranslate (V3.1.0.0)DOCTRANSLATE (V3.1.0.0)DocTranslate est un traducteur de document Microsoft Word, PowerPoint et Excel. Il permet d'autom... Cliquez pour télécharger DocTranslate Tribler (2012)TRIBLER (2012)Tribler est un client pair à pair (P2P/Peer-to-Peer) open source avec la capacité de regarder des... Cliquez pour télécharger Tribler OneSwarm (2012)ONESWARM (2012)Le peer-to-peer qui protège votre vie privée, c'est OneSwarm.
Ce logiciel de peer-to-peer crypté... Cliquez pour télécharger OneSwarm PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO (V8.4)PONAMEDIA TV DEVIENS HELLLOOO FLASH
LA TV SUR VOTRE ORDINATEUR.
Toute une plateforme Multi... Cliquez pour télécharger PONAMEDIA PREMIUM - HELLLOOO FLASH DEMO Academy System (17.2.1.0)ACADEMY SYSTEM (17.2.1.0)Logiciel de gestion des établissements.
- élèves/étudiants (inscription, dossier, absence...)
-... Cliquez pour télécharger Academy System
|