[jawsscripts] Re: Strange limitation with StringSegment function

  • From: "Geoff Chapman" <gch@xxxxxxxxxxxxxxxx>
  • To: <jawsscripts@xxxxxxxxxxxxx>
  • Date: Thu, 4 Aug 2016 02:30:54 +1000

Well my goodness! this VFO mob also owns AI Squared, which means windoweyes, 
zoomtext  as well as FS now, with Jaws and MAGic!
!  competitors under the one company??? my goodness! what gives here!

Did anyone else know about this?
other than Doug I mean? it's All news to me!

Not the list for discussing this of course, but, ... wow! anyone interested 
in flipping me any commentary on what this will mean offlist, is welcome to 
do so! I am frankly hopeless at such business analyses.


----- Original Message ----- 
From: "Doug Lee" <doug.lee@xxxxxxxxxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Saturday, July 30, 2016 11:32 AM
Subject: [jawsscripts] Re: Strange limitation with StringSegment function


VFO would refer to VFO Group, which now owns Freedom Scientific and other 
companies. There's a web site for it
too: http://www.VFOGroup.com

On Sat, Jul 30, 2016 at 10:28:06AM +1000, Geoff Chapman wrote:
... Ah. interesting workaround indeed!
However Doug, would you just like to clarify for us uninitiated, just what
"V F O" refers to in your below re FS? :).

Thanks much for enlightenment!

Regards
Geoff C.

----- Original Message ----- 
From: "Doug Lee" <doug.lee@xxxxxxxxxxxxxxxx>
To: <jawsscripts@xxxxxxxxxxxxx>
Sent: Thursday, July 28, 2016 10:11 PM
Subject: [jawsscripts] Re: Strange limitation with StringSegment function


A thought from last night when I wasn't in a position to type: If the
4000th string has a delimiter in it,
that proves it's not a segment but a continuation; so just put that in a
variable, subtract 4000 from your
index, and go at it again. Repeat as often as necessary, and even though
it's less efficient, you could get
segment 54572 eventually. :) StringSegmentCount is correct, so if you 
want
to depend on this behavior without
testing for it, you can - though I don't recommend that, because it's on
my list of "do sometime" items to
report this to FS/VFO as a bug.

On Thu, Jul 28, 2016 at 09:24:15PM +1000, Paul Magill wrote:
Hi all,

Thank you Paul and Doug for confirming my obversations.

I'll need to find another way to do what I want....

Doug, perhaps you remember way back in the early days, when I had a go at
setting up StringSegment structures to simulate arrays, but in my lack of
understanding then, I wrongly stated that string variables in Jaws were
limited to 4000 characters in length?

Thanks again,
Paul from Australia.

-----Original Message-----  From: jawsscripts-bounce@xxxxxxxxxxxxx
[mailto:jawsscripts-bounce@xxxxxxxxxxxxx] On Behalf Of Doug Lee

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:
From: "Paul Magill" <magills@xxxxxxxxxxx>

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


__________???

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



__________???

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


__________�

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

Other related posts: