Coucou Yannick.
Effectivement si on sait exactement jusqu'où sélectionner ton script est 
très bien. Par contre dans le cas contraire j'ai fait quelque chose 
différent qui me semble plus astucieux. Le principe, on se place sur la 
première ligne de la partie à sélectionner et on exécute un premier 
raccourci,puis on va à la fin et on exécute un second raccourci. Tout ce 
qui se trouve entre les deux est sélectionné et mis dans le presse papier.

Globals
string  Sposition,
String Sposition2

Script DebutDeSelection2 ()
;ctrl+Maj+windows+origine
Let Sposition=GetLine ()
SayString ("Début de sélection")
EndScript

Script FinDeSelection2 ()
;ctrl+Maj+windows+fin
ScheduleFunction ("FinDeSelection2", 5)
EndScript

Void Function FinDeSelection2 ()
Let Sposition2=GetLine ()
SpeechOff ()
;If iposition2 > iposition Then
  While (Sposition2 != Sposition) && !IsKeyWaiting ()
Let Sposition2= GetLine ()
SelectPriorLine ()
Endwhile
SelectNextLine ()

If IsSameScript ()  == 0 Then
PerformScript CopySelectedTextToClipboard ()
EndIf
If IsSameScript ()  == 1 Then
PerformScript AppendSelectedTextToClipboard ()
Endif
SpeechOn ()
Saystring (GetSelectedText ())
EndFunction

J'ai fait l'équivalent (en plus perfectionné), pour le web et pour 
l'explorateur de Windows. Je mettrai le tout sur le site de jawsscript.


Seb

