رفتن به مطلب

تابع بررسی صحت کد ملی


mkabir

ارسال‌های توصیه شده

درود , دوستان تو این تابع میاد بررسی میکنه آیا کدملی وارد شده صحت داره یا نه ؟

درواقع کد ملی  ی سری روابط بین اعدادش هست که اگر اون روابط صحیح نباشه کدملی صحت نداره 

تو یک برنامه نیاز داشتم نوشتم. گفتم برا شما دوستان هم بزارم

این تابع :

Sub CheckMelliCode(MelliCode As String)As Boolean
	Dim b As Boolean 
	Dim sCodePosition(10) As String
	Dim iCodePosition(10) As String
	
	Dim resultStep1,resultStep2,resultStep3 As Int
	
	If MelliCode.Length = 10 Then 
		
		For i = 0 To 9 
			sCodePosition(i) = MelliCode.CharAt(i)
			iCodePosition(i) = sCodePosition(i)	
		Next
	
		resultStep1 = (iCodePosition(0)*10)+(iCodePosition(1)*9)+(iCodePosition(2)*8)+(iCodePosition(3)*7)+(iCodePosition(4)*6)+(iCodePosition(5)*5)+(iCodePosition(6)*4)+(iCodePosition(7)*3)+(iCodePosition(8)*2)	
		resultStep2 = (resultStep1 mod 11)
		resultStep3 = 11 - resultStep2	
			If resultStep2 < 2 Then 
				If resultStep2 = iCodePosition(9) Then 
					b = True
					Return b
				Else 
	               	b = False 
					Return b 
				End If  		
			Else
						If resultStep3 = iCodePosition(9) Then 
							b = True 
							Return b 
						Else
						 	b = False 
				            Return b
						End If 		
			End If 	
	Else 	
			b = False 
			Return b
	End If

End Sub

و روش استفاده هم :

	If CheckMelliCode("1234567890") = True Then 
		ToastMessageShow("کد ملی صحیح است",False)
	Else	
		ToastMessageShow("کد ملی صحت ندارد",False)
	End If

 

لینک ارسال
به اشتراک گذاری در سایت های دیگر

سلام

یه مدت خیلی لازمش داشتم ولی پیداش نکردم

ممنون بابت اشتراک گذاری :53:

لینک ارسال
به اشتراک گذاری در سایت های دیگر

  • 2 سال بعد...
در در 1395/09/08, 18:06:24، mkabir گفته است :

درود , دوستان تو این تابع میاد بررسی میکنه آیا کدملی وارد شده صحت داره یا نه ؟

درواقع کد ملی  ی سری روابط بین اعدادش هست که اگر اون روابط صحیح نباشه کدملی صحت نداره 

تو یک برنامه نیاز داشتم نوشتم. گفتم برا شما دوستان هم بزارم

این تابع :


Sub CheckMelliCode(MelliCode As String)As Boolean
	Dim b As Boolean 
	Dim sCodePosition(10) As String
	Dim iCodePosition(10) As String
	
	Dim resultStep1,resultStep2,resultStep3 As Int
	
	If MelliCode.Length = 10 Then 
		
		For i = 0 To 9 
			sCodePosition(i) = MelliCode.CharAt(i)
			iCodePosition(i) = sCodePosition(i)	
		Next
	
		resultStep1 = (iCodePosition(0)*10)+(iCodePosition(1)*9)+(iCodePosition(2)*8)+(iCodePosition(3)*7)+(iCodePosition(4)*6)+(iCodePosition(5)*5)+(iCodePosition(6)*4)+(iCodePosition(7)*3)+(iCodePosition(8)*2)	
		resultStep2 = (resultStep1 mod 11)
		resultStep3 = 11 - resultStep2	
			If resultStep2 < 2 Then 
				If resultStep2 = iCodePosition(9) Then 
					b = True
					Return b
				Else 
	               	b = False 
					Return b 
				End If  		
			Else
						If resultStep3 = iCodePosition(9) Then 
							b = True 
							Return b 
						Else
						 	b = False 
				            Return b
						End If 		
			End If 	
	Else 	
			b = False 
			Return b
	End If

End Sub

و روش استفاده هم :


	If CheckMelliCode("1234567890") = True Then 
		ToastMessageShow("کد ملی صحیح است",False)
	Else	
		ToastMessageShow("کد ملی صحت ندارد",False)
	End If

 

سلام

این خط تو بیسیک4اندروید زیرخط قرمز داره:

iCodePosition(i) = sCodePosition(i)	

 

میشه کد بیسیک4اندرویدشو بذارین؟

ممنون

لینک ارسال
به اشتراک گذاری در سایت های دیگر

بایگانی شده

این موضوع بایگانی و قفل شده و دیگر امکان ارسال پاسخ نیست.

  • کاربران آنلاین در این صفحه   0 کاربر

    • هیچ کاربر عضوی،در حال مشاهده این صفحه نیست.
×
×
  • اضافه کردن...