[R] Copier plusieurs lignes d’un fichier ini vers un script Autoit

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

Re: [R] Copier plusieurs lignes d’un fichier ini vers un script Autoit

#21

Message par Boulanza »

Bonsoir,
Nine a écrit : sam. 05 déc. 2020 18:45 S'il est vide, ça ne fonctionnera évidemment pas. La commande retourne une erreur (voir Help File) et le résultat n'est donc plus un Array.
Suite à votre remarque, tout est rentré en ordre une fois j' ai remplacé Local $aAU3 = FileReadToArray($sFileAu3) par Local $aAU3 = FileReadToArray($sFileIni). Voir code ci-dessous:
Local $aAU3 = FileReadToArray($sFileIni)
_ArrayDisplay($aAU3, "Fichier AU3 intégral")
Local $aAU3New = _ArrayExtract($aAU3, 0, 198) ; extraire les lignes 1 à 199 du fichier au3
_ArrayDisplay($aAU3New, "Nouveau AU3 199 1ères lignes")
_FileWriteFromArray($sFileAu3New, $aAU3New)
ShellExecute($sFileAu3New, "", "", "Edit")
Cordialement.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Copier plusieurs lignes d’un fichier ini vers un script Autoit

#22

Message par mikell »

"tout est rentré en ordre"... oui mais en fait, non pas du tout !
Boulanza a écrit : sam. 05 déc. 2020 18:51Non l'objectif n'a pas changé, il est toujours le même: Insérer des lignes INI dans un fichier AU3 d'au moins 200 lignes
Alors pourquoi diable ne testez-vous pas le code de Nine en utilisant un fichier "Test.au3" d'au moins 200 lignes ? :shock:
" 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: [R] Copier plusieurs lignes d’un fichier ini vers un script Autoit

#23

Message par Boulanza »

Bonjour mikell,
- mikell: Alors pourquoi diable ne testez-vous pas le code de Nine en utilisant un fichier "Test.au3" d'au moins 200 lignes ?
- Rep : J'ai testé le code de Nine plusieurs fois avec le fichier test.txt ci-joint (Test d'au moins 200 lignes) mais en vain".
- Par contre le résultat (Test.au3) obtenu par le script de Nine est un fichier vide.
- Voir confirmations de mes réponses ci-dessus.
- Je pense que c'est un problème de UDF !! ?? :!: :?:
Cordialement.
Fichiers joints
text.txt
(15.48 Kio) Téléchargé 116 fois
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Copier plusieurs lignes d’un fichier ini vers un script Autoit

#24

Message par mikell »

Non, pas l'UDF. Le problème se situe clairement au niveau de la gestion des fichiers source par l'interface chaise-clavier

Test.ini
(832 Octets) Téléchargé 138 fois
Test.au3
(14.74 Kio) Téléchargé 133 fois
script Nine.au3
(607 Octets) Téléchargé 108 fois
" 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: [R] Copier plusieurs lignes d’un fichier ini vers un script Autoit

#25

Message par Boulanza »

Bonjour mikell,
mikell a écrit : lun. 07 déc. 2020 13:56 Non, pas l'UDF. Le problème se situe clairement au niveau de la gestion des fichiers source par l'interface chaise-clavier Test.iniTest.au3script Nine.au3
Je vous assure, que j'ai pris tout mon temps pour tester le code de Nine notamment celui que vous avez +/- corrigé. Le script joint + le fichier.ini ne réagissent même pas lors des tests, test.au3 et Test New.au3 sont vide !! ??
Je me demande d'où vous avez obtenu le résultat du fichier joint à votre réponse: "test.au3" ci-joint ?
A vous de voir la vraie cause ce cette anomalie.
Cordialement.
#include <File.au3>
#include <Array.au3>

Const $sFileIni = "Test.ini"
Const $sFileAu3 = "Test.au3"
Const $sFileAu3New = "Test New.au3"

Local $aINI = FileReadToArray($sFileIni)
$aINI = _ArrayExtract($aINI, 1, 30)   ; extraire les ligne 2 à 31 du fichier ini
Local $aAU3 = FileReadToArray($sFileAu3)
Local $aAU3New = _ArrayExtract($aAU3, 0, 198) ; extraire les lignes 1 à 199 du fichier au3
_ArrayAdd($aAU3New, $aINI)
$aAU3 = _ArrayExtract($aAU3, 199) ; extraire le reste des lignes au fichier au3 à partir de la ligne 200
_ArrayAdd($aAU3New, $aAU3)
_FileWriteFromArray($sFileAu3New, $aAU3New)
Fichiers joints
Test.au3
(14.74 Kio) Téléchargé 119 fois
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [R] Copier plusieurs lignes d’un fichier ini vers un script Autoit

#26

Message par mikell »

Boulanza a écrit : mar. 08 déc. 2020 09:15A vous de voir la vraie cause ce cette anomalie.
Aaah non, pas à moi. ça marche pour Nine (dont je n'ai PAS corrigé le script) et ça marche pour moi, alors n'inversez pas les rôles.
C'est pourtant simple : vous mettez les 3 fichiers de mon post dans le même dossier, vous exécutez "script Nine.au3" et vous obtenez un fichier "Test New.au3" qui correspond au travail demandé
" 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: [R] Copier plusieurs lignes d’un fichier ini vers un script Autoit

#27

Message par Boulanza »

Bonsoir,
Ok cher mikell, je vais suivre à la lettre votre suggestion.
Cordialement.
Répondre