Après windows pour les nuls, voici PB pour les bons (ou presque).

Le forum (ô combien francophone) des utilisateurs de Powerbuilder.

Recherche rapide

Annonce

Certaines rubriques, dont des cours, sont uniquement visibles par les membres du forum ^^.
Dans la rubrique Liens & Références, vous avez accès à un sommaire de téléchargement, profitez-en !
Il existe maintenant un nouveau TOPIC "Votre CV en Ligne" accessible uniquement par demande.

#1 24-06-2009 09:04:08

BRWA  
Membre Power Geek
Lieu: Beuzet (Belgique)
Date d'inscription: 18-12-2008
Messages: 151
Pépites: 24,612
Banque: 0

keydown(keycontrol!)

Est-ce que quelqu'un connaît un moyen de faire croire au système que la touche ctrl est enfoncée alors qu'elle ne l'est pas réellement ?

Merci


Wagener Bruno

Hors ligne

 

#2 24-06-2009 09:08:47

pick ouic  
La bourse ou la vie ^^
Award: gearotter
Lieu: Massy-Verrières
Date d'inscription: 29-05-2006
Messages: 4658
Pépites: 942
Banque: 2,147,483,647
Site web

Re: keydown(keycontrol!)

salut,

pourquoi ?


Connaitre son ignorance est une grande part de la connaissance.
http://animegifs.free.fr/anime/mazinger/mazinger.gif

Hors ligne

 

#3 24-06-2009 09:12:20

erasorz  
Admin
Lieu: Babylone
Date d'inscription: 23-11-2006
Messages: 5121
Pépites: 97,197
Banque: 2,147,483,647

Re: keydown(keycontrol!)


N'envoyez jamais un humain faire le travail d'un programme.

Hors ligne

 

#4 24-06-2009 10:07:13

BRWA  
Membre Power Geek
Lieu: Beuzet (Belgique)
Date d'inscription: 18-12-2008
Messages: 151
Pépites: 24,612
Banque: 0

Re: keydown(keycontrol!)

pick ouic a écrit:

salut,

pourquoi ?

Parce que j'ai plusieurs événements de plusieurs objets qui s'enchaînent suite au keyenter! Et que au milieu du deuxième événement, keydown(keyenter!) me retourne false ... (alors qu'au début de ce deuxième événement, il me retourne true)


Wagener Bruno

Hors ligne

 

#5 24-06-2009 14:49:48

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: keydown(keycontrol!)

méfie toi de ce que tu vois en débug, si tu débugge et que ton doigt n'est plus sur la touche ...


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#6 24-06-2009 21:26:38

BRWA  
Membre Power Geek
Lieu: Beuzet (Belgique)
Date d'inscription: 18-12-2008
Messages: 151
Pépites: 24,612
Banque: 0

Re: keydown(keycontrol!)

Je l'ai testé autant en debug qu'en utilisant un MessageBox ou en modifiant dynamiquement le titre de la fenêtre ...

Je sais, ce n'est pas possible ... Keydown(keyenter!) devrait retourner true uniquement pour le premier événement et false pour les suivants ...

Je ne sais pas si c'est du aux caractéristiques du processeur de mon poste de travail ou aux caractéristiques du clavier que j'utilise ... En tous cas, c'est bancale !

Je reformule ma question : comment faire savoir au deuxième objet que le déclenchement de ses événements provient du déclenchement d'un événement (keypressed = keyenter!) du premier (et ceci sans passer par une variable d'instance ni par une variable globale) ?


Wagener Bruno

Hors ligne

 

#7 29-06-2009 08:39:54

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: keydown(keycontrol!)

BRWA a écrit:

Je l'ai testé autant en debug qu'en utilisant un MessageBox

mauvaise méthode aussi, imagine que tu débugge l'event activate d'une fenêtre avec un messagebox... => infinite loop
10 rentre dans event activate
20 messagebox
30 click ok/cancel messagebox => rends le focus à la fenêtre
40 goto 10

BRWA a écrit:

ou en modifiant dynamiquement le titre de la fenêtre

bonne solution ;-)

