<< Retour au sommaire

 

La fonction GetActiveCursor

 

 

 

Table des matières

  1. Présentation ;
  2. Une analyse de l’exemple du prochain chapitre ;
  3. Le code.

 

Présentation

 

La fonction « GetActiveCursor » retourne le type du curseur actif.

Vous devez passer en paramètre à cette fonction la constante « TRUE ».

 

La fonction retourne une valeur entière qui correspond au type du curseur qui est actif :

0 pour le curseur JAWS,

1 Pour le curseur PC,

2 pour le curseur Invisible.

 

Vous pouvez bien sûr récupérer la valeur retournée dans une variable de type « Int » !

 

Var Int TypeCurseur

Let TypeCurseur = GetActiveCursor (TRUE)

 

Dans cette syntaxe, la variable « TypeCurseur » récupère la valeur correspondant au type du curseur actif…

 


L’analyse de l’exemple du chapitre suivant

 

Voici 2 scripts :

 

  1. Le premier s’intitule « Enregistrer3Lignes », il a pour objectif de mémoriser la ligne courante ainsi que les deux lignes suivantes dans des variables distinctes. Mais comme la lecture des 2 dernières lignes doit se faire en curseur invisible, il conviendra de connaître le curseur actif, et ce, afin de savoir à quel curseur, le curseur invisible doit être joins.
  2. Le script « Lire3Lignes » aura pour objectif de lire les lignes mémorisées dans les 3 variables.

 

Analysons ensembles le sujet !

Pour commencer, nous devons nous poser la question :

-         Où allons-nous créer le script ?

 

Comme le script doit être opérationnel partout, nous devons le créer dans le fichier « DEFAULT.JSS ».

Son rôle est de mémoriser 3 lignes de l’écran, donc il nous faut 3 variables de type « chaîne de caractères ».

Comme ces variables devront être également fonctionnelles partout, nous devons utiliser des variables globales déclarées dans le fichier « DEFAULT.JSS ».

Donc, après avoir ouvert le fichier « DEFAULT.JSS », nous devrons insérer la déclaration des 3 variables dans le bloc « GLOBALS » déjà existant.

Ainsi, lorsque le script sera exécuté, les variables conserveront les valeurs qu’on leur aura affectées, ce qui ne serait pas le cas si l’on utilisait des variables locales déclarées dans le script depuis le mot clef « var »…

 

Voici donc une première étape…

 

Nous pouvons maintenant créer le script « Enregistrer3Lignes ».

Comme nous devrons prévoir l’annulation de l’opération d’enregistrement dans le cas de figure où les 3 lignes courantes sont d’ores et déjà mémorisées dans les variables, nous devons au préalable, réaliser une vérification en comparant la ligne courante au contenu de la première variable. Au fait, comment allons-nous appeler ces variables ?

Moi je propose Ligne1, Ligne2 et Ligne3 tout simplement…

 

Voici l’analyse du script d’enregistrement.

Dans cette analyse, tout traitement sera exprimé par un verbe à l’infinitif…

 

Script Enregistrer3Lignes (assigné au raccourci clavier CTRL +F5.)

Si Ligne Courante est égale à Ligne1 Alors

Ce n’est pas bon, nous sommes ici dans le cas de figure où la ligne courante est d'ores et déjà mémorisée.

Demander à JAWS d’annoncer un message d’erreur.

Sinon

Voilà, ici nous sommes dans le deuxième cas de figure, nous pouvons commencer le traitement d’enregistrement.

Nous allons réinitialiser les 3 variables en leur affectant une chaîne vide.

Pourquoi ? Eh bien parce que si nous sommes en bas de l’écran et qu’il reste moins de 3 lignes, il se peut que les variables Ligne2 ou Ligne3, voir les deux, conservent les contenus précédents puisqu’elles ne seront pas traitées dans ce nouvel enregistrement, donc :

Affecter une chaîne vide à Ligne1, Ligne2 et Ligne3.

Quel que soit le curseur actif, on peut mémoriser immédiatement la ligne courante, donc :

Affecter ligne courante dans Ligne1.

Maintenant, comme nous allons descendre vers le bas, nous devons sauvegarder le type du curseur qui est actif ainsi que sa position :

Sauvegarder le type de curseur ainsi que sa position à l’écran.

Allez on continue, nous devons vérifier le type du curseur actif afin de lui joindre le curseur invisible.

Si curseur actif égal curseur JAWS, alors

Joindre curseur Invisible à curseur JAWS.

Fin du si.

Si curseur actif égal curseur PC alors

Joindre curseur Invisible au curseur PC.

