[jawsscripts] Re: Schedule Function
- From: "David Farough" <David.Farough@xxxxxxxxxxxxx>
- To: "JAWS Scripts" <jawsscripts@xxxxxxxxxxxxx>
- Date: Wed, 15 Apr 2009 15:57:15 -0400
Hi Dean:
I have been meaning to get back to you on this. I was off work the
last few weeks having surgery. I am only now dealing with the backlog
of email.
try adding the following near the top of your TopOfText function.
before you position cursor and do sayline etc.
Let iKeyWasPressed = IsKeyWaiting () ; set variable to true if a key
was
pressed.
if iKeyWasPressed then
return ; get out before starting process and while loop
endif
David Farough
Application Accessibility Coordinator/coordonateur de l'accessibilité
Information Technology Services Directorate /
Direction des services d'information technologiques
Public Service Commission / Commission de la fonction publique
Email / Courriel: David.Farough@xxxxxxxxxxxxx
Tel. / Tél: (613) 992-2779
>>> "Dean Masters" <dwmasters@xxxxxxxxxxxxx> 03:35 pm Wednesday, April
15, 2009 >>>
I have written a set of scripts and functions to read text continuously
in a
Bible software program. It reads to the end of the screen then moves to
the
next screen and reads from there. I got it to stop reading when i hit
the
control button but then I noticed that the ScheduledFunction stil goes
on at
the time alotted. so I am reading and stop the reading. After the
allotted
time I hear the ScheduledFunction start and run. Here is the function
where
I call the ScheduledFunction:
Void Function TopOfText ()
VAR
string LastLine,
Int iKeyWasPressed, ;use this to terminate the while loop.
string sScheme,
string sScheme1,
string sScheme2
InvisibleCursor ()
Let LastLine = GetLine (); saves first line
SayLine ();speaks first line
JAWSHome ()
NextLine ();scrols to next line
Pause ()
Let CurrentLine = GetLine ();saves new line
While (CurrentLine != LastLine && iKeyWasPressed ==0);speak if two
adjacentlines are dissimilar or if a key was pressed
Let iKeyWasPressed = IsKeyWaiting () ; set variable to true if a key
was
pressed.
If iKeyWasPressed then
Return
ElIf iKeyWasPressed ==0 then
SayLine ()
Let LastLine = CurrentLine; sets up for new comparison
NextLine ();scrolls down one line
Let CurrentLine = GetLine (); saves the new line
EndIf
EndWhile;loop until the two lines are the same
If iKeyWasPressed then
Let sScheme = GetCurrentSchemeName ();scheme set for sounds which is to
be
turned off for this script
If GetCurrentSchemeName () != "LDLS" then
Let sScheme1 = sScheme
Let sScheme2 = sScheme
Else
Let sScheme1 = "Classic"
Let sScheme2 = "LDLS"
EndIf
Let g_ChapterAndVerseToggle = 0;mutes speaking of the chapter and
verse
SwitchToScheme (sScheme1);switches to the classic scheme if in LDLS
scheme
Return
Else
PCCursor ()
TypeKey ("spacebar");new keystroke in Libronix 3c to go to next screen
scheduleFunction ("PositionForNextRead", 200)
EndIf
EndFunction
How can I keep the ScheduledFunction from running when I want to stop
reading?
Thanks,
Dean
__________á
Visit and contribute to The JAWS Script Repository
http://jawsscripts.com
View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts
__________
Visit and contribute to The JAWS Script Repository http://jawsscripts.com
View the list's information and change your settings at
http://www.freelists.org/list/jawsscripts
Other related posts: