Windows standalone puzzle
Peter Haworth
pete at lcsql.com
Thu Aug 29 12:31:39 EDT 2013
At someone's suggestion on the list, I ended up using the … html tag
and setting the htmltext to avoid the Mac/Windows issue, but I was putting
the data into a scrolling list field not a menu. Not sure if menus accept
htmltext, would be interesting to check that out.
Pete
lcSQL Software <http://www.lcsql.com>
On Thu, Aug 29, 2013 at 4:38 AM, Peter M. Brigham <pmbrig at gmail.com> wrote:
> Yeah, I started out using an ellipsis but then I ran into the Mac/Windows
> font inconsistencies in another context. It took me a month of intermittent
> experimenting to discover how to use a <option/alt> keystroke to insert "®"
> and "—" into the Windows field. So in trying to solve the menu-building
> problem I moved to using all low-ASCII characters.
>
> -- Peter
>
> Peter M. Brigham
> pmbrig at gmail.com
> http://home.comcast.net/~pmbrig
>
> On Aug 28, 2013, at 8:22 PM, Peter Haworth wrote:
>
> > Glad you got it working.
> >
> > Just a nitpick but you want to consider using numToChar(133) instead of
> > "...".so you only take up 1 char instead of 3. Of course nothing's ever
> > that simple 'cause then you'd have to use ISOToMac as well when on a
> Mac..
> >
> > Pete
> > lcSQL Software <http://www.lcsql.com>
> >
> >
> > On Wed, Aug 28, 2013 at 9:40 AM, Peter M. Brigham <pmbrig at gmail.com>
> wrote:
> >
> >> Inventive approaches, thank you. I continued to have trouble with using
> >> any function at all to trim the lines in a Windows standalone though
> >> everything I tried worked in the Mac IDE. It started working fine in the
> >> standalone when I put the identical code into the calling handlers. I
> still
> >> don't understand this, but I've got it working now.
> >>
> >> Re scalability, it's just for a short list of text snippets for a popup
> >> button, max length <= 20 or so.
> >>
> >> -- Peter
> >>
> >> Peter M. Brigham
> >> pmbrig at gmail.com
> >> http://home.comcast.net/~pmbrig
> >>
> >> On Aug 28, 2013, at 3:54 AM, Geoff Canyon wrote:
> >>
> >>> On Mon, Aug 19, 2013 at 9:43 PM, Peter M. Brigham <pmbrig at gmail.com>
> >> wrote:
> >>>
> >>>> function shorten tList
> >>>> repeat with n = 1 to the number of lines of tList
> >>>> put line n of tList into lineText
> >>>> if length(lineText) < 75 then next repeat
> >>>> put empty into tBefore
> >>>> put empty into tAfter
> >>>> if char 43 of line n of tList = space then
> >>>> put space into tBefore
> >>>> end if
> >>>> if char -25 of line n of tList = space then
> >>>> put space into tAfter
> >>>> end if
> >>>> put tBefore & "..." & tAfter into char 43 to -25 of of line n of
> >>>> tList
> >>>> -- 3 periods, not a numtochar(201)
> >>>> end repeat
> >>>> return tList
> >>>> end shorten
> >>>>
> >>>
> >>>
> >>> Just saw this because of wonky spam filters. You can get identical
> >> results
> >>> to the above (without the errors) with:
> >>>
> >>> function shorten2 tList
> >>> repeat for each line L in tList
> >>> if length(L) < 75 then
> >>> put L & cr after R
> >>> else
> >>> put (char 1 to 42 of L) & char (2 - offset(" ",char 43 of L)) to
> >>> (-2 + offset(" ",char -25 of L)) of " ... " & (char -24 to -1 of L) &
> cr
> >>> after R
> >>> end if
> >>> end repeat
> >>> return R
> >>> end shorten2
> >>>
> >>> That returns variable-length shortened lines, as does the original. If
> >>> there isn't a special reason for that, then this is even simpler, and
> has
> >>> the shortening parameters as variables. Just call it with 75 and 43 to
> >> get
> >>> similar to the original.
> >>>
> >>> function trimLines tList, trimTo, elipseAfter
> >>> repeat for each line L in tList
> >>> if length(L) <= trimTo then put L & cr after R else put (char 1 to
> >>> elipseAfter of L) & "..." & (char (elipseAfter - trimTo + 3) to -1 of
> L)
> >> &
> >>> cr after R
> >>> end repeat
> >>> return R
> >>> end trimLines
> >>>
> >>> Both of these scale roughly linearly. For menus it's not likely to be a
> >>> factor, but on 3500 lines the original takes about a second on my
> >> machine,
> >>> and each of these take about a hundredth of a second.
> >>>
> >>> gc
> >>> _______________________________________________
> >>> use-livecode mailing list
> >>> use-livecode at lists.runrev.com
> >>> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >>> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> >>
> >> _______________________________________________
> >> use-livecode mailing list
> >> use-livecode at lists.runrev.com
> >> Please visit this url to subscribe, unsubscribe and manage your
> >> subscription preferences:
> >> http://lists.runrev.com/mailman/listinfo/use-livecode
> >>
> > _______________________________________________
> > use-livecode mailing list
> > use-livecode at lists.runrev.com
> > Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> > http://lists.runrev.com/mailman/listinfo/use-livecode
>
>
> _______________________________________________
> use-livecode mailing list
> use-livecode at lists.runrev.com
> Please visit this url to subscribe, unsubscribe and manage your
> subscription preferences:
> http://lists.runrev.com/mailman/listinfo/use-livecode
>
More information about the use-livecode
mailing list