Data commit
This commit is contained in:
parent
7387c8f97b
commit
cb5bb5e222
199093 changed files with 3378972 additions and 0 deletions
52
Task/IBAN/Ring/iban.ring
Normal file
52
Task/IBAN/Ring/iban.ring
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
# Project : IBAN
|
||||
|
||||
codes = list(5)
|
||||
codes[1] = "GB82 WEST 1234 5698 7654 32"
|
||||
codes[2] = "GB82 TEST 1234 5698 7654 32"
|
||||
codes[3] = "GB81 WEST 1234 5698 7654 32"
|
||||
codes[4] = "SA03 8000 0000 6080 1016 7519"
|
||||
codes[5] = "CH93 0076 2011 6238 5295 7"
|
||||
|
||||
for y = 1 to len(codes)
|
||||
see codes[y]
|
||||
flag = 1
|
||||
codes[y] = substr(codes[y], " ", "")
|
||||
checkcode(codes[y])
|
||||
check = checkiban(codes[y])
|
||||
if check = 1
|
||||
see " is valid" + nl
|
||||
else
|
||||
see " is invalid" + nl
|
||||
ok
|
||||
next
|
||||
|
||||
func checkcode(code)
|
||||
for n = 1 to 2
|
||||
if ascii(code[n]) < 65 or ascii(code[n]) > 90
|
||||
flag = 0
|
||||
ok
|
||||
next
|
||||
for m = 3 to len(code)
|
||||
if (ascii(code[m]) > 64 and ascii(code[m]) < 91) or (ascii(code[m]) > 47 and ascii(code[m]) < 58)
|
||||
else
|
||||
flag = 0
|
||||
ok
|
||||
next
|
||||
|
||||
func checkiban(code)
|
||||
code= substr(code, 5, len(code) - 4) + left(code, 4)
|
||||
for x = 1 to len(code)
|
||||
if ascii(code[x]) > 64 and ascii(code[x]) < 91
|
||||
code = left(code, x-1) + string(ascii(code[x]) - 55) + right(code, len(code) - x)
|
||||
ok
|
||||
next
|
||||
modold = left(code,9) % 97
|
||||
for p = 1 to floor((len(code)-9)/7)
|
||||
modnew = string(modold) + substr(code, 10 + (p-1) * 7, 7)
|
||||
modnew = number(modnew) % 97
|
||||
modold = modnew
|
||||
next
|
||||
modrest = right(code, len(code) - ((p-1)*7 + 9))
|
||||
modnew = string(modold) + modrest
|
||||
modnew = number(modnew) % 97
|
||||
return modnew
|
||||
Loading…
Add table
Add a link
Reference in a new issue