Fin du si.

Remarque : Dans le cas où le type de curseur est déjà l’invisible, on ne fait rien…

Nous devons descendre à la ligne suivante :

  Atteindre ligne suivante.

Nous devons vérifier si le curseur n’est pas en bas de la fenêtre, c’est-à-dire s’il n’a pas bougé, dans quel cas la mémorisation de la ligne courante n’est pas nécessaire !

Si ligne courante est différente de Ligne1 alors

C’est bon, on peut la mémoriser, c’est une nouvelle ligne…

Affecter ligne courante dans Ligne2.

Maintenant on descend une nouvelle fois.

Atteindre la ligne suivante.

On vérifie si on est bien descendu, si l'on n'est pas bloqué par le bas de la fenêtre !

Si ligne courante est différente de Ligne2, alors

Ok, on peut mémoriser la troisième ligne, il s’agit d’une nouvelle ligne !

Affecter ligne courante dans Ligne3.

Fin du si.

On vient de fermer le « si » de la mémorisation de la troisième ligne.

Nous sommes donc maintenant de retour dans le deuxième « si », c’est-à-dire celui dans lequel nous avons activé le curseur invisible, nous devons restaurer le curseur d’origine.

Restaurer le curseur d’origine.

Nous pouvons fermer le deuxième « si » maintenant.

Fin du si.

Nous sommes de retour dans le premier « si », dans le « else », c’est-à-dire dans le cas de figure où nous lançons la mémorisation, on peut alors annoncer à l’utilisateur la bonne nouvelle…

Annoncer le message suivant : « Mémorisation Ok ».

Fin du premier si.

Fin du script.

 

Pour le script qui permet de lire les 3 variables, rien de plus simple :

Toujours dans le fichier « DEFAULT.JSS ».

 

Script Lire3Lignes (Assigné au raccourci clavier ALT +F5.)

Lire Ligne1, Ligne2 et Ligne3.

Fin du script.

 

Le code

 

Les scripts vont être réalisées dans le fichier « DEFAULT.JSS » afin qu’il soit accessible partout.

 

Déclarations des 3 variables dans le bloc « GLOBALS » du fichier « DEFAULT.JSS ».

 

Voici le bloc de déclaration :

String Ligne1,

String Ligne2,

String Ligne3,

 

Voici le code du script « Enregistrer3Lignes » que j’ai associé au raccourci clavier CTRL +F5.

 

Script Enregistrer3Lignes ()

; Vérifie si la ligne n'a pas déjà été mémorisée

If GetLine () == Ligne1 Then

  ; Erreur, elle est déjà mémorisée

  SayString ("Echec, cette zone est déjà mémorisée !")

Else

  ; Ok pour l'enregistrement

  ; Réinitialisation des 3 variables

  ; En leur affectant une chaîne vide

  Let Ligne1 = ""

  Let Ligne2 = ""

  Let Ligne3 = ""

  ; Mémorisation de la ligne courante

  Let Ligne1 = GetLine ()

  ; Sauvegarde du curseur actif

  SaveCursor ()

  ; Vérifie le type du curseur actif

  If GetActiveCursor (TRUE) == 0 Then

    ; Le curseur actif est le curseur JAWS

    ; Joindre le curseur invisible au curseur JAWS

    RouteInvisibleToJAWS ()

  EndIf

  If GetActiveCursor (TRUE) == 1 Then

    ; Le curseur actif est le curseur PC

    ; Joindre le curseur invisible au curseur PC

    RouteInvisibleToPC ()

  EndIf

  ; Descendre à la ligne suivante

  NextLine ()

  ; Vérifie si le curseur n'est pas en bas de la fenêtre

  If GetLine () != Ligne1 Then

    ; Ok pour l'enregistrement de la ligne 2

    Let Ligne2 = GetLine ()

    ; Descendre à la ligne suivante

    NextLine ()

    ; Vérifie si nous ne sommes pas en bas de la fenêtre

    If GetLine () != Ligne2 Then

      ; Enregistrement de la troisième ligne

      Let Ligne3 = GetLine ()

    EndIf

    ; Réactivation du curseur d'origine

    RestoreCursor ()

  EndIf

  SayString ("Mémorisation Ok")

EndIf

EndScript

 

Voici le script « Lire3Lignes » que j’ai associé au raccourci clavier ALT +F5.

 

Script Lire3Lignes ()

 

; Lecture des variables

SayString ("Les lignes mémorisées sont :")

SayString (Ligne1+Ligne2+Ligne3)

EndScript

 

Philippe BOULANGER