Ceci place le texte à la 53ème position à partir du début à la ligne.
As tu une idée sur le reste? Bloques tu uniquement sur ça?
EDIT:
J'avais un peu de temps, je me suis penché sur la question, voici un code fonctionnel, il peut surement être amélioré, mais en tout cas il fonctionne, j'ai due utiliser 3 fichiers textes, le fichier initial, un fichier texte intermédiaire, et le fichier texte final.
;Chemin vers le fichier initial $path_origin= @ScriptDir&"/a.txt" ;Ouverture du fihcier en mode lecture Local$file_origin=FileOpen($path_origin) ;Compte le nombre de ligne dans le fichier $nbr_ligne=_FileCountLines($path_origin)
;Préparation du fichier final, mode écriture $file_final=FileOpen(@ScriptDir&"/c.txt",1)
;Boucle jusqu'à la lecture de toutes les lignes for$h=1To$nbr_ligne
;Ouverture du fichier intermédiaire en mode écriture (2) ;je l'ai mis dans la boucle car le mode écriture (2) vide le fichier à l'ouverture, c'est important $file=FileOpen(@ScriptDir&"/b.txt",2) ;Lecture de la ligne à partir du fichier initial $line=FileReadLine($file_origin,$h) ;On sépare le texte délimité par les slashs $array=_StringExplode($line,'/')
;On écrit sur le fichier intermédiaire la première partie de la ligne. FileWrite($file,$array[0]) ;Position déclarée à 53 $j=53
;Bouvle jusqu'à la lecture de tout le tableau (en commençant par la deuxième ligne, la première a déjà été écrite. For$i=1ToUBound($array)-1 ;Position $j FileSetPos($file,$j,0) FileWrite($file,$array[$i]) ; On rajoute 20 à la position, (53, 73, 93) $j=$j+20 Next ;On ouvre le fichier intermédiaire en mode lecture cette fois $file=FileOpen(@ScriptDir&"/b.txt") ;On ecrit sur le fihcier final le résultat FileWriteLine($file_final,FileRead($file)) Next
Modifié en dernier par parazitenew le dim. 26 févr. 2017 18:38, modifié 2 fois.
T'as répondu au moment ou j'éditais mon message, regarde plus haut je t'ai fait un code fonctionnel.
Je m'étais trompé sur mon premier message c'est corrigé.
J'ai des caractères NUL (code ASCII zéro) au lieu des espaces, avec le script de parazitenew. Il doit manquer des fonctions FileClose mais je sais pas si ça résout le problème. J'avais donc cherché une autre solution. Pour ajouter les espaces j'ai utilisé StringFormat.
La 3.4.4 ? Je n'ai pas trouvé cette version. 3.4.4 est peut-être la version de SciTE.
Certains éditeurs de texte afficheront des espaces à la place des "NUL".
Je pense que le problème est lié à FileSetPos.
Si j'utilise FileSetPos dans un fichier vide, il ajoutera des "NUL" de remplissage.
Ce code affichera 0x000000000041.
Alors que s'il y avait eu 5 espaces avant le A, ça aurait affiché : 0x202020202041.
0x00 = NUL (NULL)
0x20 = espace
0x41 = lettre A
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)