Le 14.01.12 18:39, Yannick Youalé a écrit :
>
> Salut à tous !
>
> En temps que programmeurs, il vous arrive souvent de refactoriser vos codes. 
> C'est-à-dire de les épurer, en déplacer des parties à d'autres endroits, les 
> formatter, etc.
>
> Lors de ces manoeuvres, vous devez sélectionner de plus ou moins grandes 
> portions de code. Et le faire avec jaws est tout simplement chiant, puisqu'il 
> faille le faire ligne par ligne dans la plupart des éditeurs. Et là, gare au 
> faux mouvement qui nous oblige à tout recommencer, ou alors au fait que jaws 
> ne nous dise pas exactement ce qui est réellement sélectionné.
>
> C'est pourquoi je vous propose ce scripts de jaws pour lancer de grosses 
> sélections sans avoir de crampe de doigts.
>
> En voici le principe:
>
> En réalité, il s'agit de script qui sélectionne le texte ligne par ligne, 
> jusqu'à ce qu'il rencontre  une expression qui va arrêter la sélection.
>
> Par exemple, en visual basic, sachant qu'une procédure commence toujours par 
> l'instruction "sub" et se termine par "End Sub", pour pouvoir  sélectionner 
> toute une procédure sans se soucier de combien de ligne elle fait, vous 
> devrez:
>
> 1. Vous positionner à l'endroit où devrait commencer la sélection. C'est à 
> dire au début de la ligne d'en-tête de la procédure.
>
> 2. Puis, faire "ctrl+alt+retour arrière" pour appeller le script de 
> sélection. Une boîte de dialogue s'ouvre alors, vous demandant de taper 
> l'expression qui, si elle est rencontrée, arrêtera la sélection.
>
> 3. Pour notre exemple, vous taperez alors l'expression "End Sub"; puisque 
> nous voulons sélectionner de l'endroit où nous sommes jusqu'à la fin de la 
> procédure visual basic. Attention ! Faire gaffe à la cass, la recherche est 
> sensible aux majuscules et minuscules.
>
> 4. Vous faites "entrer", et la sélection selance après qu'un message de jaws 
> vous ait demandé de patienter. Ici, pour quon ait une idée de la progression 
> de la sélection, j'ai prévu que jaws vous avertisse toutes les dix lignes.
>
> 5. Normalement, si l'expression tapée dans la boîte de dialogue est trouvée, 
> la sélection s'arrête, signalé par un message de jaws. Et vous n'aurez plus 
> qu'à soit supprimer, copier ou couper la portion de texte sélectionnée.
>
> Autres informations:
>
> * Une sélection lancée peut être arrêtée à tout moment en appuyant sur 
> n'importe quelle touche du clavier. Moi, par prudence je préfère la touche 
> "échap".
>
> * Si contrairement à l'exemple évoqué plus haut vous n'avez pas au départ 
> l'expression jusqu'à laquelle la sélection doit se faire, vous devrez vous 
> rendre là où elle doit s'arrêté et taper vous-même une expression. Moi, j'ai 
> l'habitude de taper par exemple "/rep" comme repère de fin de sélection.
>
> * Cette méthode est employable
> dans tous les éditeurs de texte qu'il m'a été donné d'utiliser. Donc, qu'il 
> s'agisse de programmation ou non, elle peut vous permettre de faciliter la 
> sélection de texte en général.
> Cependant, j'ai malheureusement constaté qu'elle ne fonctionne pas dans les 
> pages web.
>
> En définitive, il s'agit d'une méthode qui m'a grandement facilité mes taches 
> de refactorisation (quel que soit le langage), et de sélection en général.
>
>
> Maintenant le script
>
> Je le place dans le fichier "default.jss" pour que cette méthode de sélection 
> soit accessible dans tous mes éditeurs de texte.
>
> Script SelectUntilString ()
>
> ; "ctrl+alt+BackSpace"
>
> ; Lance une sélection jusqu'à une expression indiquée.
>
> var
>
> string s,
>
> int i
>
> if IsPCCursor ()
>
> &&  ! MenusActive ()
>
> then
>
> InputBox ("Tapez le texte jusqu'auquel la sélection doit s'arrêter. 
> Attention, respectez la cass.", "Sélectionner jusqu'à", s)
>
> if s == "" then
>
> return
>
> endif
>
> SayString ("Veuillez patienter pendant la sélection")
>
> SpeechOff ()
>
> SelectNextLine ()
>
> SelectToEndOfLine ()
>
> while (! StringContains (GetSelectedText (), s))
>
> Delay (1)
>
> SelectNextLine ()
>
> SelectToEndOfLine ()
>
> let i=i+1
>
> ; si i est un multiple de 10
>
> if i == (i/10)*10 then
>
> ; alors on fait part de l'évolution
>
> SpeechOn ()
>
> SayString (IntToString (i)+" lignes")
>
> SpeechOff ()
>
> endif
>
> ; si une touche quelconque du clavier est pressée entre temps,
>
> ; annulation de la procédure
>
> if IsKeyWaiting () == true then
>
> SpeechOn ()
>
> SayString (IntToString (i)+" lignes")
>
> SayString ("Arrêt de la procédure de sélection")
>
> return
>
> endif
>
> endwhile
>
> ; le texte d'arrêt a été trouvé et sélectionné
>
> SpeechOn ()
>
> SayString ("Fin de sélection")
>
> SayString (IntToString (i)+" lignes")
>
> endif ; fin si pc cursor
>
> EndScript
>
>
> Puisse cela vous être utile.
>
> Yannick Daniel Youalé
> La programmation est une religion. Aimez-la, ou quittez-la.
> Progliste :
> Pour se désinscrire de la liste : 
> mailto:progliste-requ...@ml.free.fr?subject=unsubscribe
>
> Pour voir les archives de la liste :
> http://www.mail-archive.com/progliste@ml.free.fr/     
>
> Pour accéder aux fichiers de la liste
> http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
> Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
> vous répondrez en privé.
>

Progliste :
Pour se désinscrire de la liste : 
mailto:progliste-requ...@ml.free.fr?subject=unsubscribe

Pour voir les archives de la liste :
http://www.mail-archive.com/progliste@ml.free.fr/       

Pour accéder aux fichiers de la liste
http://outils.archive-host.com/partage.php?id=2Qar9Hy6ftzr
Pour y ajouter des fichiers demandez-moi le ou sur la liste ou en privé, je 
vous répondrez en privé.

Répondre à