PDA

View Full Version : بررسي صحت کد ملي



K.Mohammadreza
شنبه 02 آبان 1388, 18:23 عصر
با سلام به همه برنامه نويسان عزيز
ميخوام برنامه اي بنويسم اما نياز دارم تا صحت کد ملي وارد شده بررسي بشه چگونه بايد اينکار را انجام بدم (منظورم اينه که کد ملي وارد شده واقعا وجود داشته باشه) من برنامه تحت داس ديدم که نه تنها به شبکه يا اينترنت متصل نميشد بلکه اگر کد ملي وارد شده اشتباه وارد ميشد برنامه اخطار ميداد و دوباره ميباستبصورت صحيح وارد ميشد)

Felony
شنبه 02 آبان 1388, 18:48 عصر
تو گوگل میگشتید 1000 تا لینک بهتون میداد ، این لینک (http://www.aliarash.com/article/codemeli/codemeli.htm) رو ببینید .

misagh1359
شنبه 02 آبان 1388, 18:52 عصر
Function CheckMelliCode(Melli_Code As String) As Boolean
Dim c@, n@, r@
If Len(Melli_Code) < 10 Then Melli_Code = String(10 - Len(Melli_Code), "0") & Melli_Code
If Melli_Code = "0000000000" Or _
Melli_Code = "1111111111" Or _
Melli_Code = "2222222222" Or _
Melli_Code = "3333333333" Or _
Melli_Code = "4444444444" Or _
Melli_Code = "5555555555" Or _
Melli_Code = "6666666666" Or _
Melli_Code = "7777777777" Or _
Melli_Code = "8888888888" Or _
Melli_Code = "9999999999" Then
Else
c = Val(Mid$(Melli_Code, 10, 1))

n = Val(Mid$(Melli_Code, 1, 1)) * 10 + _
Val(Mid$(Melli_Code, 2, 1)) * 9 + _
Val(Mid$(Melli_Code, 3, 1)) * 8 + _
Val(Mid$(Melli_Code, 4, 1)) * 7 + _
Val(Mid$(Melli_Code, 5, 1)) * 6 + _
Val(Mid$(Melli_Code, 6, 1)) * 5 + _
Val(Mid$(Melli_Code, 7, 1)) * 4 + _
Val(Mid$(Melli_Code, 8, 1)) * 3 + _
Val(Mid$(Melli_Code, 9, 1)) * 2

r = n - Int(n / 11) * 11

If (r = 0 And r = c) Or (r = 1 And c = 1) Or (r > 1 And c = 11 - r) Then CheckMelliCode = True
End If
End Function

این وی بی هست یه کم وقت بذار دلفی شو بساز

Felony
شنبه 02 آبان 1388, 19:57 عصر
من ترجمش کردم ، میتونید ازش استفاده کنید ، کافیه یونیت رو کنار برنامتون قرار بدید و به uses برنامتون MelliCode رو اضافه کنید .

نمونه کد :



if CheckMelliCode('0123456789') then
ShowMessage('T')
else
ShowMessage('F');