Insert and delete Commas

Jan Schenkel janschenkel at yahoo.com
Wed Sep 18 09:55:02 EDT 2002


Hi Bob,

If I understand these functions correctly, they place
thousand separators in numbers.
Since XTalk cannot process numbers with thousand
separators in them, they have to strip those commas
out before calculation.
After the calculations are done, when the data is
presented to the user on-screen, the thousand
separators are put back in, right?

You could always use Rob Cozen's Serendipity Library
for exactly that purpose :-)

However, the second function lends itself to
optimization very easily:

on deleteComma startNo, finishNo 
--syntax: deleteComma [integer, integer]
  repeat with x = startNo to finishNo
    replace "," with "" in fld x
  end repeat
end deleteComma

I'm sure we could provide you with a better version
for the insertCommaCd handler, but that would require
a bit more thinking than my flu-infested body can
muster right now.

Hope this helped nonetheless,

Jan Schenkel.

"As we grow older, we grow both wiser and more foolish
at the same time."  (De Rochefoucald)

--- Robert Presender <rpresender at earthlink.net> wrote:
> The following custom handlers(?) are used in an
> application developed 
> in SuperCard.
> They are used for math processes such as addition,
> subtraction, etc..  
> They work in Rev.
> 
> Would appreciate any comments relating to shorting
> or modifying the 
> scripts or a different approach.  The scripts are to
> be used on Mac and 
> Windows platforms.
> 
> Regards ... Bob
> 
> on insertCommaCd startNum, finishNum  --number must
> end in .00. 
> --syntax: insertCommaCd --[integer, integer]
>    repeat with x = startNum to finishNum
>      if char 1 of fld x  is "-" then
>        put "-" into minusHold
>        delete char 1 of  fld x
>      else
>        put "" into minusHold
>      end if
> 
>      if "," is not in fld x then
>        get the number of chars of  fld x
>        if it >= 7 and it <= 9 then
>          put "," after char (it -6) of  fld x
>        else
>          if it >= 10 then
>            get the number of chars of  fld x
>            put "," after char (it -9) of  fld x
>            put "," after char (it -5) of  fld x
>          end if
>        end if
>      end if
>      put minusHold before char 1 of  fld x
>    end repeat
> end insertCommaCd
> 
> --**Deletes commas from multiple or single  fields
> having 1 or
> --**more lines per  field. Minus numbers can be used
> on deleteComma startNo, finishNo --syntax:
> deleteComma [integer, 
> integer]
>    repeat with x = startNo to finishNo
>      get the number of lines of fld x
>      repeat with y = 1 to it
>        if "," is in line y of fld x then  --**
>          get offset(",", line y of fld x )
>          delete char it of line y of fld x
>          if it is not 0 then
>            get offset(",", line y of fld x )
>            delete char it of line y of fld x
>          else
>            next repeat
>          end if
>        end if
>      end repeat
>    end repeat
> end deleteComma


__________________________________________________
Do you Yahoo!?
Yahoo! News - Today's headlines
http://news.yahoo.com



More information about the Use-livecode mailing list