[R] Problème de lecture d'un fichier .ini

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Bayo
Niveau 4
Niveau 4
Messages : 79
Enregistré le : mer. 23 avr. 2014 10:19
Status : Hors ligne

[R] Problème de lecture d'un fichier .ini

#1

Message par Bayo »

Bonjour,

Je voudrai votre aide pour rechercher dans un fichier .ini.

Les fonctions existantes ne m'aide pas car je dispose d'une partie de la clé et je voudrai la section ou l'autre partie de la clé exemple ci-dessous. J'ai voulu du coup le faire avec un FileReadLine mais ça me lit correctement la 1ere ligne mais toutes les suivantes sont vides.
► Afficher le texte
donc j'ai le 70900 et faut que je retrouve le Test200.

Merci d'avance.
Modifié en dernier par Bayo le mar. 19 mai 2015 15:00, modifié 1 fois.
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..]Pb lecture fichier ini

#2

Message par jchd »

Un .INI n'a pas la structure adéquate pour ce genre de recherche. Dans le cas d'un volume non trivial (pas seulement 5 clés) et de recherches multiples, une base SQLite serait parfaite. Avis perso : même pour moins, j'emploie SQLite pour tout stockage applicatif.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Bayo
Niveau 4
Niveau 4
Messages : 79
Enregistré le : mer. 23 avr. 2014 10:19
Status : Hors ligne

Re: [..]Pb lecture fichier ini

#3

Message par Bayo »

malheureusement le fichier .ini est utilisé depuis des années dans mon boulot pour stocker des PCs et des informations sur eux et je ne peux pas toucher à ça, donc pour toi il n'est pas possible de faire ce que je veux sur un .ini?
Hugues
Niveau 8
Niveau 8
Messages : 597
Enregistré le : ven. 21 sept. 2012 18:12
Status : Hors ligne

Re: [..]Pb lecture fichier ini

#4

Message par Hugues »

Salut,

Tu veux faire une recherche à partir du bout de la clef?

C'est à dire 70900 pour retrouver Test200_SERIE ou bien le nom de ta section [Test200]?
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..]Pb lecture fichier ini

#5

Message par jchd »

Je n'ai jamais affirmé que c'était impossible, juste que c'était inadéquat.
Une simple regexp peut fournir le résultat recherché.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..]Pb lecture fichier ini

#6

Message par mikell »

Bien sûr que si, les fonctions ini existantes font l'affaire :roll:
► Afficher le texte
Ou sinon ça
► Afficher le texte
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Bayo
Niveau 4
Niveau 4
Messages : 79
Enregistré le : mer. 23 avr. 2014 10:19
Status : Hors ligne

Re: [..]Pb lecture fichier ini

#7

Message par Bayo »

merci je testerai tout ça au boulot demain, en effet ta solution est cohérente par contre j'ai toujours eu du mal avec les StringRegExp($content[$k][1], '\h*\Q' & $mot & '\E\h*') que j'ai vraiment du mal à comprendre (\h*\Q etc) quand je recherche quelque chose, je fais des StringSplit de tout les côtés.

Merci je te tiens au courant demain
Avatar du membre
jchd
AutoIt MVPs (MVP)
AutoIt MVPs (MVP)
Messages : 2284
Enregistré le : lun. 30 mars 2009 22:57
Localisation : Sud-Ouest de la France (43.622788,-1.260864)
Status : Hors ligne

Re: [..]Pb lecture fichier ini

#8

Message par jchd »

Autant rechercher directement une section suivie d'une clé ayant pour valeur ce qui est recherché, soit au total une seule regexp, AMHA. Sauf à devoir valider après coup un seul résultat dans plusieurs sections où il figure.

Ceci dit, je maintiens qu'un .INI n'est pas le conteneur adapté à ce qu'on cherche à faire. Ce n'est pas parce "qu'on a toujours fait comme ça" qu'on doit persister dans l'erreur, toujours AMHA.
La cryptographie d'aujourd'hui c'est le taquin plus l'électricité.
Avatar du membre
Tlem
Site Admin
Site Admin
Messages : 11812
Enregistré le : ven. 20 juil. 2007 21:00
Localisation : Bordeaux
Status : Hors ligne

Re: [..] Problème de lecture d'un fichier .ini

#9

Message par Tlem »

Bonsoir.
D'après les informations données par Bayo, il n'est pas question voir impossible de modifier le programme qui produit ces fichiers .ini. Donc exit la possibilité d'utiliser autre chose que l'existant. ^^

Ensuite d'après ce que je comprend, Bayo souhaite avoir :
- Soit le nom de la section
- Soit le début de la clé correspondant à "la valeur connue" (qui est identique au nom de la section).

Les codes de mikell sont pas mal, mais peuvent entrainer quelques erreurs.
Le premier code vérifie si la valeur recherchée existe dans la valeur de la clé. Ce qui poserait un problème pour un .ini contenant ce type de valeurs :

Code : Tout sélectionner

[Test199]
Test199_SERIE=170900 

[Test200]
Test200_SERIE=70900
Le deuxième code de mikell, bien qu'attrayant par le peu de code, présente aussi un gros problème.
Si la valeur de clé n'existe pas, alors erreur (Subscript used on non-accessible variable).

En partant du principe que la/les clé(s) d'une section est/sont composée(s) du nom de la section suivit du caractère "_" puis d'un élément complémentaire, vous trouverez ci-dessous les codes de mikell adapté.
► Afficher le texte
et
► Afficher le texte
L'écart du nombre de lignes de code est peu moins significatif. ^^
Modifié en dernier par mikell le mar. 19 mai 2015 13:51, modifié 1 fois.
Raison : balises spoiler ^^
Thierry

Rechercher sur le forum ----- Les règles du forum
Le "ça ne marche pas" est une conséquence commune découlant de beaucoup trop de raisons potentielles ...

Une idée ne peut pas appartenir à quelqu'un. (Albert Jacquard) tiré du documentaire "Copié n'est pas volé".
Bayo
Niveau 4
Niveau 4
Messages : 79
Enregistré le : mer. 23 avr. 2014 10:19
Status : Hors ligne

Re: [..] Problème de lecture d'un fichier .ini

#10

Message par Bayo »

Merci, je viens de tester les 2 solutions la première met 96secondes à trouver dans le fichier .ini contre 0,1secondes pour la seconde solution, mon choix est fait.

Merci encore, c'est parfait
Répondre