[jawsscripts] Re: repost of dean's problem re ScheduleFunctionnot Working

  • From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Wed, 18 Mar 2009 02:40:30 +1100

my goodness David!  I haven't read email for a while on this list and I
somehow certainly missed this one!  and I certainly missed it the first time
around as well! somehow.
Man!  that's amazing stuff you've got here to my book. Thanks soooo much for
expending the effort/energy/time to write all that one out.

It'd take some study for me to get all of it, as I'm very poor at whileLoops
comprehension myself really.

Thanks for this eh.


----- Original Message ----- 
From: "David Farough" <David.Farough@xxxxxxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Wednesday, March 11, 2009 6:30 AM
Subject: [jawsscripts] Re: repost of dean's problem re ScheduleFunctionnot
Working


> I initially responded to Dean's post and suggested that he use the
> ScheduleFunction in his TopOfText function.
>
> From my original message:
> The timing issue you mention could be rectified if you used the
> ScheduleFunction to run a function that contained the code from your
> function which came after the press of the space bar.  This of course
> will have the effect of breaking your TopOfText function in to two
> functions.  You will need to make any variable that was defined in the
> TopOfText  function that is used in the new function a global variable
> so that it's value can be read in the new function.  This will allow you
> to increase the time before this function is called to an appropriate
> amount.
>
> His problem is not really the ScheduleFunction so much as it is a
> problem of having two while loops running simultaneously.
>
> In his ReadContinuously script he sets up some variables for schemes
> and other things, then he runs his TopOfText function.  So far so good.
>
> In his TopOfText function he activates the Jaws cursor, loads a couple
> of string variables to hold the current line and last line. and sets up
> a variable which will become true if a key is pressed during the while
> loop in this function.
>
> Now while loop runs until key is pressed or until last line and current
> line are equal.
> He needs to remove the following lines from his TopOfText function in
> the while loop:
> If iKeyWasPressed then
> Return
>
> This causes control to go back to the script that called TopOfText
> Immediately.  His loop will not be entered again after the key was
> pressed so the return is not necessary here.
> He checks for this condition immediately after the EndWhile for his
> loop.
> He could use the following if in his while loop.
> If 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
>
> After the while loop ends he checks the value of the iKeyWasPressed and
> returns if this is true.
>
> I suggest that he changes the schemes as appropriate in this if and set
> up the Reading of verses as appropriate here before returning.  much of
> this code already exists in his ReadContinuously script.
> So the rest of his TopOfText function could look something like this:
>
> If iKeyWasPressed then
> set up schemes and verse reading etc.
>
> Return
>
> Else
>
> PCCursor ()
>
> TypeKey ("spacebar");new keystroke in Libronix 3c to go to next screen
>
> scheduleFunction ("PositionForNextRead", 2)
>
> EndIf
>
> EndFunction
> His new PositionForNextRead function would contain the rest of the
> Lines taken from the TopOfText function:
> Void function PositionForNextRead ()
>
> Say ("next page", ot_status, false); for testing purposes
>
> JAWSCursor ()
>
> If FindString (GetFocus (), CurrentLine, s_bottom, s_restricted) then
>
> NextLine ()
>
> Else
>
> JAWSPageUp ()
>
> JAWSHome ()
>
> EndIf
>
> RefreshWindow (GetCurrentWindow ())
>
> TopOfText()
>
> EndFunction
>
> Doing things this way means that you no longer need to use another
> while loop in the ReadContinuously function because the topOfText
> function is called again in the PositionForNextRead function.
>
> As I mentioned previously, this approach will require a few new global
> variables.  The while loop in the ReadContinuously function should be
> removed and the schemes etc. can be set up again in the TopOfText
> function.
>
> That's my take on it for what it's worth.
>
> 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
>
> >>> "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx> 01:37 am Sunday, March 08,
> 2009 >>>
> Hi list, I thought I'd just rePost Dean's issue since I hadn't seen
> any
> responses to it yet, and hoped that a reminder might help if anyone has
> time
> to take a look?
>
> __________
> 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: