 |
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(
Card$)
LOCAL
Tmp$
LOCAL
c, m, Temp, CheckSum
Tmp$ =
REMOVE$
(
Card$, 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