function to calculate string length...
Wouter
wouter.abraham at scarlet.be
Mon Dec 27 16:42:10 EST 2004
> Re: function to calculate string length...
>
> Chipp Walters
> Sun, 26 Dec 2004 04:21:44 -0800
> Well, I cobbled this together from some of the archives...
> Anyone see an obvious place to optimize?
>
>
> on formatFld pFldName, pTxt
> lock screen
> put the width of fld pFldName into tW
> set the width of fld "formatCheck" to tW
> repeat for each line L in pTxt
> put L into fld "formatCheck"
> put false into tIsTooLong
> repeat while the formattedwidth of fld "formatCheck" > tW
> delete last char of fld "formatCheck"
> put true into tIsTooLong
> end repeat
> if tIsTooLong is true then
> put fld "formatCheck" after tList
> delete char -5 to -1 of tList
> put "..." & cr after tList
> else
> put L & cr after tList
> end if
> end repeat
> delete last char of tList
> put tList into fld pFldName
> unlock screen
> end formatFld
>
>
> Chipp Walters wrote:
> Looking for some help.
>
> I have a list field and want to add an elipsis (...) at the end of
> lines which are truncated and won't fit in the field. I was wondering
> if anyone out there may have a function to do this quickly?
Sorry for posting this on the metacard list, because for the moment I
cannot post to the use-rev list.
But as this can be used in both IDE, I hope you don't mind.
Here is a different approach to the problem (further adaptation may be
needed).
Use a temporary field with the same props as the listfield except for
the dontwrap property (which should be false).
Instead of the name of the field use the short id of the field to call
this handler.
on formatFld pFldID
put fld id pFldID into y
put y into fld "temp"
put the formattedtext of fld "temp" into x
put "" into fld "temp"
repeat for each line i in y
put 1 into tC
repeat for each line h in x
if tC = 1 then
put h into tTemp
put h into tRetain
else put space & h after tTemp
if tTemp = i then
if tC = 1 then put i & cr after tList
else put tRetain & numtoChar(201) & cr after tList
delete line 1 to tC of x
exit repeat
else add 1 to tC
end repeat
end repeat
put word 1 to -1 of tList into fld id pFldID
end formatFld
Greetings and best wishes to everybody,
WA
More information about the metacard
mailing list