Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

RÉCUPÉRATION DE VARIABLES SITUÉES DANS UN FICHIER INF OU INI


Information sur la source

Catégorie :Fichier / Disque Classé sous : fichier, inf, ini, variable Niveau : Débutant Date de création : 02/08/2001 Vu / téléchargé: 2 505 / 173

Note :
6,5 / 10 - par 2 personnes
6,50 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (2)
Ajouter un commentaire et/ou une note

Description

J'ai mis un exemple dans le zip (attention à avoir les ComDlg!)

Le code est pas tellement compliqué et il gère bien des erreurs (de toute manière si la chaine renvoyée est nulle ben c'est qu'il y a une erreur dans les paramètres que vous avez passés)

Note: Pour passer les noms des clés ne mettez pas les crochets, la fonction s'en charge

 

Source

  • Option Compare Text
  • Public Function RetrieveKey(ByVal FileName As String, ByVal KeyName As String, ByVal VarName As String) As String
  • Dim sResult As String
  • Dim sCurrentLine As String
  • Dim KeyFound As Boolean
  • Dim EndOfKey As Boolean
  • Dim VarFound As Boolean
  • Dim i As Integer
  • KeyFound = False
  • ' SI LE FICHIER N'EXISTE PAS ON QUITTE SANS RIEN RETOURNER
  • ' ON EFFECTUE LA RECHERCHE PARMI TOUS LES FICHIERS
  • If Dir(FileName, 7) = "" Then
  • RetrieveKey = vbNullString
  • Exit Function
  • End If
  • Open FileName For Input As #1
  • ' *******************
  • ' RECHERCHE DE LA CLE
  • Do While (Not EOF(1)) And KeyFound = False
  • Line Input #1, sCurrentLine
  • If sCurrentLine = "[" & KeyName & "]" Then
  • KeyFound = True
  • End If
  • Loop
  • ' SI PAS DE CLE TROUVEE ALORS ON QUITTE ET ON NE RENVOIE RIEN
  • If Not KeyFound Then
  • RetrieveKey = vbNullString
  • Close #1
  • Exit Function
  • End If
  • ' ************************
  • ' RECHERCHE DE LA VARIABLE
  • EndOfKey = False
  • VarFound = False
  • Do While (Not EndOfKey) And (Not VarFound)
  • Line Input #1, sCurrentLine
  • ' CONDITIONS D'ARRET
  • If EOF(1) Then EndOfKey = True 'SI FIN DE FICHIER
  • If Mid(sCurrentLine, 1, 1) = "[" Then EndOfKey = True 'SI NOUVELLE CLE
  • ' RECHERCHE DES BORNES DE LA VARIABLE
  • i = 1
  • Do While Mid(sCurrentLine, i, 1) <> "="
  • i = i + 1
  • Loop
  • If Mid(sCurrentLine, 1, i - 1) = VarName Then
  • VarFound = True
  • End If
  • Loop
  • ' SI FIN DE CLE ET TOUJOURS PAS DE VARIABLE TROUVEE
  • If EndOfKey And (Not VarFound) Then
  • RetrieveKey = vbNullString
  • Close #1
  • Exit Function
  • End If
  • sResult = Mid(sCurrentLine, i + 1, (Len(sCurrentLine) - i))
  • Close #1
  • RetrieveKey = sResult
  • End Function
Option Compare Text

Public Function RetrieveKey(ByVal FileName As String, ByVal KeyName As String, ByVal VarName As String) As String
Dim sResult As String
Dim sCurrentLine As String
Dim KeyFound As Boolean
Dim EndOfKey As Boolean
Dim VarFound As Boolean
Dim i As Integer

KeyFound = False


' SI LE FICHIER N'EXISTE PAS ON QUITTE SANS RIEN RETOURNER
' ON EFFECTUE LA RECHERCHE PARMI TOUS LES FICHIERS
If Dir(FileName, 7) = "" Then
RetrieveKey = vbNullString
Exit Function
End If

Open FileName For Input As #1

' *******************
' RECHERCHE DE LA CLE

Do While (Not EOF(1)) And KeyFound = False

Line Input #1, sCurrentLine
If sCurrentLine = "[" & KeyName & "]" Then
KeyFound = True
End If

Loop

' SI PAS DE CLE TROUVEE ALORS ON QUITTE ET ON NE RENVOIE RIEN
If Not KeyFound Then
RetrieveKey = vbNullString
Close #1
Exit Function
End If

