Page 1 sur 1

Retourner valeur à partir d'une chaine dans un fichier

Posté : mar. 29 août 2017 17:37
par Kreg
Hello les scripteurs,

J'appel à votre aide pour un besoin simple qui me pose problème.
Depuis un fichier.ini, je souhaite chercher et utiliser certaines valeurs.
Par exemple, je souhaiterais récupérer la chaine de caractères de la ligne 2 après le 1= (mais sans faire apparaitre le 1=)

Mon fichier .ini ressemble à ça

Code : Tout sélectionner

[Data]
0=10
1=C:\Temp\IN
2=C:\Temp\OUT
3=5
4=C:\IN
5=C:\OUT
Ouvrir mon fichier, et lire la ligne 2 ça j'y arrive bien :lol:
Mais comment n'afficher que ce qui m'intéresse ?
Au mieux pour l'instant je n'arrive qu'à afficher un nombre...

Code : Tout sélectionner

#include <FileConstants.au3>
#include <MsgBoxConstants.au3>

Local $sFilePath = @ScriptDir & "\Test.ini"
Local $hFileOpen = FileOpen($sFilePath, $FO_APPEND + $FO_CREATEPATH)
If $hFileOpen = -1 Then
   MsgBox($MB_SYSTEMMODAL, "", "Error opening file....")
EndIf
FileSetPos($hFileOpen, 0, $FILE_BEGIN)
Local $sFileRead = FileReadLine ($hFileOpen,2)
MsgBox($MB_SYSTEMMODAL, "test", "Super, ma 2eme ligne est:" & @CRLF & $sFileRead)
Local $sFileRead = FileReadLine ($hFileOpen,-1)
FileClose($hFileOpen)
Merci!!!
Kreg

Re: Retourner valeur à partir d'une chaine dans un fichier  

Posté : mar. 29 août 2017 18:45
par walkson
Bonjour,
IniRead() ou IniReadSection() devrait faire l'affaire. Regardez les exemples de l'aide.

Re: Retourner valeur à partir d'une chaine dans un fichier

Posté : lun. 04 sept. 2017 09:12
par TomAijerrie
La premiere ligne d'un fichier est la ligne 1
Donc dans ton fichier, la ligne2 c'est "0=10"

Mais comme l'a fait remarquer walkson, il existe des fonction déjà faites et automatiquement intégrées pour lire les fichiers ini.
Si tu es sûr que la section s'apelle toujours Data et que c'est toujours ce qu'il y a apres le 1= qui t'intéresse, utilise
IniRead("test.ini","Data","1","")

Re: Retourner valeur à partir d'une chaine dans un fichier

Posté : mar. 05 sept. 2017 14:14
par Kreg
Réponse tardive... Mais merci !
Je sais pas comment j'ai oublié cette fonction... tout simplement.

Merki :)