modifier valeur dans un texte a un endroit preci

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Gavriel
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mer. 07 déc. 2016 22:29
Status : Hors ligne

modifier valeur dans un texte a un endroit preci

#1

Message 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
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: modifier valeur dans un texte a un endroit preci

#2

Message 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:
Cordialement Locos974.
Gavriel
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mer. 07 déc. 2016 22:29
Status : Hors ligne

Re: modifier valeur dans un texte a un endroit preci

#3

Message 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
locos974
Niveau 5
Niveau 5
Messages : 187
Enregistré le : sam. 08 oct. 2011 22:07
Status : Hors ligne

Re: modifier valeur dans un texte a un endroit preci

#4

Message par locos974 »

Cordialement Locos974.
Gavriel
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mer. 07 déc. 2016 22:29
Status : Hors ligne

Re: modifier valeur dans un texte a un endroit preci

#5

Message par Gavriel »

je n arrive toujours pas faire se que je veux
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: modifier valeur dans un texte a un endroit preci

#6

Message 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)
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Gavriel
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mer. 07 déc. 2016 22:29
Status : Hors ligne

Re: modifier valeur dans un texte a un endroit preci

#7

Message par Gavriel »

merci mais sa ne marche toujour pas
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1037
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: modifier valeur dans un texte a un endroit preci  

#8

Message 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
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Gavriel
Niveau 3
Niveau 3
Messages : 36
Enregistré le : mer. 07 déc. 2016 22:29
Status : Hors ligne

Re: modifier valeur dans un texte a un endroit preci

#9

Message par Gavriel »

genial merci beaucoup
Répondre