' ************************
' RECHERCHE DE LA VARIABLE
EndOfKey = False
VarFound = False

Do While (Not EndOfKey) And (Not VarFound)
    Line Input #1, sCurrentLine
    
    ' CONDITIONS D'ARRET
    If EOF(1) Then EndOfKey = True   'SI FIN DE FICHIER
    If Mid(sCurrentLine, 1, 1) = "[" Then EndOfKey = True 'SI NOUVELLE CLE
    
    ' RECHERCHE DES BORNES DE LA VARIABLE
    i = 1
    Do While Mid(sCurrentLine, i, 1) <> "="
    i = i + 1
    Loop
    
    If Mid(sCurrentLine, 1, i - 1) = VarName Then
    VarFound = True
    End If
    
Loop




' SI FIN DE CLE ET TOUJOURS PAS DE VARIABLE TROUVEE
If EndOfKey And (Not VarFound) Then
RetrieveKey = vbNullString
Close #1
Exit Function
End If


sResult = Mid(sCurrentLine, i + 1, (Len(sCurrentLine) - i))

Close #1
RetrieveKey = sResult
End Function
 

Conclusion

Y a aussi un ptit exemple que j'ai mis pour montrer comment il marche (c'est là ke vous avez besion des comdlg)
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip

Commentaires et avis

signaler à un administrateur
Commentaire de warreng69 le 08/12/2002 19:33:41

Votre code est tres bien.
je voudrai juste demander si kelk un possederai une source avec une fonction de lecture d'un fichier ini avec seulement le nom du fichier en parametres.
merci
et je souhaiterai egalement savoir comment le fichier ini peut etre lu (chargé) par une application.

signaler à un administrateur
Commentaire de peponr le 20/01/2003 19:08:32

Ouais ça serai cool que qqn me dise aussi comment chargé un fichier ini ??? svp

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

reglage de variable par fichier .ini [ par jon51 ] bonjour je suis entrain de terminer mon projet qui est une supervision sou VB2005 express. cette application utilise des plage d'adresse ip rentré en Fichier INI : Impossible d'utiliser une variable en tant que ligne ... [ par Volkmar ] J'ai eut bo tester, j'en suis arrivé à cette conclusion : on ne peut pas mettre une variable dans un fichier ini afin de choisir la ligne... Pour que, fichiers .ini [ par spectresombre ] Salut,Aucun souci pour écrire dans un fichier ini mais pour la lecture : IMPOSSIBLE!!!Mon module se présente comme ceci :Private Declare Function GetP Fichier INI [ par frbass ] Bonjour,Grâce à votre site j'ai trouvé comment utiliser les fichiers ini dans mon programme.Cepandant, est-il possible d'obtenir une variable suite à modifier le nom d'une variable dans un fichier ini [ par true_picpic ] salut tous,alors voila je sais que sur le site y'a des dizaines de sujets qui en parlent mais mon problème n'est pas de lire/ecrire/supprimer une vari Couleur & variable [ par Bruno28 ] Bonjour.(suis en VB.Net 2003) J'ai enregistr&#233; une couleur dans un fichier .INI (utilisation de ColorDialog) Je sais lire le fichier ini, mais qua Textebox multiligne et fichier ini [ par bdoux86 ] Bonjour,j'ai un souci, lorsque je remplis une textbox sur plusieurs lignes et que je l'enregistre dans un fichier ini, au redémarrage de mon programme sauver ac un nom de fichier variable (Débutant!) [ par jule29 ] Bonjour,J'utilise le VBA sous excel pour un probleme d'optimisation. je genere des formes de maniere aléatoire (en utisant l'agorithme d'halton) et je enregistrer l'état d'un fenêtre dans un fichier .ini [ par timon23 ] Bonjour a tous J'aimerais savoir comment faire pour enregistrer l'état de ma fenêtre quand je ferme mon apllication.Par exemple si elle a été agrandie nom de fichier excel en variable non reconnue [ par salade007 ] Bonjour à tousj utilise vba sur excel97 pour raison professionnelle le plus souvent.j ai déja rélaiser pas mal de codes qu'itilisent mes collaborateur


Nos sponsors

Sondage...

CalendriCode

Janvier 2009
LMMJVSD
   1234
567891011
12131415161718
19202122232425
262728293031 

Consulter la suite du CalendriCode

Téléchargements



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,437 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.