[..] Controlsend variable majuscules et minuscules aléatoire

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
JulienBoul
Niveau 4
Niveau 4
Messages : 82
Enregistré le : ven. 04 déc. 2015 13:55
Status : Hors ligne

[..] Controlsend variable majuscules et minuscules aléatoire

#1

Message par JulienBoul »

Bonjour,

J'ai un soucis, lorsque j'utilise controlsendkey pour envoyer des données dans un logicel de boulot, AS400, j'ai un mix de majuscules et minuscules.
Par exemple: 1234567890 se transforme en 1é3'(-7890 ou AZERTY se transforme en aZERty
C'est rare, aléatoire, mais j'ai besoin que les références inscrites soient précises.
Mon code fonctionne en deux étapes: l'une qui enregistre les données du clipboard dans des variables, l'autre qui envoie (controlsend) ces variables dans des zones de texte dans l'AS400 avec une tabulation entre chaque donnée envoyée pour changer de champ.

Je voudrais juste savoir d'ou peut venir le problème, ou y a-t-il un doute pour autoit lorsqu'il exécute mon code?

Importation des variables:

Code : Tout sélectionner

$info_exca_brut = clipget ()
Sleep (50)
$aFacture = StringRegExp($info_exca_brut, "(?im)^Facture : (\N+)", 3)
Sleep (50)
 
Envoi des variables dans AS400:
► Afficher le texte
Je suis navré de ne pas pouvoir mettre de code exploitable en l'état, mais y'a bcps de données pro, j'ai un logiciel de plus de 700 lignes de script, et j'ai créé un système qui me le fait tourner en tache de fond et on appelle les fonctions avec des raccourcis, ce qui permet d'éviter un max l'utilisation de la souris.

D'avance merci.
Cdt, Julien.
Modifié en dernier par mikell le jeu. 07 janv. 2016 18:19, modifié 1 fois.
Raison : balise spoiler pour les longs codes
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Controlsend variable majuscules et minuscules aléat  

#2

Message par mikell »

Essaie de mettre le flag 1 aux ControlSend qui envoient les variables
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
JulienBoul
Niveau 4
Niveau 4
Messages : 82
Enregistré le : ven. 04 déc. 2015 13:55
Status : Hors ligne

Re: [..] Controlsend variable majuscules et minuscules aléatoire

#3

Message par JulienBoul »

Bonjour,

Je suis toujours bloqué malgré la proposition de mikell (merci à toi pour ta réponse, il me fallait attendre l'extraction du mois suivant pour vérifier si les modifs apportées étaient suffisantes)

J'envoi plusieurs variables. Seule celle du numéro de sinistre est corrompue. Le taux d'erreur est très faible (de l'ordre de 7 erreurs sur 1700 avoirs générés). L'erreur arrive pour chaque gestionnaire qui utilise mon script sans différence d'utilisateur.
A la vue du faible taux d'erreur, je n'ai pas de temps alloué pour trouver une solution, mais ça me contrarie, c'est pas propre comme fonctionnement, je veux du 100% de fiabilité, pas 99% !
Et comment se fait il qu'à certains moments ça fonctionne, et à d'autres, non? y'a forcément une explication informatique...

Transformations effectuées:
1 se transforme en &
2 se transforme en É
7 se transforme en È
9 se transforme en Ç
0 se transforme en À
Je me retrouve donc avec &É3456È8ÇÀ au lieu de 1234567890
J'ai l'impression qu'autoit considère la majuscule de é comme "É" (correspondance alphabétique) au lieu de "2" (clavier numérique).

Avez vous des pistes? Je suis persuadé qu'il n'y a qu'un flag a inverser ou à modifier.
Avez vous des mots clé pour m'aider à rechercher, que ce soit sur le forum US ou fr? Je n'ai rien trouvé à ce sujet.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Controlsend variable majuscules et minuscules aléatoire

#4

Message par orax »

Est-ce que la touche de verrouillage des majuscules Verr Maj est activée quand le problème se produit ?
Dans mon cas si cette touche est activée les caractères sont "inversés".
Essaie avec ControlSetText().
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
JulienBoul
Niveau 4
Niveau 4
Messages : 82
Enregistré le : ven. 04 déc. 2015 13:55
Status : Hors ligne

Re: [..] Controlsend variable majuscules et minuscules aléatoire

#5

Message par JulienBoul »

Bonjour Orax,

Je n'ai pas de moyen de vérifier (1700 utilisations/mois par plusieurs utilisateurs), mais ça vaut le coup de vérifier, puis je intégrer dans mon code un passage automatique en minuscule du clavier, lorsque je lance le script? Est il possible par la même occasion de vérifier que le clavier est en azerty également?
D'autre part, ça n'inverse les caractères que sur ceux qui ont une lettre pour équivalent, ça n'inverse jamais pour ces chiffres: 34568 ---> - "'(-_
C'est vraiment curieux. Je n'ai aucun moyen de vérifier si le problème survient à l'enregistrement des variables, ou lors de leur écriture. peut être que c'est l'enregistrement qui déconne... (a moins de garder pour chaque dossier un log car j'me vois mal surveiller l’exécution des 1700 avoirs).

D'avance merci,
Julien.
Avatar du membre
orax
Modérateur
Modérateur
Messages : 1479
Enregistré le : lun. 23 mars 2009 04:50
Localisation : ::1
Status : Hors ligne

Re: [..] Controlsend variable majuscules et minuscules aléatoire

#6

Message par orax »

orax a écrit :Essaie avec ControlSetText()
Normalement ControlSetText() doit corriger le problème. Ce n'est pas le cas ?
De petits détails peuvent faire toute la différence. — Quand la boule de neige commence à rouler… poussez-la. (Columbo)
Répondre