PDA

View Full Version : تابع تشخیص صحیح بودن کد ملی



rezamim
پنج شنبه 26 آبان 1390, 14:01 عصر
FUNCTION CheckMelliCode
PARAMETERS cMelliCode
PRIVATE nCheckValue
cMelliCode = IIF(LEN(ALLTRIM(cMelliCode)) < 10, PADL(cMelliCode, 10, "0"), cMelliCode)
nCheckValue = MOD(VAL(SUBSTR(cMelliCode,1,1)) * 10 + ;
VAL(SUBSTR(cMelliCode,2,1)) * 9 + ;
VAL(SUBSTR(cMelliCode,3,1)) * 8 + ;
VAL(SUBSTR(cMelliCode,4,1)) * 7 + ;
VAL(SUBSTR(cMelliCode,5,1)) * 6 + ;
VAL(SUBSTR(cMelliCode,6,1)) * 5 + ;
VAL(SUBSTR(cMelliCode,7,1)) * 4 + ;
VAL(SUBSTR(cMelliCode,8,1)) * 3 + ;
VAL(SUBSTR(cMelliCode,9,1)) * 2 , 11)
nCheckValue = IIF(nCheckValue >= 2, 11 - nCheckValue, nCheckValue)
RETURN (IIF(VAL(SUBSTR(cMelliCode,10,1)) = nCheckValue, .T., .F.))


اگر اشکالی داشت بفرمایید تا تصحیح کنم