sinon à mon avis t'as plus un problème de design au niveau de ton appli qu'un problème technique (oui je sais ça t'aide pas...)


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#8 29-06-2009 08:47:57

BRWA  
Membre Power Geek
Lieu: Beuzet (Belgique)
Date d'inscription: 18-12-2008
Messages: 151
Pépites: 24,612
Banque: 0

Re: keydown(keycontrol!)

Je l'ai testé sur un autre pc (autres données techniques et autre clavier), et ça me donne un résultat différent : le keydown(keyenter!) me retourne false au début du second event.

Je ne vois comme conclusion que le fait que celà soit dû au temps de réponse du clavier ...

Quoi qu'il en soit, je me suis débrouillé autrement en contrôlant les événement pbm_lbuttonup et pbm_lbuttondown ...

rincevent a écrit:

BRWA a écrit:

Je l'ai testé autant en debug qu'en utilisant un MessageBox

mauvaise méthode aussi, imagine que tu débugge l'event activate d'une fenêtre avec un messagebox... => infinite loop
10 rentre dans event activate
20 messagebox
30 click ok/cancel messagebox => rends le focus à la fenêtre
40 goto 10

Je fais attention à ce genre de désagrément . De plus, je ne code pour ainsi dire jamais l'événement activate ... (en fait, je n'ai pas encore rencontré un cas de figure pour lequel j'en avais besoin)

Dernière modification par BRWA (29-06-2009 08:50:13)


Wagener Bruno

Hors ligne

 

#9 29-06-2009 14:08:54

rincevent  
Modérateur
Award: bf
Lieu: Belgique
Date d'inscription: 06-02-2007
Messages: 722
Pépites: 100,002,023
Banque: 0

Re: keydown(keycontrol!)

BRWA a écrit:

Quoi qu'il en soit, je me suis débrouillé autrement en contrôlant les événement pbm_lbuttonup et pbm_lbuttondown ...

sont plus à un bidouillage près chez PMIGest de toutes façon si ?

bon courage et bonne chance à toi


http://img114.imageshack.us/img114/8519/userbar175801nb.gif
Pourquoi ne puis-je vivre comme n'importe quel être humain ? Pourquoi mon destin est-il de ne pouvoir cesser de me battre ?

Hors ligne

 

#10 29-06-2009 15:00:24

BRWA  
Membre Power Geek
Lieu: Beuzet (Belgique)
Date d'inscription: 18-12-2008
Messages: 151
Pépites: 24,612
Banque: 0

Re: keydown(keycontrol!)

rincevent a écrit:

sont plus à un bidouillage près chez PMIGest de toutes façon si ?

Non, leur logiciel est clair et tend à l'être de plus en plus ! K.I.S.S. !


Wagener Bruno

Hors ligne

 

#11 30-06-2009 10:12:11

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: keydown(keycontrol!)

BRWA a écrit:

rincevent a écrit:

sont plus à un bidouillage près chez PMIGest de toutes façon si ?

Non, leur logiciel est clair et tend à l'être de plus en plus ! K.I.S.S. !

Ha ha haaaa... Keep It Simple and Stupid... Je revois encore Mr Verstichel me le dire tiens...

Maintenant, si tu me dis que pmiX est devenu clair, alors là... je suis estomaqué, comme on dit chez moi...
;)

Maintenant, pour revenir sur ton problème, pourrais-tu nous expliquer où exactement tu fais ton keydown(), quel évènement initie ton processus, pourquoi tu as besoin de faire 2 'keydown',... ?

Hors ligne

 

#12 01-07-2009 05:54:45

BRWA  
Membre Power Geek
Lieu: Beuzet (Belgique)
Date d'inscription: 18-12-2008
Messages: 151
Pépites: 24,612
Banque: 0

Re: keydown(keycontrol!)

Je n'ai plus besoin de faire deux keydown, je me suis débrouillé autrement ...

Mais j'ai remarqué que lorsque je suis en focus d'un singleline edit dont le keypressed est codé pour initier un changement sur une dw après un keyenter (recherche de ligne dont la première colonne ressemble au texte dans le sle), et que dans le keyenter on a dw.TriggerEvent (Clicked!), ... et bien quand je teste keydown(keyenter!) dans ce clicked, j'ai true jusqu'à la ligne 15 ... (et donc false à partir de la ligne 16)

Dernière modification par BRWA (01-07-2009 05:55:29)


Wagener Bruno

Hors ligne

 

#13 02-07-2009 08:30:52

Cortex  
Modérateur
Lieu: Arlon
Date d'inscription: 08-02-2008
Messages: 194
Pépites: 6,904
Banque: 2,109,818,425,070

Re: keydown(keycontrol!)

BRWA a écrit:

Mais j'ai remarqué que lorsque je suis en focus d'un singleline edit dont le keypressed est codé pour initier un changement sur une dw après un keyenter (recherche de ligne dont la première colonne ressemble au texte dans le sle), et que dans le keyenter on a dw.TriggerEvent (Clicked!), ... et bien quand je teste keydown(keyenter!) dans ce clicked, j'ai true jusqu'à la ligne 15 ... (et donc false à partir de la ligne 16)

Oui, mais d'après moi, c'est tout à fait correct... On parle bien de la fonction 'keydown()' qui renvoie un boolean? Si oui, c'est normal! En principe, tu n'est censé l'appeller qu'une seule fois et puis basta...

Imagine ce que fait cette fonction: à un moment t, elle vérifie si la touche spécifiée a été pressée. Mais il faut bien qu'un jour ou l'autre la fonction te renvoie false, d'autres touches étant pressées par après... Donc tu ne dois tester la dernière frappe qu'une seule fois, puisque pendant que ton script est exécuté par PB la situation va fatalement évoluer, et ce de manière différente d'une machine à l'autre (mode d'implémentation du buffer IO du keyboard) et d'un RUN à l'autre (occupation CPU à ce moment...)

Le mieux dans ce cas est de travailler sur l'argument key de l'event keydown, keypressed, keyup ou je ne sais plus quoi...

Hors ligne

 

Pied de page des forums

Propulsé par FluxBB 1.2.22