[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: