realbasic-nug.fr
[Top] [All Lists]

Re: Frapper Clavier

To: REALbasic NUG French <realbasic-nug dot fr at lists dot realsoftware dot com>
Subject: Re: Frapper Clavier
From: Arnaud Nicolet <arnaud at tribu dot ch>
Date: Tue, 14 Nov 2006 19:06:27 +0100
Delivered-to: listarchive at realsoftware dot com
Delivered-to: realbasic-nug dot fr at lists dot realsoftware dot com
References: <0C8712E7-2ECD-40E2-9586-FC4C16F24147 at free dot fr> <4558A01D dot 20807 at sichel dot org> <A9F52B23-3887-40D3-9B5A-F2945530A293 at free dot fr> <95FFADC6-E60C-4C20-8AB9-E62BD147C69F at tribu dot ch> <D1745801-B84B-4DEB-A3DF-4599BFD5A81D at free dot fr> <17731096-49F4-4AFF-AD0E-B1C63C906EC1 at tribu dot ch> <38A01C11-18AD-4B9C-8FAF-D936BD8B05C9 at free dot fr>
À votre service.

Le 14 nov. 06 à 16:44 Soir, Baptiste Laget a écrit:

Merci !

Le 13 nov. 06 à 21:20, Arnaud Nicolet a écrit :

Le 13 nov. 06 à 18:24 Soir, Baptiste Laget a écrit:

ça serait pour Mac OS

Baptiste
Le 13 nov. 06 à 18:22, Arnaud Nicolet a écrit :

Le 13 nov. 06 à 17:44 Soir, Baptiste Laget a écrit:

Oui, je sais mais imaginons que le champs soit exterieur à une app RB, il faut donc émuler un clavier.

Baptiste
Le 13 nov. 06 à 17:41, Arnaud SICHEL a écrit :

bonjour,
par exemple pour remplir un editfield le plus simple serait de mettre un timer qui éxécute le code :

editfield1.text = editfield1.text + "MonCarractère"

Arnaud

Baptiste Laget a écrit :
Bonjour,
J'aimerais savoir si vous connaissez une technique pour émuler la frappe clavier de l'utilisateur. Exemple : l'utilisateur choisit un champ dans une application extérieur, et, par exemple, grâce à un timer, REALBasic remplit le champ à la place de l'utilisateur.
Merci,
Baptiste

Deux réponses me viennent à l'esprit:

1: utiliser le module externe MBS qui contient cette fonction.

2: utiliser une commande "declare" pour accéder à la fonction directement dans le SE. À propos, quel système d'exploitation est en vue?

Bien... J'ai trouvé une réponse pour Mac OS X. Mac OS 9... je ne sais pas (encore). Je suis d'habitude le premier à dire que Mac OS 9 compte, mais c'est votre avis qui compte, ici.

Ce n'est pas la méthode la plus directe, mais enfin.

On peut utiliser l'application "System Events" (/System/ CoreServices/System events") et envoyer un AppleEvent:

  dim ae As AppleEvent

  ae=NewAppleEvent("prcs","kprs","sevs")
  ae.StringParam("----")=Key 'Le caractère voulu
  if not ae.Send then
    Beep
  end if

Il peut être utile de lancer "System Events" au préalable (je ne sais pas sous quelles conditions cette application est ou n'est pas lancée; d'après ce que j'ai vu, elle est lancée lorsqu'un script (AppleScript) l'invoque et reste alors ouverte jusqu'à ce qu'on ferme la session).

Je suis certain qu'on peut aussi y parvenir avec des "declares", mais la recherche n'a rien donné. De toutes façons, les AppleScripteurs font avec System Events.

J'espère que ça vous va.



<Prev in Thread] Current Thread [Next in Thread>