Bonjour,
j'ai un probl=E8me sur une application html (hta) dont le comportement
n'est pas r=E9gulier, je n'arrive pas =E0 trouver la solution ni la
cause.
L'application utilise la methode SendKeys pour =E9crire du texte dans
une fen=EAtre Bloc-notes mais lorsqu'il s'agit d'=E9crire des chiffres ,
irr=E9guli=E8rement en fonction du caps-lock elle =E9crit des & =E9 " ' ( -
=E8 _ =E7 =E0 ) =3D ou bien les chiffres attendus. Des fois on obtient le
bon r=E9sultat avec le caps-lock activ=E9 et des fois avec le caps-lock
d=E9sactiv=E9 ...
je n'arrive pas =E0 comprendre pourquoi ni =E0 trouver un test pr=E9alable
qui fonctionne dans tous les cas.
Actuellement j'effectue les tests sur un portable mais l'application
devrait =EAtre utilis=E9e sur tout autre type de clavier.
Si quelqu'un a une id=E9e Merci beaucoup pour votre aide.
Ernest
Bonjour, j'ai un problème sur une application html (hta) dont le comportement n'est pas régulier, je n'arrive pas à trouver la solution ni la cause. L'application utilise la methode SendKeys .../...
Bonjour !
Essaye peut-être de remplacer l'envoie des chiffres par leurs code ASCII, à l'aide de la fonction Chr. (Pour les chiffres de 0 à 9, les caractères ASCII vont respectivement de 48 à 57)
Par exemple, pour envoyer 1: SendKeys Chr (49) etc...
Cordialement Sympatix (Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Bonjour,
j'ai un problème sur une application html (hta) dont le comportement
n'est pas régulier, je n'arrive pas à trouver la solution ni la
cause.
L'application utilise la methode SendKeys
.../...
Bonjour !
Essaye peut-être de remplacer l'envoie des chiffres par leurs code ASCII, à
l'aide de la fonction Chr.
(Pour les chiffres de 0 à 9, les caractères ASCII vont respectivement de 48
à
57)
Par exemple, pour envoyer 1:
SendKeys Chr (49)
etc...
Cordialement
Sympatix
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Bonjour, j'ai un problème sur une application html (hta) dont le comportement n'est pas régulier, je n'arrive pas à trouver la solution ni la cause. L'application utilise la methode SendKeys .../...
Bonjour !
Essaye peut-être de remplacer l'envoie des chiffres par leurs code ASCII, à l'aide de la fonction Chr. (Pour les chiffres de 0 à 9, les caractères ASCII vont respectivement de 48 à 57)
Par exemple, pour envoyer 1: SendKeys Chr (49) etc...
Cordialement Sympatix (Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Ernest
Merci :o) le problème est que les chiffres sont toujours des résultats contenus dans des variables, impossible de savoir à l'avance de quels chiffres il s'agit. Je ne dis pas que ce soit impossible d'utiliser dans ce cas Chr mais alors avec un algo qui me semble assez compliqué... Avant de me résigner à cette solution je vais attendre un peu de chercher une autre
Merci :o)
le problème est que les chiffres sont toujours des résultats contenus
dans des variables, impossible de savoir à l'avance de quels chiffres
il s'agit. Je ne dis pas que ce soit impossible d'utiliser dans ce cas
Chr mais alors avec un algo qui me semble assez compliqué...
Avant de me résigner à cette solution je vais attendre un peu de
chercher une autre
Merci :o) le problème est que les chiffres sont toujours des résultats contenus dans des variables, impossible de savoir à l'avance de quels chiffres il s'agit. Je ne dis pas que ce soit impossible d'utiliser dans ce cas Chr mais alors avec un algo qui me semble assez compliqué... Avant de me résigner à cette solution je vais attendre un peu de chercher une autre
sympatix
Merci :o) le problème est que les chiffres sont toujours des résultats contenus dans des variables, impossible de savoir à l'avance de quels chiffres il s'agit. Je ne dis pas que ce soit impossible d'utiliser dans ce cas Chr mais alors avec un algo qui me semble assez compliqué... Avant de me résigner à cette solution je vais attendre un peu de chercher une autre
Je te conseille peut-être de publier le script (ou un extrait), à la lumière du contexte de travail, une approche plus spécifique du problème pourra être envisagée.
-- Cordialement Sympatix (Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Merci :o)
le problème est que les chiffres sont toujours des résultats contenus
dans des variables, impossible de savoir à l'avance de quels chiffres
il s'agit. Je ne dis pas que ce soit impossible d'utiliser dans ce cas
Chr mais alors avec un algo qui me semble assez compliqué...
Avant de me résigner à cette solution je vais attendre un peu de
chercher une autre
Je te conseille peut-être de publier le script (ou un extrait), à la lumière
du contexte de travail, une approche plus spécifique du problème pourra être
envisagée.
--
Cordialement
Sympatix
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Merci :o) le problème est que les chiffres sont toujours des résultats contenus dans des variables, impossible de savoir à l'avance de quels chiffres il s'agit. Je ne dis pas que ce soit impossible d'utiliser dans ce cas Chr mais alors avec un algo qui me semble assez compliqué... Avant de me résigner à cette solution je vais attendre un peu de chercher une autre
Je te conseille peut-être de publier le script (ou un extrait), à la lumière du contexte de travail, une approche plus spécifique du problème pourra être envisagée.
-- Cordialement Sympatix (Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Do Re Mi chel La Si Do
Ouaip ! Tu as raison. J'ai comme un méchant doute sur ce qui est vraiment envoyé...
Le script ! Le script ! Le script !
Ouaip ! Tu as raison. J'ai comme un méchant doute sur ce qui est vraiment
envoyé...
Ouaip ! Tu as raison. J'ai comme un méchant doute sur ce qui est vraiment envoyé...
Le script ! Le script ! Le script !
Ernest
Merci:o) Je vous donne l'état de mes recherches en rappelant que le comportement semble être irrégulier et que si des fois j'ai obtenu le bon résultat je ne suis pas pour autant certain que cela se reproduise toujours ainsi. J'ai fait un module de test spécifique du problème et j'ai remarqué 2 choses : 1) si c'est la fenêtre principale qui ouvre Bloc-notes et effectue l'écriture les chiffres semblent passer toujours bien indépendament de l'état du caps-lock. Malheureusement dans l'application c'est une fenêtre fils qui execute les instructions et là le problème se pose. 2) si j'enlève de l'entête les parametres hta et je laisse uniquement <HTA:APPLICATION ID="oMyApp"> les chiffres semblent passer toujours bien indépendament de l'état du caps-lock. Mais j'ai quand même besoin de ces paramètres, je doute que toutes les valeurs par défaut soient celles dont j'ai besoin. Merci encore pour votre aide, voici le code
Merci:o)
Je vous donne l'état de mes recherches en rappelant que le
comportement semble être irrégulier et que si des fois j'ai obtenu le
bon résultat je ne suis pas pour autant certain que cela se reproduise
toujours ainsi.
J'ai fait un module de test spécifique du problème et j'ai remarqué
2 choses :
1) si c'est la fenêtre principale qui ouvre Bloc-notes et effectue
l'écriture les chiffres semblent passer toujours bien indépendament
de l'état du caps-lock. Malheureusement dans l'application c'est une
fenêtre fils qui execute les instructions et là le problème se pose.
2) si j'enlève de l'entête les parametres hta et je laisse uniquement
<HTA:APPLICATION ID="oMyApp"> les chiffres semblent passer toujours
bien indépendament de l'état du caps-lock. Mais j'ai quand même
besoin de ces paramètres, je doute que toutes les valeurs par défaut
soient celles dont j'ai besoin.
Merci encore pour votre aide, voici le code
Merci:o) Je vous donne l'état de mes recherches en rappelant que le comportement semble être irrégulier et que si des fois j'ai obtenu le bon résultat je ne suis pas pour autant certain que cela se reproduise toujours ainsi. J'ai fait un module de test spécifique du problème et j'ai remarqué 2 choses : 1) si c'est la fenêtre principale qui ouvre Bloc-notes et effectue l'écriture les chiffres semblent passer toujours bien indépendament de l'état du caps-lock. Malheureusement dans l'application c'est une fenêtre fils qui execute les instructions et là le problème se pose. 2) si j'enlève de l'entête les parametres hta et je laisse uniquement <HTA:APPLICATION ID="oMyApp"> les chiffres semblent passer toujours bien indépendament de l'état du caps-lock. Mais j'ai quand même besoin de ces paramètres, je doute que toutes les valeurs par défaut soient celles dont j'ai besoin. Merci encore pour votre aide, voici le code
Je te répond par courtoisie, vu que je n'ai pas de solution immédiate à te proposer, mais tout au plus, des pistes et suggestions.
Comme ton script-test fonctionne chez moi aussi, le problème doit être lié AMHA au processus qui génère la variable qu'envoie SendKeys.
Essaye de tracer l'état de cette variable (avec des MsgBox par exemple - ou des alert, comme tu es en js) aux endroits adéquats (avant l'envoi par sendkeys par exemple). Si, lors d'un envoi erroné, la variable ne correspond effectivement pas au chiffre à envoyer, on saura déjà que le problème viens de là. Sinon, c'est SendKeys qui coince.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Je te répond par courtoisie, vu que je n'ai pas de solution immédiate à te
proposer, mais tout au plus, des pistes et suggestions.
Comme ton script-test fonctionne chez moi aussi, le problème doit être lié
AMHA au processus qui génère la variable qu'envoie SendKeys.
Essaye de tracer l'état de cette variable (avec des MsgBox par exemple - ou
des alert, comme tu es en js) aux
endroits adéquats (avant l'envoi par sendkeys par exemple). Si, lors d'un
envoi erroné, la variable ne correspond effectivement pas au chiffre à
envoyer, on saura déjà que le problème viens de là. Sinon, c'est SendKeys
qui coince.
Je te répond par courtoisie, vu que je n'ai pas de solution immédiate à te proposer, mais tout au plus, des pistes et suggestions.
Comme ton script-test fonctionne chez moi aussi, le problème doit être lié AMHA au processus qui génère la variable qu'envoie SendKeys.
Essaye de tracer l'état de cette variable (avec des MsgBox par exemple - ou des alert, comme tu es en js) aux endroits adéquats (avant l'envoi par sendkeys par exemple). Si, lors d'un envoi erroné, la variable ne correspond effectivement pas au chiffre à envoyer, on saura déjà que le problème viens de là. Sinon, c'est SendKeys qui coince.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Ernest
Merci! je ne connais pas la variable prédéfinie dont tu parles et ne comprends pas bien la stratégie, peux-tu me donner la syntaxe des tests à insérer ? window.alert(AMHA); ?... et puis, en reprenant le même script, à quels endrois mettrais-tu ces tests ? Je pense que si j'arrive à déterminer à l'avance le comportement du script par rapport à l'état du caps-lock, il suffira de swicher l'état par un SenKeys {CAPSLOCK} si nécessaire avant de poursuivre pour obtenir toujours le bon résultat.
Merci!
je ne connais pas la variable prédéfinie dont tu parles et ne
comprends pas bien la stratégie, peux-tu me donner la syntaxe des
tests à insérer ?
window.alert(AMHA); ?...
et puis, en reprenant le même script, à quels endrois mettrais-tu ces
tests ?
Je pense que si j'arrive à déterminer à l'avance le comportement du
script par rapport à l'état du caps-lock, il suffira de swicher
l'état par un SenKeys {CAPSLOCK} si nécessaire avant de poursuivre
pour obtenir toujours le bon résultat.
Merci! je ne connais pas la variable prédéfinie dont tu parles et ne comprends pas bien la stratégie, peux-tu me donner la syntaxe des tests à insérer ? window.alert(AMHA); ?... et puis, en reprenant le même script, à quels endrois mettrais-tu ces tests ? Je pense que si j'arrive à déterminer à l'avance le comportement du script par rapport à l'état du caps-lock, il suffira de swicher l'état par un SenKeys {CAPSLOCK} si nécessaire avant de poursuivre pour obtenir toujours le bon résultat.
sympatix
je ne connais pas la variable prédéfinie dont tu parles
Je reprend un extrait de ton 2e post: .../...le problème est que les chiffres sont toujours des résultats contenus dans des variables.../...
C'est de ces variables que je parle. Si par exemple, ta variable s'appelle schmurtz, et que tu l'envoie par la suite avec un Sendkeys (schmurtz); il te suffit de placer un alert (schmurtz); avant la ligne ou est envoyé sendkeys, pour afficher l'état de la variable à cet instant précis.
Sinon, AMHA = A Mon Humble Avis (c'est pas du scripting) :-)
Je pense que si j'arrive à déterminer à l'avance le comportement du script par rapport à l'état du caps-lock, il suffira de swicher l'état par un SenKeys {CAPSLOCK} si nécessaire avant de poursuivre pour obtenir toujours le bon résultat.
Je ne sais pas si c'est la meilleure solution. On s'oriente là vers du bricolage (AMHA). Il faut trouver pourquoi ça foire. Trace déjà la variable comme indiqué plus haut, et tiens nous au courant.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
je ne connais pas la variable prédéfinie dont tu parles
Je reprend un extrait de ton 2e post:
.../...le problème est que les chiffres sont toujours des résultats contenus
dans des variables.../...
C'est de ces variables que je parle.
Si par exemple, ta variable s'appelle schmurtz, et que tu l'envoie par la
suite avec un Sendkeys (schmurtz); il te suffit de placer un alert
(schmurtz); avant la ligne ou est envoyé sendkeys, pour afficher l'état de
la variable à cet instant précis.
Sinon, AMHA = A Mon Humble Avis (c'est pas du scripting) :-)
Je pense que si j'arrive à déterminer à l'avance le comportement du
script par rapport à l'état du caps-lock, il suffira de swicher
l'état par un SenKeys {CAPSLOCK} si nécessaire avant de poursuivre
pour obtenir toujours le bon résultat.
Je ne sais pas si c'est la meilleure solution. On s'oriente là vers du
bricolage (AMHA). Il faut trouver pourquoi ça foire.
Trace déjà la variable comme indiqué plus haut, et tiens nous au courant.
je ne connais pas la variable prédéfinie dont tu parles
Je reprend un extrait de ton 2e post: .../...le problème est que les chiffres sont toujours des résultats contenus dans des variables.../...
C'est de ces variables que je parle. Si par exemple, ta variable s'appelle schmurtz, et que tu l'envoie par la suite avec un Sendkeys (schmurtz); il te suffit de placer un alert (schmurtz); avant la ligne ou est envoyé sendkeys, pour afficher l'état de la variable à cet instant précis.
Sinon, AMHA = A Mon Humble Avis (c'est pas du scripting) :-)
Je pense que si j'arrive à déterminer à l'avance le comportement du script par rapport à l'état du caps-lock, il suffira de swicher l'état par un SenKeys {CAPSLOCK} si nécessaire avant de poursuivre pour obtenir toujours le bon résultat.
Je ne sais pas si c'est la meilleure solution. On s'oriente là vers du bricolage (AMHA). Il faut trouver pourquoi ça foire. Trace déjà la variable comme indiqué plus haut, et tiens nous au courant.
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Ernest
Ok... merci. en fait, la variable en question dans l'exemple proposé est le champ document.valeur.chiffree.value dont la valeur est constamment affichée et est bien en vue. le script renseigne le champ avec une valeur numérique aléatoire puis immédiatement après ouvre blocnotes et envoi cette valeur par un sendkeys dans blocnotes. Dans ces conditions un alert du champ donnera la valeur déjà en vue du champ <input type="text" ce qui n'empechera pas à sendkeys de continuer à faire qu'à sa tête. La seule possible solution AMHA passerait par une lecture des caractères envoyés dans le blocnote pour faire une comparaison et déduire le comportement à cet instant de sendkeys avant de switcher l'état du clavier si nécessaire pour obtenir le bon résultat. Mais pour faire tout ça il me faut pouvoir lire au moins un seul caractère du blocnotes ouvert et là je ne sais pas comment faire. Tu n'as pas une idée ?
Ok... merci.
en fait, la variable en question dans l'exemple proposé est le champ
document.valeur.chiffree.value
dont la valeur est constamment affichée et est bien en vue.
le script renseigne le champ avec une valeur numérique aléatoire
puis immédiatement après ouvre blocnotes et envoi cette valeur
par un sendkeys dans blocnotes. Dans ces conditions un alert du
champ donnera la valeur déjà en vue du champ <input type="text"
ce qui n'empechera pas à sendkeys de continuer à faire qu'à sa
tête.
La seule possible solution AMHA passerait par une lecture des
caractères envoyés dans le blocnote pour faire une comparaison
et déduire le comportement à cet instant de sendkeys avant de
switcher l'état du clavier si nécessaire pour obtenir le bon
résultat.
Mais pour faire tout ça il me faut pouvoir lire au moins un seul
caractère du blocnotes ouvert et là je ne sais pas comment faire.
Tu n'as pas une idée ?
Ok... merci. en fait, la variable en question dans l'exemple proposé est le champ document.valeur.chiffree.value dont la valeur est constamment affichée et est bien en vue. le script renseigne le champ avec une valeur numérique aléatoire puis immédiatement après ouvre blocnotes et envoi cette valeur par un sendkeys dans blocnotes. Dans ces conditions un alert du champ donnera la valeur déjà en vue du champ <input type="text" ce qui n'empechera pas à sendkeys de continuer à faire qu'à sa tête. La seule possible solution AMHA passerait par une lecture des caractères envoyés dans le blocnote pour faire une comparaison et déduire le comportement à cet instant de sendkeys avant de switcher l'état du clavier si nécessaire pour obtenir le bon résultat. Mais pour faire tout ça il me faut pouvoir lire au moins un seul caractère du blocnotes ouvert et là je ne sais pas comment faire. Tu n'as pas une idée ?
sympatix
Ok... merci. en fait, la variable en question dans l'exemple proposé est le champ document.valeur.chiffree.value dont la valeur est constamment affichée et est bien en vue. le script renseigne le champ avec une valeur numérique aléatoire puis immédiatement après ouvre blocnotes et envoi cette valeur par un sendkeys dans blocnotes. Dans ces conditions un alert du champ donnera la valeur déjà en vue du champ <input type="text" ce qui n'empechera pas à sendkeys de continuer à faire qu'à sa tête.
Le problème, c'est que, comme tu l'as dit dans un de tes posts précédents, l'erreur ne se produit que lorsque c'est ton appplication tièrce qui lance notepad. Il faudrait par conséquent que tu fasses les tests avec la variable, mais avec le *script complet* qui génère l'erreur, attendre qu'elle se produise, et constater.
La seule possible solution AMHA passerait par une lecture des caractères envoyés dans le blocnote pour faire une comparaison et déduire le comportement à cet instant de sendkeys avant de switcher l'état du clavier si nécessaire pour obtenir le bon résultat.
C'est faisable, en changeant de méthode: au lieu d'ouvrir une instance de notepad, il faut créer un fichier texte, et écrire dedans avec FSO et l'objet TextStream. Mais je ne ferais pas comme ça, c'est du bidouillage, et ça ne te dira pas d'où vient le problème.
Sinon, à tittre d'infos, quelques adresses utiles:
le script center de microsoft http://www.microsoft.com/technet/scriptcenter/default.mspx
L'incontournable sîte de JC bellamy (ne traite que du vbscript, pas du Jscript) http://www.bellamyjc.org/fr/vbscript.html
Je n'arrive plus à trouver l'url de téléchargement de la doc script56.chm (si quelqu'un l'a éventuellement).
(Antispam: Ôter les "toto" dans l'adresse, pour me répondre)
Ok... merci.
en fait, la variable en question dans l'exemple proposé est le champ
document.valeur.chiffree.value
dont la valeur est constamment affichée et est bien en vue.
le script renseigne le champ avec une valeur numérique aléatoire
puis immédiatement après ouvre blocnotes et envoi cette valeur
par un sendkeys dans blocnotes. Dans ces conditions un alert du
champ donnera la valeur déjà en vue du champ <input type="text"
ce qui n'empechera pas à sendkeys de continuer à faire qu'à sa
tête.
Le problème, c'est que, comme tu l'as dit dans un de tes posts précédents,
l'erreur ne se produit que lorsque c'est ton appplication tièrce qui lance
notepad.
Il faudrait par conséquent que tu fasses les tests avec la variable, mais
avec le *script complet* qui génère l'erreur, attendre qu'elle se produise,
et constater.
La seule possible solution AMHA passerait par une lecture des
caractères envoyés dans le blocnote pour faire une comparaison
et déduire le comportement à cet instant de sendkeys avant de
switcher l'état du clavier si nécessaire pour obtenir le bon
résultat.
C'est faisable, en changeant de méthode: au lieu d'ouvrir une instance de
notepad, il faut créer un fichier texte, et écrire dedans avec FSO et
l'objet TextStream.
Mais je ne ferais pas comme ça, c'est du bidouillage, et ça ne te dira pas
d'où vient le problème.
Sinon, à tittre d'infos, quelques adresses utiles:
le script center de microsoft
http://www.microsoft.com/technet/scriptcenter/default.mspx
L'incontournable sîte de JC bellamy (ne traite que du vbscript, pas du
Jscript)
http://www.bellamyjc.org/fr/vbscript.html
Je n'arrive plus à trouver l'url de téléchargement de la doc script56.chm
(si quelqu'un l'a éventuellement).
Ok... merci. en fait, la variable en question dans l'exemple proposé est le champ document.valeur.chiffree.value dont la valeur est constamment affichée et est bien en vue. le script renseigne le champ avec une valeur numérique aléatoire puis immédiatement après ouvre blocnotes et envoi cette valeur par un sendkeys dans blocnotes. Dans ces conditions un alert du champ donnera la valeur déjà en vue du champ <input type="text" ce qui n'empechera pas à sendkeys de continuer à faire qu'à sa tête.
Le problème, c'est que, comme tu l'as dit dans un de tes posts précédents, l'erreur ne se produit que lorsque c'est ton appplication tièrce qui lance notepad. Il faudrait par conséquent que tu fasses les tests avec la variable, mais avec le *script complet* qui génère l'erreur, attendre qu'elle se produise, et constater.
La seule possible solution AMHA passerait par une lecture des caractères envoyés dans le blocnote pour faire une comparaison et déduire le comportement à cet instant de sendkeys avant de switcher l'état du clavier si nécessaire pour obtenir le bon résultat.
C'est faisable, en changeant de méthode: au lieu d'ouvrir une instance de notepad, il faut créer un fichier texte, et écrire dedans avec FSO et l'objet TextStream. Mais je ne ferais pas comme ça, c'est du bidouillage, et ça ne te dira pas d'où vient le problème.
Sinon, à tittre d'infos, quelques adresses utiles:
le script center de microsoft http://www.microsoft.com/technet/scriptcenter/default.mspx
L'incontournable sîte de JC bellamy (ne traite que du vbscript, pas du Jscript) http://www.bellamyjc.org/fr/vbscript.html
Je n'arrive plus à trouver l'url de téléchargement de la doc script56.chm (si quelqu'un l'a éventuellement).