[jawsscripts] Re: jawsscripts Digest V4 #150

  • From: Doug Lee <doug.lee@xxxxxxxxxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Tue, 26 Jul 2016 14:20:02 -0400

Curious additions to this puzzle:

Negative indices don't help: In a 4004-segment string, using an index of -1, 
-2, etc. doesn't work until you
reach an index corresponding to something that would work with a positive index.

But stringSegmentCount() remains accurate way past 4000 segments.

This 4000-segment limit sounds vaguely familiar though I don't remember why.

On Tue, Jul 26, 2016 at 05:37:35PM +0000, Paul Bonarrigo wrote:
re: Strange limitation with StringSegment function.?? I tried it with Jaws 
17.?? When I entered 4000, it read the remaining large block concatenated from 
the last 1000 iterations.?? When I entered 4001 it found nothing.?? So Paul, 
you are right. Paul B
 
    On Monday, July 25, 2016 10:08 PM, FreeLists Mailing List Manager 
<ecartis@xxxxxxxxxxxxx> wrote:
 

 jawsscripts Digest?????? Mon, 25 Jul 2016?????? Volume: 04?? Issue: 150

In This Issue:
?????? ?????? [jawsscripts] Strange limitation with StringSegment function

----------------------------------------------------------------------

From: "Paul Magill" <magills@xxxxxxxxxxx>
Subject: [jawsscripts] Strange limitation with StringSegment function
Date: Mon, 25 Jul 2016 16:40:05 +1000

Hi All,
 

I have a script to read a text file into a string variable, and then to be
able to address each line in it, by using the lineFeed character backslashN
as the delimiter in a StringSegment statement.

 

It works quite well, until segment 3999.?? Segment 4000 then contains all the
remaining segments, and any request for a segment higher than 4000 returns
only a nul string.

 

I thought it may have been because of the non standard backslashN delimiter,
so I used the below script to test the StringSegment function, using the
standard LIST_ITEM_SEPARATOR, and the function repeatedly fails at segment
4000, regardless of each segments size, and which delimiter is used.

 

Has anyone encountered this??? 

 

Could someone please look at the below test script, and let me know if, when
you enter a line number higher than 3999, whether you get a sensible result,
and if so, what my problem may be?

 

Note, entering a line number into the input box should read the segment for
that number, and pressing escape escapes the while loop.

 

 

Script Test () ; F8 

var

int?? iCount,

string?? sChoice,

string?? sText

 

For iCount = 1 to 5000

let sText = sText + IntToString (iCount) + " ABC DEF GHI JKL MNOP QURS TUV
WXY Z " + LIST_ITEM_SEPARATOR

endFor

 

WHILE InputBox ("line", "?? ", sChoice)

let iCount = StringToInt (sChoice)

SayString (StringSegment (sText, LIST_ITEM_SEPARATOR, iCount))

EndWhile

EndScript

 

With appreciation,

Paul from Australia

 




------------------------------

End of jawsscripts Digest V4 #150
*********************************



  
__________???

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

-- 
Doug Lee, Senior Accessibility Programmer
SSB BART Group - Accessibility-on-Demand
mailto:Doug.Lee@xxxxxxxxxxxxxxxx  http://www.ssbbartgroup.com
"While they were saying among themselves it cannot be done,
it was done." --Helen Keller
__________�

View the list's information and change your settings at 
//www.freelists.org/list/jawsscripts

Other related posts: