Page 1 sur 1

modifier valeur dans un texte a un endroit preci

Posté : mar. 27 déc. 2016 12:38
par Gavriel
bonjour
j ai un fichier texte qu il y a dedans ceci
marc=2
pierre=5
jean=1
je cherche a faire que quant j' ecris un de c' est nom dans in inputbox il me fera +1 au nom ecrit
merci de votre aide

Re: modifier valeur dans un texte a un endroit preci

Posté : mar. 27 déc. 2016 14:00
par locos974
Salut,

Un petit example :
#include <File.au3>

$input = InputBox("tontext")
$file = FileOpen("lepathdetonfichier")

File $i = 1 To _FileCountLines($file)
     $line = FileReadLine($file, $i)
     $split = StringSplit($line, "=")
     If $split[1] == $input Then
               $newValue = Int($split[2] + 1)
               ; tu la remplace comme tu veux dans ton fichier
     EndIf
Next
Je l'ai écrit sur le tas comme ça, à toi de le modifier à ta guise.
Ici je récupère la valeur de ton fichier par rapport au nom de l'input box, je l'incrémente et après il faut le remplacer !

Enjoy :mrgreen:

Re: modifier valeur dans un texte a un endroit preci

Posté : mer. 28 déc. 2016 08:43
par Gavriel
merci de ta reponce
mais je n ai pas reussi il ne fait des erreurs a
File $i = 1 To _FileCountLines($file) j ai suprimer aussi le mot file et il fai une erreur sur 1 to
merci

Re: modifier valeur dans un texte a un endroit preci

Posté : mer. 28 déc. 2016 11:17
par locos974

Re: modifier valeur dans un texte a un endroit preci

Posté : mer. 28 déc. 2016 12:09
par Gavriel
je n arrive toujours pas faire se que je veux

Re: modifier valeur dans un texte a un endroit preci

Posté : mer. 28 déc. 2016 12:30
par orax
Il y a effectivement une petite erreur dans le script. Ce n'est pas File mais For.

La ligne
File $i = 1 To _FileCountLines($file)
doit être remplacée par
For $i = 1 To _FileCountLines($file)

Re: modifier valeur dans un texte a un endroit preci

Posté : mer. 28 déc. 2016 12:40
par Gavriel
merci mais sa ne marche toujour pas

Re: modifier valeur dans un texte a un endroit preci  

Posté : mer. 28 déc. 2016 15:07
par walkson
Bonjour,
Il y a une autre erreur

Code : Tout sélectionner

$file = FileOpen("lepathdetonfichier")
Par défaut le fichier est ouvert en lecture. Il faut mettre le flag à 1 => écriture (voir aide F1)
Une suggestion à votre problème
#include <File.au3>

Local $open = @DesktopDir & "\DocTextXls\Text.txt"
Local $nom = InputBox("titre","nom","paul")
Local $i = 1
While 1
   $lire = FileReadLine($open, $i);lecture de ligne
   If @error Then ExitLoop ;sortie de boucle en fin de texte
   If StringInStr($lire,"=") > 0 Then;recherche signe =
      $aa = StringSplit($lire,"=");split sur =
      If $nom = StringStripWS($aa[1],8) Then;compare avec input (supprime les espaces)
         $nb = " " & Int($aa[2] + 1);incrémente nombre entier + 1
         $stringR = StringReplace($lire,$aa[2],$nb);remplace la valeur dans la ligne
         ConsoleWrite($stringR & @CR)
         _FileWriteToLine($open,$i,$stringR,1);overwrite de la ligne>> paul = 7
      EndIf
   Else
      ConsoleWrite($lire & @CR);pas de signe = dans la ligne
   EndIf
   $i += 1
WEnd

Re: modifier valeur dans un texte a un endroit preci

Posté : jeu. 29 déc. 2016 13:05
par Gavriel
genial merci beaucoup