[Ex] Texte en variable autoit

Partagez vos scripts, et vos applications AutoIt.
Règles du forum
.
Répondre
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

[Ex] Texte en variable autoit

#1

Message par bloodwolff »

On a parfois besoin d'utiliser un texte directement dans les codes autoit
Le problème c'est qu'on doit tout se taper manuellement
C'est assez C*n de faire un programme qui automatise des actions si on se tape tout manuellement
Le mini-programme offre la possibilité de choisir le nom de la variable
Si je n'ai pas été assez clair je vous montre un exemple

si on lui donne le texte
***** Important *****
- Ajoutez la balise [..] dans le titre de votre premier message
- N'oubliez pas les balises de code dans vos messages.

Plus de détails ici :
http://www.autoitscript.fr/forum/viewto ... f=35&t=595
En
$Texte = '***** Important *****' & @crlf
$Texte &= '- Ajoutez la balise [..] dans le titre de votre premier message' & @crlf
$Texte &= '- N''oubliez pas les balises de code dans vos messages.' & @crlf
$Texte &= 'Plus de détails ici :' & @crlf
$Texte &= 'http://www.autoitscript.fr/forum/viewto ... f=35&t=595'
Voici le script

Code : Tout sélectionner

$Form = GUICreate("Texte en $Autoit", 460, 340, 250, 150)
$Edit = GUICtrlCreateEdit("", 8, 34, 441, 271)
$Transformer = GUICtrlCreateButton("Transformer", 8, 312, 211, 25)
$Input = GUICtrlCreateInput("", 120, 8, 177, 21)
$Copier = GUICtrlCreateButton("Copier et vider", 232, 312, 219, 25)
$Label1 = GUICtrlCreateLabel("Nom de variable ? ==>", 8, 8, 111, 17)
$Radio1 = GUICtrlCreateRadio('Forme && "ligne" _', 304, 16, 113, 17)
$Radio2 = GUICtrlCreateRadio('Forme $variable &&= "ligne"', 304, 0, 145, 17)
GUICtrlSetState(-1, 1)
GUISetState(@SW_SHOW)

While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
        Case $Copier
            ClipPut(GUICtrlRead($Edit))
            GUICtrlSetData($Edit, "")
            GUICtrlSetState($Transformer, 64)
        Case $Transformer
            $texte = GUICtrlRead($Edit)
            If $texte <> "" Then
                $Variable = GUICtrlRead($Input)
                If $Variable = "" Then $Variable = "Texte"
                If StringLeft($Variable, 1) = "$" Then $Variable = StringTrimLeft($Variable, 1)
                $texte = StringReplace($texte, "'", "''")
                If GUICtrlRead($Radio2) = 1 Then
                    $texte = StringRegExpReplace($texte, "([^\n\r]+){1}?(?:\n|\r)*", "$" & $Variable & " &= '$1' & @crlf" & @CRLF)
                    $texte = StringReplace($texte, "&=" , "=", 1)
                    $texte = StringReplace($texte, " & @crlf", "", -1)
                ElseIf GUICtrlRead($Radio1) = 1 Then
                    $texte = StringRegExpReplace($texte, "([^\n\r]+){1}?(?:\n|\r)*", StringRegExpReplace($Variable,"(.)","  ") & "  & '$1' & @crlf _" & @CRLF)
                    $texte = StringReplace($texte, StringRegExpReplace($Variable,"(.)","  ") & "  & '" , "$" & $variable & " = '", 1)
                    $texte = StringReplace($texte, " & @crlf _", "", -1)
                EndIf
                GUICtrlSetData($Edit, $texte)
                GUICtrlSetState($Transformer, 128)
            EndIf
        Case -3
            Exit
    EndSwitch
WEnd
Modifié en dernier par bloodwolff le jeu. 23 déc. 2010 19:39, modifié 4 fois.
Compte skype : bloodwolfff
Avatar du membre
softwater
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 14 janv. 2009 17:12
Status : Hors ligne

