Add tasks for all the new languages
This commit is contained in:
parent
9dc3c2bb62
commit
bba7bfd280
13208 changed files with 134745 additions and 0 deletions
73
Task/SEDOLs/Visual-FoxPro/sedols.visual
Normal file
73
Task/SEDOLs/Visual-FoxPro/sedols.visual
Normal file
|
|
@ -0,0 +1,73 @@
|
|||
#DEFINE ALPHABET "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
|
||||
#DEFINE VOWELS "AEIOU"
|
||||
#DEFINE VALIDCHARS "0123456789" + ALPHABET
|
||||
LOCAL cMsg As String, cCode As String
|
||||
LOCAL ARRAY codes[12]
|
||||
codes[1] = "710889"
|
||||
codes[2] = "B0YBKJ"
|
||||
codes[3] = "406566"
|
||||
codes[4] = "B0YBLH"
|
||||
codes[5] = "228276"
|
||||
codes[6] = "B0YBKL"
|
||||
codes[7] = "557910"
|
||||
codes[8] = "B0YBKR"
|
||||
codes[9] = "585284"
|
||||
codes[10] = "B0YBKT"
|
||||
codes[11] = "B00030"
|
||||
codes[12] = "B0030A"
|
||||
DIMENSION w[6]
|
||||
w[1] = 1
|
||||
w[2] = 3
|
||||
w[3] = 1
|
||||
w[4] = 7
|
||||
w[5] = 3
|
||||
w[6] = 9
|
||||
CLEAR
|
||||
FOR EACH cCode IN codes
|
||||
cMsg = ""
|
||||
IF IsValidCode(@cCode, @cMsg) && Parameters passed by reference
|
||||
cCode = cCode + GetCheckDigit(cCode)
|
||||
? cCode
|
||||
ELSE
|
||||
? cCode, cMsg
|
||||
ENDIF
|
||||
ENDFOR
|
||||
|
||||
FUNCTION GetCheckDigit(tcCode As String) As String
|
||||
LOCAL i As Integer, c As String, s As Integer, k As Integer
|
||||
s = 0
|
||||
FOR i = 1 TO 6
|
||||
c = SUBSTR(tcCode, i, 1)
|
||||
IF ISDIGIT(c)
|
||||
k = VAL(c)
|
||||
ELSE
|
||||
k = 9 + AT(c, ALPHABET)
|
||||
ENDIF
|
||||
s = s + k*w[i]
|
||||
ENDFOR
|
||||
RETURN TRANSFORM((10 - s%10)%10)
|
||||
ENDFUNC
|
||||
|
||||
FUNCTION IsValidCode(tcCode As String, tcMsg As String) As Boolean
|
||||
LOCAL n As Integer, c As String, i As Integer
|
||||
*!* Get rid of any spaces and convert to upper case
|
||||
tcCode = UPPER(STRTRAN(tcCode, " "))
|
||||
n = LEN(tcCode)
|
||||
IF LEN(tcCode) # 6
|
||||
tcMsg = "Code must be 6 characters."
|
||||
ELSE
|
||||
FOR i = 1 TO n
|
||||
c = SUBSTR(tcCode, i, 1)
|
||||
IF NOT c $ VALIDCHAR
|
||||
tcMsg = c + " is not a valid character."
|
||||
EXIT
|
||||
ELSE
|
||||
IF c $ VOWELS
|
||||
tcMsg = "Vowels are not allowed."
|
||||
EXIT
|
||||
ENDIF
|
||||
ENDIF
|
||||
ENDFOR
|
||||
ENDIF
|
||||
RETURN EMPTY(tcMsg)
|
||||
ENDFUNC
|
||||
Loading…
Add table
Add a link
Reference in a new issue