[R] Votre aide pour copier tous les lignes d'un fichier.txt dans un fichier ini

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

[R] Votre aide pour copier tous les lignes d'un fichier.txt dans un fichier ini

#1

Message par Boulanza »

Bonjour,
Votre aide pour copier le contenu des lignes d’un fichier texte (Exemple CodeCNE.txt) dans un fichier ini (Exemple CodeCNE.ini). J’ai cherché dans l’aide et dans les forums AutoIt mais sans résultat. Avez-vous une idée à ce sujet.
Merci d’avance pour votre aide.
Cordialement.
Fichiers joints
CodeCNE.txt
(373 Octets) Téléchargé 96 fois
CodeCNE.ini
(1.34 Kio) Téléchargé 98 fois
Modifié en dernier par Boulanza le mar. 10 nov. 2020 16:54, modifié 1 fois.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Votre aide pour copier tous les lignes d'un fichier.txt dans un fichier ini

#2

Message par Boulanza »

Bonjour,
J'ai pu résoudre le problème avec le code ci-dessous, mai j'ai un petit souci avec $iRetval = StringReplace($file, "\=", " ").
Je m'explique: Après copie du fichier txt dans ini j'obtiens deux signes = à la fin de la ligne copier et au début de la ligne suivante. Je cherche un méta-caractères PCRE pour solutionner cela $CodeCNE=M137484514|M130506075|......|H144043693|M136358095=
=

Cordialement.
Code :
Local $CodeCNEtxt = @ScriptDir & "\CodeCNE.txt"
Local $filename =  @ScriptDir & "\CodeCNE.ini"
$file=$CodeCNEtxt
$read = FileRead($file)
$line = StringSplit($read, @CR)

For $i = 1 To $line[0]
$var = FileReadLine($file, $i)
;MsgBox(64,"$var",$var)
IniWrite(@ScriptDir & "\CodeCNE.ini", "Parametres", $var, "")
;_ReplaceStringInFile($var, "==", " ", 1, 0)
Local $iRetval = StringReplace($file, "\=", "")
Sleep(100)
Next
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Votre aide pour copier tous les lignes d'un fichier.txt dans un fichier ini

#3

Message par mikell »

Le IniWrite() considère toute la ligne "$CodeCNE=M137484514|M130506075...etc" comme étant la valeur à donner à la clé, et une clé est suivie tout naturellement par un "=" (même s'il n'y a aucune valeur attribuée à la clé)
Le 2ème "=" vient probablement d'un espace qui traîne sur une ligne vide à la fin du fichier txt et que le FileReadLine aura considéré comme une ligne valable
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Votre aide pour copier tous les lignes d'un fichier.txt dans un fichier ini

#4

Message par Boulanza »

Bonjour,
Merci cher mikell de vos remarques. Avec cette astuce j'ai pu résoudre le problème:
IniWrite(@ScriptDir & "\CodeCNE.ini", "Parametres", $var, "|||")
Sleep(200)
_ReplaceStringInFile($filename, "=|||", " ", 1, 0)
Mais ça reste un astuce, ce n'est pas professionnel... Qui dit mieux ?
Cordialement.
Répondre