-----Original Message-----
From: John Solie

> I'm wondering why y'all are using a ...MATCHES "0N"...
> Usually, I'll use the NUM() function.  The code snippet
> in one of the first messages in this thread would be:
>
> BEGIN CASE
>    CASE NUM(ANS) AND ANS > 0
>      <more code here>
> 
> Or is NUM() something that lives only in UniData?

John,
Because it is legacy code. It's what is.
& until this morning I didn't know what the problem was.

NUM() is avaible on UV (& all MVs I know of).  It would work fine & I
generally use it.
UV (10.0, anyway) has the feature/bug where leading and trailing spaces
are OK
NUM( ANS ) seems to come up false at str(1,309), which is where I fould
EXTRACT()  failed, too.  But at least NUM() does not yield a runtime
error:

>CT CDS.BP JOHN

     JOHN
0001       I = 0
0002       LOOP
0003          ANS = STR( '1', I )
0004       WHILE NUM( ANS )
0005          I+= 1
0006       REPEAT
0007       CRT I
>
>RUN CDS.BP JOHN
309
>
______________

In my case the solution is probably going to be to replace 
 (ANS MATCHES '0N' &  ANS>0)
with 
 (ANS MATCHES '1-2N')

That's a tighter edit than NUM(ANS).

This is supposed to be a menu pick, for Pete's sake.
We can jolly well limit our menus to 99 options.

   072: BEGIN CASE
   073:   CASE ANS MATCHES '1-2N'   <--- thank-you very much
   074:     IF MITM<5,ANS>#"" THEN


Speaking of NUM(),  UV 10.0 has the feature/bug of allowing leading and
trailing spaces:

>CT CDS.BP NUMTEST

     NUMTEST
0001 X = ''; X<12> = 'ABC'
0002 CRT NUM( ' 12' ), X< ' 12' >
0003 CRT NUM( '12 ' ), X< '12 ' >
0004 CRT NUM( '1 2' ), X< '1 2' >
>
>RUN CDS.BP NUMTEST
1         ABC
1         ABC
0         Program "NUMTEST": Line 4, Nonnumeric data when numeric
required.  Zero used.
-------
u2-users mailing list
u2-users@listserver.u2ug.org
To unsubscribe please visit http://listserver.u2ug.org/

Reply via email to