Lire des variables dans un fichier

Résolu
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015 - 3 avril 2007 à 16:55
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015 - 3 avril 2007 à 20:15
Bonjour,

Voilà, g un fichier, et je voudrais lire des variables a l'intérieur
Pour l'instant je prend l'intégralité du fichier et je le met dans la variable 'strTexteFichier '
a = FreeFile()
pChemin = App.Path & "\..\includes\txt.ini"
Open pChemin For Input As a
strTexteFichier = Input(LOF(a), a)
Close a

Maintenant, ma variable contient des variables comme suivant :

 str_User                 = "Adm"
 str_Password         = "785"
 str_Catalog            = "otg"

je voudrais extraire le contenu de ces variables.
Comment faire please ?

Merci d'avance

12 réponses

cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015
3 avril 2007 à 18:28
C'est le split lool j'avais fait un tuto dessus en plus....
3
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 avril 2007 à 20:02
Ah !

Bon alors !
Transpose en VB.Net ceci; donc :

Private Sub Command1_Click()
 toto = """pour que tu voies qu'il y a bien des guillements dans ta chaîne"""
 MsgBox toto
 titi = Mid(toto, InStr(toto, Chr(34)) + 1)
 titi = Mid(titi, 1, InStr(titi, Chr(34)) - 1)
 MsgBox titi & vbCrLf & "où sont les guillements, maintenant ?"
End Sub
3
drikce06 Messages postés 2236 Date d'inscription lundi 29 mai 2006 Statut Membre Dernière intervention 29 mai 2008 10
3 avril 2007 à 17:00
Salut utilise la fonction split sur les éléments du tableau freefile
du style

dim splitfreefile() as string
dim str_user as string
splitfreefile = split(freefile(0), "=",-1,comparemethodetext)
str-user = splitfreefile(1)

 Drikce 06

Si la réponse vous convient: Réponse acceptée. Si la réponse vous convient pas:
0
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015
3 avril 2007 à 17:25
J'comprend pas trop en fait, ton code

moi mon idée serait de parcourir le fichier (qui apres mon code, est contenu dans la variable strTexteFichier ligne par ligne, et les ligne ou y a "=" je prendrais la variable à droite de "=" entre les guillemets ....

mais alors foutre ça en code .... sachant que ça fait perpet que g pas fait de vb ....et que je n'ai pas msdn ...

c la misere !!!!!
 t'aurais une idée ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 avril 2007 à 17:31
Bonjour,

Il est impossible d'utiliser une chaîne de caractères pour invoquer une variable....
Tu perds donc carrément ton temps et devrais chercher une autre méthode que celle-ci qui ne te conduira nulle part !
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 avril 2007 à 17:36
Si tu veux te servir d'un fichier texte pour y enmagasiner des valeurs de variables, il te faut ruser.

Voici déjà une méthode (parmi d'autres)

Dans ton appli : un tableau dynamique de variables
dans ton fichier texte : les N°s des index et, en regard, les valeurs correspondantes

à l'ouverture d'une session : recharger le tableay dynamique depuis les index et valeurs lus dans le fichier texte.
0
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015
3 avril 2007 à 17:48
En fait si tu veux je n'ai pas la possibilité de le modifier ce fichier texte.

C'est un fichier qui contient des variables dont le contenu change quand mon appli changera d'environnement, mais le fichier est situé au même endroit (chemin relatif), et le nom des variables dans ce fichier ne changeront jamais (par contre leur contenu change quand je change d'environnement)

Donc là g attaqué le problème en lisant mon fichier ligne par ligne, j'fous toutes les lignes dans un tableau, ensuite j'inspecte ces lignes en cherchant un mot dans la chaine.

Me reste a trouver comment chercher un mot dans une chaine de caractère ;)
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 avril 2007 à 17:54
en d'autres termes (on va oublier la notion de fichier texte, donc, et celle de variables) :
Tu veux simplement savoir (pour chaque ligne lue) comment, par exemple extraire d'une chaîne :
blabla = "zozo"
le mot zozo ?
C'est seulement celà ?
0
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015
3 avril 2007 à 17:59
Exactement

Donc là je utiliser instr sur chaque ligne pour voir si une des variables est presente sur la ligne, ensuite si oui, je prendrai la chaine de caractère qui est présente entre les deux ""

mais ça j'me rapelle plus en vb comment on fait ?
0
jmfmarques Messages postés 7666 Date d'inscription samedi 5 novembre 2005 Statut Membre Dernière intervention 22 août 2014 27
3 avril 2007 à 18:51
Ouais ....
Un split pour si peu.... (un seul mot)... me parait démesuré (comme prendre une pelle pauclain juste pour planter un jeune rosier...(instr sur "= ") suffit largement)  mais bon.
.. c'est ton choix...
0
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015
3 avril 2007 à 19:44
Vazy propose un code avec instr pour extraire "ji" dans va= "ji"
je ne savais pas que ça servait à ça .....
0
cs_revolt Messages postés 68 Date d'inscription samedi 5 mai 2001 Statut Membre Dernière intervention 15 mars 2015
3 avril 2007 à 20:15
Merci Mec!!!


Je metterai en application ça demain ;)
0
Rejoignez-nous