BCX Console Demonstration Program s110.bas |
' ------------------------------------------ ' Check validity of a credit card number ' Based on public domain code written ' by Frank Cox, September 1, 1991.) ' ------------------------------------------ ' --- Modified for BCX by Kevin Diggins --- ' ------------------------------------------ DIM Card$ INPUT "Input Charge Card Number: ", Card$ IF LEN(Card$) = 0 THEN END IF CCValid(Card$) THEN PRINT "Valid" ELSE PRINT "Invalid" END IF FUNCTION CCValid(TheCard$) LOCAL Tmp$ LOCAL c, m, Temp, CheckSum Tmp$ = REMOVE$(TheCard$, CHR$(32)) ' remove spaces from the data FOR c = (LEN(Tmp$) - 1) TO 1 STEP -1 ' compute the checksum IF m = 2 THEN m = 1 ELSE m = 2 END IF Temp = VAL(MID$(Tmp$, c, 1)) * m CheckSum = CheckSum + Temp IF Temp > 9 THEN CheckSum = CheckSum - 9 NEXT IF MOD((CheckSum + VAL(RIGHT$(Tmp$, 1))), 10) = 0 THEN FUNCTION = -1 ELSE FUNCTION = 0 END IF END FUNCTION
Result:
Input Charge Card Number: 0000 Valid