Re: [Ex] Texte en variable autoit

#2

Message par softwater »

Hello,
Super l'idée. Par contre le retour de chariot est conservé lors de la transformation, en tous cas chez moi.
Ce qui fait que lors de la copie dans SciTE j'ai ce résultat:

Code : Tout sélectionner

$var = 'J''aime
' & @crlf
$var &= 'le
' & @crlf
$var &= 'chocolat' 
Autrement il serait bien de positionner le curseur dans le champ de la variable au lancement et d'ajouter un bouton pour tout vider :D
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [Ex] Texte en variable autoit

#3

Message par bloodwolff »

Oui , merci pour les commentaires je regarde sa !
Compte skype : bloodwolfff
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [Ex] Texte en variable autoit

#4

Message par bloodwolff »

Voilà sa devrais être corrigé , le bouton copier vide maintenant automatiquement le champ !
Compte skype : bloodwolfff
Avatar du membre
softwater
Niveau 3
Niveau 3
Messages : 44
Enregistré le : mer. 14 janv. 2009 17:12
Status : Hors ligne

Re: [Ex] Texte en variable autoit

#5

Message par softwater »

super, ça marche
si j'ai un moment j'y intègrerai quelques options supplémentaires
Avatar du membre
Iste
Niveau 11
Niveau 11
Messages : 1870
Enregistré le : jeu. 04 déc. 2008 14:21
Localisation : 76
Status : Hors ligne

Re: [Ex] Texte en variable autoit

#6

Message par Iste »

Il me semblerait plus propre de casser les ligne au lieu de concaténer chacune :

Code : Tout sélectionner

$Texte = '***** Important *****' & @crlf _
        &'- Ajoutez la balise [..] dans le titre de votre premier message' & @crlf _
        & '- N''oubliez pas les balises de code dans vos messages.' & @crlf _
        & 'Plus de détails ici :' & @crlf _
        & 'http://www.autoitscript.fr/forum/viewtopic.php?f=35&t=595'
Signez ici
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [Ex] Texte en variable autoit

#7

Message par bloodwolff »

Sa dépend des points de vus , au pire je mettrai les 2 possibilités
Compte skype : bloodwolfff
Avatar du membre
DimVar
Niveau 10
Niveau 10
Messages : 870
Enregistré le : ven. 30 mai 2008 15:08
Status : Hors ligne

Re: [Ex] Texte en variable autoit

#8

Message par DimVar »

Bonjour,

Merci pour ce précieux outils. Je vais de suite l'ajouter dans ma trousse.
J'ai fait un test pour de l'emailing, dans lequel j'ai saisi :
"Bien à vous."

Le code retourné etait le suivant :
$toto = 'Bien ' & @crlf
à$toto &= ' vous.'

D'autre part, si l'on clique 2 fois sur transformer, il transforme deux fois. Logique, mais peux t'on bloquer la transformation à une seule fois ? Eviter ainsi des maladresses...
N'évoquons pas la pierre, les jeunes risqueraient d'en poire !
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [Ex] Texte en variable autoit

#9

Message par bloodwolff »

Oui c'est possible ! Je règle sa aujourd'hui normalement
Compte skype : bloodwolfff
Avatar du membre
bloodwolff
Membre émérite
Membre émérite
Messages : 655
Enregistré le : ven. 18 avr. 2008 22:36
Localisation : Québec
Status : Hors ligne

Re: [Ex] Texte en variable autoit

#10

Message par bloodwolff »

Voilà j'ai pris en compte vos commentaires (regarder le premier post)mais ya un truc sur lequel je bloque !
Je ne suis pas capable d'insérer "&" dans mon label
J'ai tester Chr(38) et Chrw(38) mais cela ne fonctionne pas :(

Corrigé grâce à Coucou Jérome
Il suffit de doubler le &
Compte skype : bloodwolfff
Répondre