رفتن به مطلب

بایگانی شده

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

mkabir

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

پست های پیشنهاد شده

mkabir    186

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

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

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

این تابع :

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

 

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


لینک به ارسال
به اشتراک گذاری در سایت های دیگر
در در 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اندرویدشو بذارین؟

ممنون

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


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

×
×
  • جدید...