[R] Une fonction remplacer lettre par lettre

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
timano
Niveau 2
Niveau 2
Messages : 20
Enregistré le : ven. 02 sept. 2011 12:06
Status : Hors ligne

[R] Une fonction remplacer lettre par lettre

#1

Message par timano »

Bonjour ,
j'ai mon clavier français - anglais , parfois je me trompe et avant de changer la langue j'écris mon message ...


Ex : je suis en mode anglais , j'ai oublié de changer la langue
et je voudrais écrire "azerty" mais au lieu d'avoir "azerty" j'aurai "qwerty"


alors mon scripte dois
1 - lire la chaine de caractère entrer lettre par lettre donc j'utilise

Code : Tout sélectionner

 $a = StringSplit($Input2)
2 - une fonction remplacer ou j'ai un probléme

Code : Tout sélectionner

func remplacer()

    
    If $a[1] = String("a") Then
        $b = String("x")
EndIf
            $a = StringSplit($Input2)
    If $a[2] = String("b") Then
        $b = $b&String("y")
EndIf

        EndFunc
 
j'ai ici un exemple mais je n'arrive pas à avoir les résultats attendus .

Donc merci d'avoir m'aider ,,

Amicalement.
Modifié en dernier par timano le ven. 02 sept. 2011 22:18, modifié 1 fois.
Avatar du membre
moi
Niveau 7
Niveau 7
Messages : 370
Enregistré le : sam. 09 juil. 2011 22:14
Localisation : devant sont ordinateur
Status : Hors ligne

Re: [..] Une fonction remplacer lettre par lettre

#2

Message par moi »

sur le forum il ya un un exemple de prog qui traduit azerty vers qwerty
regarde si c@est ce que tu cherche
le problème ce n'est pas un problème, le seul problème ici c'est nous.

j'aime NYAN CAT Image
timano
Niveau 2
Niveau 2
Messages : 20
Enregistré le : ven. 02 sept. 2011 12:06
Status : Hors ligne

Re: [..] Une fonction remplacer lettre par lettre

#3

Message par timano »

Oui j'ai trouvé

http://autoitscript.fr/forum/viewtopic.php?f=21&t=4688

mais étant donner que suis un débutant en autoit j'aimerais faire ce scripte par moi même en utilisant des test "if ... then ..."

et ce programme est difficile à comprendre les instructions ^^
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Une fonction remplacer lettre par lettre

#4

Message par mikell »

timano a écrit :ce programme est difficile à comprendre les instructions ^^
Pas vraiment... c'est pareil en fait
Il y a bien des If-Then mais au lieu de mettre un If à chaque fois, tous les caractères sont inscrits dans un tableau et testés avec les If dans des boucles For (ça optimise le script)
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
timano
Niveau 2
Niveau 2
Messages : 20
Enregistré le : ven. 02 sept. 2011 12:06
Status : Hors ligne

Re: [..] Une fonction remplacer lettre par lettre

#5

Message par timano »

me voila encore

j'ai réussi à faire le scripte
mais il reste quelques petits problèmes dont :

- le programme ne fait qu'une seul opération c'est à dire qu'il remplace une seul fois
comme vous voyer ici

Image

la première fenêtre tout est bon
mais quand j'efface la première entrer "aze" et je met "rty" puis je clic sur bouton1
il me donne un 0 ,
j'ai essayé de régler ce problème avec ce code à la fin des fonctions

Code : Tout sélectionner

$Res2 = $Res
$Res = String("")
$j = 1
$i = 1
$Char = String("")
 
mais j'ai toujours ce probleme

voici la source
► Afficher le texte
et merci d'avoir m'aider :)
Avatar du membre
moi
Niveau 7
Niveau 7
Messages : 370
Enregistré le : sam. 09 juil. 2011 22:14
Localisation : devant sont ordinateur
Status : Hors ligne

Re: [..] Une fonction remplacer lettre par lettre

#6

Message par moi »

dis. pourquoi utilser call pour appeler les fonction
timano a écrit :
► Afficher le texte
ce que j'aı mıs en rouge remplace les call
le problème ce n'est pas un problème, le seul problème ici c'est nous.

j'aime NYAN CAT Image
timano
Niveau 2
Niveau 2
Messages : 20
Enregistré le : ven. 02 sept. 2011 12:06
Status : Hors ligne

Re: [..] Une fonction remplacer lettre par lettre

#7

Message par timano »

D'accord merci pour l'astuce ,, et pour le problème ?
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Une fonction remplacer lettre par lettre

#8

Message par mikell »

2 choses

Code : Tout sélectionner

[color=#FF0000]$Input1[/color]=GUICtrlRead([color=#FF0000]$Input1[/color])
ça c'est pas bon, les 2 variables identiques, essaie $Input0=GUICtrlRead($Input1)

Ensuite faut réinitialiser ta variable de sortie

Code : Tout sélectionner

Func _atoq()
[color=#FF0000]$Res=""[/color]
For $j = 1 To StringLen($Input0)
...etc
Modifié en dernier par mikell le ven. 02 sept. 2011 20:14, modifié 1 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 )
Avatar du membre
moi
Niveau 7
Niveau 7
Messages : 370
Enregistré le : sam. 09 juil. 2011 22:14
Localisation : devant sont ordinateur
Status : Hors ligne

Re: [..] Une fonction remplacer lettre par lettre

#9

Message par moi »

timano a écrit :

Code : Tout sélectionner

$Input1=GUICtrlRead($Input1)
je comprend pas pourquoi la var input dois se lire lui meme
$Input1 est un variable qui prends en charge un input pas une donnee
et pour le retour a la ligne utilise un edit pas un input
il faudrait mettre

Code : Tout sélectionner

$varrecup=GUICtrlRead($Input1)
edit
oops mikell ma pris de vitesse
le problème ce n'est pas un problème, le seul problème ici c'est nous.

j'aime NYAN CAT Image
timano
Niveau 2
Niveau 2
Messages : 20
Enregistré le : ven. 02 sept. 2011 12:06
Status : Hors ligne

Re: [..] Une fonction remplacer lettre par lettre

#10

Message par timano »

merci beaucoup pour votre aide , je vous aime :)
Répondre