[R] Comment copier un texte et le placer dans la suite d'un script.au3

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] Comment copier un texte et le placer dans la suite d'un script.au3

#1

Message par Boulanza »

Bonjour,
Pour copier le texte dans une page au3, j’utilise le code suivant qui marche parfaitement.
Question : Comment copier ledit texte afin de le placer dans la suite d'un script.au3.
Par exemple:
Func CopierTexte()
blablabla
blablabla
blablabla
n+1 = blablabla
EndFunc
Merci pour votre aide.
Cordialement.
Code copier texte d'un fichier:
test1()
Func test1()
Dim $StrArray1
_FileReadToArray(@ScriptDir&"/toto.txt", $StrArray1)

For $i = 1 To $StrArray1[0]
    $StrArray1[$i] &= '" & @crlf & _'
Next
_FileWriteFromArray(@ScriptDir&"/resultat1.txt",  $StrArray1, 1)
EndFunc
Modifié en dernier par Boulanza le sam. 24 oct. 2020 12:53, modifié 2 fois.
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] [..] Comment copier un texte et le placer dans la suite d'un script.au3

#2

Message par Boulanza »

Bonjour,
J'ai utilisé ces deux fonctions: _FileWriteToLine et _Word_DocFindReplace qui marchent pour copier le contenu du fichier source dans la suite du script .au3, malheureusement je ne voie pas comment incérer (placer) le contenu dans la fonction
Func CopierTexte()
blablabla
blablabla
blablabla
n+1 = blablabla
EndFunc
S'il n'y a pas de solutions à mon problème, dites le moi. Merci.
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: [..] Comment copier un texte et le placer dans la suite d'un script.au3

#3

Message par mikell »

Il y a des solutions, très probablement. Mais la manière confuse dont est présentée la question ne permet pas d'en proposer
" 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: [..] Comment copier un texte et le placer dans la suite d'un script.au3

#4

Message par Boulanza »

Bonjour mikell,
mikell a écrit : ven. 23 oct. 2020 21:55 Il y a des solutions, très probablement. Mais la manière confuse dont est présentée la question ne permet pas d'en proposer
Je vous donne un exemple qui reflète ma demande :
1- Pour copier le contenu du fichier Toto.txt ci-joint dans une page de script .au3 vierge (sans script) , j’utilise le code numéro 1 ci-dessous qui marche parfaitement bien.
2- Je cherche à copier le contenu du fichier source dans la suite d'un script .au3 comme il a été inséré sur le code numéro 2 ci-dessous. Malheureusement je ne voie pas comment incérer (placer) le contenu du fichier Toto.txt sous la ligne 26 (Func CopierTexte()) et il se termine avant EndFunc soit dans ce cas à la ligne 38.
N.B: les numéro des lignes (26 et 38) sont à titre indicatifs. C'est la fonction Func CopierTexte() qui prime dans mon cas.
Cordialement.
code numéro 1:
test1()
Func test1()
Dim $StrArray1
_FileReadToArray(@ScriptDir&"/toto.txt", $StrArray1)
For $i = 1 To $StrArray1[0]
    $StrArray1[$i] &= '" & @crlf & _'
Next
_FileWriteFromArray(@ScriptDir&"/resultat..au3",  $StrArray1, 1)
EndFunc
code numéro 2:
#include <GUIConstantsEx.au3>
#include <ColorConstants.au3>
   Global $text
   Astreintes()
   Func Astreintes()
   GUICreate(" Authentification Astreinte", 320, 150, @DesktopWidth / 2 - 160, @DesktopHeight / 2 - 45, -1, 0x00000018); WS_EX_ACCEPTFILES
   $login = GUICtrlCreateInput("Saisir login", 10, 5, 300, 20)
   $password = GUICtrlCreateInput("Saisir mot de passe", 10, 50, 300, 20)
   Local $btn = GUICtrlCreateButton("Ok", 40, 100, 60, 20)
   Local $btn1 = GUICtrlCreateButton("Annuler",150, 100, 60, 20)
   GUISetState()
   $msg = 0
   While $msg <> $GUI_EVENT_CLOSE
   $msg = GUIGetMsg()
   Select
   Case $msg = $btn
   Exit
   Case $msg=$btn1
   Exit
   ExitLoop
   EndSelect
   WEnd
   EndFunc
;====================================================================================================
Func CopierTexte()
$text &= "Si le texte initiale est de cet forme :" & @CRLF
$text &= "AutoIt has been designed to be as small as possible and stand-alone with no external .dll files" & @CRLF
$text &= "or registry entries required making it safe to use on Servers." & @CRLF
$text &= "Scripts can be compiled into stand-alone executables with Aut2Exe." & @CRLF
$text &= "" & @CRLF
$text &= "Also supplied is a AB000DD4 combined COM and DLL version of AutoIt called AutoItX." & @CRLF
$text &= "that allows you to add the unique features of AutoIt" & @CRLF
$text &= "to your own favorite scripting or programming languages!" & @CRLF
$text &= "" & @CRLF
$text &= "Best of all, AutoIt continues to be free - but if you want to support the time," & @CRLF
$text &= "money and effort spent on the project and web hosting then you may donate at the AutoIt homepage." & @CRLF
$text &= "" & @CRLF
EndFunc
;====================================================================================================
Fichiers joints
toto.txt
(702 Octets) Téléchargé 90 fois
Avatar du membre
walkson
Modérateur
Modérateur
Messages : 1020
Enregistré le : ven. 12 août 2011 19:49
Localisation : Hurepoix
Status : Hors ligne

Re: [..] Comment copier un texte et le placer dans la suite d'un script.au3

#5

Message par walkson »

Bonjour,
Je ne vois pas où est la difficulté ?
#include <File.au3>

$toto = FileRead(@DesktopDir & "\toto.txt")
_FileWriteToLine(@DesktopDir & "\code numéro 2.au3",26,$toto,False)
ou bien à l'aveugle
#include <File.au3>

$toto = FileRead(@DesktopDir & "\toto.txt")
Local $nb = 0
While 1
   $nb += 1
   $read = FileReadLine(@DesktopDir & "\code numéro 2.au3",$nb)
   If @error Then ExitLoop
   If $read = "Func CopierTexte()" Then
      _FileWriteToLine(@DesktopDir & "\code numéro 2.au3",$nb + 1,$toto,False)
      ExitLoop
   EndIf
WEnd
Et pourquoi ne pas faire plus simple ?
Func CopierTexte()
$toto = FileRead(@DesktopDir & "\toto.txt")
Return $toto
EndFunc
Cordialement,
Walkson
"Horas non numero nisi serenas " Le canon de midi
(Je ne compte que les heures heureuses)
Boulanza
Niveau 9
Niveau 9
Messages : 697
Enregistré le : mer. 31 juil. 2013 15:49
Status : Hors ligne

Re: [..] Comment copier un texte et le placer dans la suite d'un script.au3

#6

Message par Boulanza »

Bonjour Monsieur walkson,
Je ne peux pas vous remercier assez pour votre aide précieuse. Sans votre aide et sans la remarque de mikell, tout cela n'aurait pas été possible.
Cordialement.
Répondre