Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Challenge: Validate a code
#32
ANTONI,
Your "bit array" is exactly my preferred solution. See my program below with a slightly simpler bit handling than yours, that is, no need for a pwrsof2 array.
Code:
REM Code validation program by Edward F. Moneo
DEFINT A-Z
CONST BT.MAXSIZE = 99999
DIM BT.TAB ( 0 TO ((BT.MAXSIZE+1)\16) ) AS INTEGER
DIM BT.BIT  AS LONG
DIM BT.LOC  AS INTEGER
DIM BT.ARG  AS LONG
DIM BT.TRUE AS INTEGER

open "valid.txt" for input as #1
do while not eof(1)
   line input #1,d$
   bt.arg=val(d$)
   gosub bt.set
loop

do
  input "Enter code to be validated (X=exit)";z$
  if ucase$(z$)="X" then system
  gosub validate
  if valid=0 then
     print "ERROR: Non-numeric or out or range input code"
  else
     bt.arg=val(z$)
     gosub bt.test
     if bt.true=0 then print "ERROR: code invalid" else print "ok, code valid"
  end if
loop

'******************************************************************************

BT.SET:
  GOSUB BT.GET
  BT.TAB(BT.LOC) = BT.TAB(BT.LOC) OR BT.BIT
RETURN

BT.TEST:
  GOSUB BT.GET
  BT.TRUE = ( BT.TAB(BT.LOC) AND BT.BIT )    
RETURN

BT.GET:
  BT.BIT = BT.ARG MOD 16
  BT.BIT = 2^BT.BIT
  BT.LOC = BT.ARG\16
RETURN

'BT.RESET:  '(Not used by this program)
'  GOSUB BT.GET
'  BT.TAB(BT.LOC) = BT.TAB(BT.LOC) AND (NOT(BT.BIT))
'RETURN
'  *************************************************************************

'*** CHECK FOR STRICTLY NUMERIC AND LESS/EQUAL TO BT.MAXSIZE.
VALIDATE:
  VALID=0         'Init to False
  IF Z$="" THEN RETURN '------------------
  FOR X = 1 TO LEN(Z$)
      A=ASC(MID$(Z$,X,1))
      IF A<48 OR A>57 THEN RETURN '-------
  NEXT X
  IF VAL(Z$)<=BT.MAXSIZE THEN VALID=-1
RETURN
*****
Reply


Messages In This Thread
Challenge: Validate a code - by Moneo - 07-27-2003, 05:15 AM
oooh - by Meg - 07-27-2003, 06:57 AM
Challenge: Validate a code - by Moneo - 07-27-2003, 08:00 AM
yikes. - by Meg - 07-27-2003, 10:54 AM
Challenge: Validate a code - by Blitz - 07-27-2003, 02:28 PM
Challenge: Validate a code - by Antoni Gual - 07-27-2003, 04:00 PM
Challenge: Validate a code - by Blitz - 07-27-2003, 04:14 PM
Challenge: Validate a code - by Blitz - 07-27-2003, 04:21 PM
Yeah you see - by seph - 07-28-2003, 02:05 AM
Challenge: Validate a code - by Moneo - 07-28-2003, 04:54 AM
Challenge: Validate a code - by Blitz - 07-28-2003, 05:30 AM
Challenge: Validate a code - by Moneo - 07-28-2003, 05:33 AM
Challenge: Validate a code - by Moneo - 07-28-2003, 05:39 AM
Challenge: Validate a code - by Blitz - 07-28-2003, 06:46 AM
Challenge: Validate a code - by Moneo - 07-28-2003, 06:59 AM
Challenge: Validate a code - by Moneo - 07-28-2003, 07:17 AM
Challenge: Validate a code - by Blitz - 07-28-2003, 07:51 AM
Challenge: Validate a code - by Antoni Gual - 07-28-2003, 02:34 PM
Challenge: Validate a code - by Agamemnus - 07-28-2003, 04:16 PM
Challenge: Validate a code - by Blitz - 07-28-2003, 04:46 PM
Challenge: Validate a code - by Blitz - 07-28-2003, 04:50 PM
Challenge: Validate a code - by Agamemnus - 07-28-2003, 04:57 PM
Challenge: Validate a code - by Blitz - 07-28-2003, 06:14 PM
Challenge: Validate a code - by Antoni Gual - 07-28-2003, 06:26 PM
Challenge: Validate a code - by Blitz - 07-28-2003, 09:01 PM
Challenge: Validate a code - by Moneo - 07-28-2003, 09:21 PM
Challenge: Validate a code - by Blitz - 07-28-2003, 09:25 PM
Challenge: Validate a code - by Moneo - 07-28-2003, 09:28 PM
Challenge: Validate a code - by Moneo - 07-28-2003, 09:36 PM
Challenge: Validate a code - by Antoni Gual - 07-28-2003, 09:52 PM
Challenge: Validate a code - by Moneo - 07-28-2003, 10:15 PM
Challenge: Validate a code - by Blitz - 07-28-2003, 10:55 PM
Challenge: Validate a code - by Moneo - 07-28-2003, 11:01 PM
Challenge: Validate a code - by Agamemnus - 07-29-2003, 02:21 AM
Challenge: Validate a code - by Moneo - 07-29-2003, 02:35 AM
Challenge: Validate a code - by Antoni Gual - 07-29-2003, 03:22 AM
Challenge: Validate a code - by Moneo - 07-29-2003, 05:28 AM
Fixed - by Meg - 07-29-2003, 06:45 AM
Challenge: Validate a code - by Moneo - 07-29-2003, 07:17 AM
Challenge: Validate a code - by Agamemnus - 07-29-2003, 09:09 PM
Challenge: Validate a code - by Moneo - 07-29-2003, 10:32 PM
Challenge: Validate a code - by Agamemnus - 07-29-2003, 10:41 PM
Challenge: Validate a code - by Agamemnus - 07-29-2003, 11:16 PM
Challenge: Validate a code - by Moneo - 07-29-2003, 11:33 PM
Challenge: Validate a code - by Agamemnus - 07-29-2003, 11:37 PM
Challenge: Validate a code - by Moneo - 07-29-2003, 11:53 PM
Challenge: Validate a code - by Blitz - 07-29-2003, 11:53 PM
Let's mutiny.. - by Agamemnus - 07-30-2003, 12:06 AM
Challenge: Validate a code - by Moneo - 07-30-2003, 12:10 AM
Challenge: Validate a code - by Agamemnus - 07-30-2003, 12:13 AM
Challenge: Validate a code - by Moneo - 07-30-2003, 12:17 AM
Challenge: Validate a code - by Agamemnus - 07-30-2003, 12:24 AM
Challenge: Validate a code - by Blitz - 07-30-2003, 12:44 AM
Challenge: Validate a code - by Antoni Gual - 07-30-2003, 01:11 AM
Challenge: Validate a code - by Moneo - 07-30-2003, 03:33 AM
Challenge: Validate a code - by Blitz - 07-30-2003, 05:03 AM
Challenge: Validate a code - by Agamemnus - 08-01-2003, 07:32 AM

Forum Jump:


Users browsing this thread: 1 Guest(s)