08/05/2020, 16:52
dilerim işinize yarar
kodlar modüle eklenecek ve modül yine Option Compare Binary koşulunu içerecek
'bu fonksiyon koşulları girmek için sağlamasını istediğiniz koşulların toplamını girmesliniz
'mesela en az 3 basamaklı ve kücük harf koşulu için
' SifreKontrol "a,aa",3, 16+8
' kosullar(1) = 16 ' minimum basamak sayısı
' kosullar(2) = 8 ' küçük harf koşulu
' kosullar(3) = 4 ' büyük harf koşulu
' kosullar(4) = 2 ' sayısal koşul
' kosullar(5) = 1 ' buraya girilebilecek alfasayısısal olmayandeğerler
kodlar modüle eklenecek ve modül yine Option Compare Binary koşulunu içerecek
'bu fonksiyon koşulları girmek için sağlamasını istediğiniz koşulların toplamını girmesliniz
'mesela en az 3 basamaklı ve kücük harf koşulu için
' SifreKontrol "a,aa",3, 16+8
' kosullar(1) = 16 ' minimum basamak sayısı
' kosullar(2) = 8 ' küçük harf koşulu
' kosullar(3) = 4 ' büyük harf koşulu
' kosullar(4) = 2 ' sayısal koşul
' kosullar(5) = 1 ' buraya girilebilecek alfasayısısal olmayandeğerler
Function SifreKontrol(s As String, intMax As Integer, Optional xMdl As Byte = 31) As Boolean
'bu fonksiyon koşulları girmek için sağlamasını istediğiniz koşulların toplamını girmesliniz
'mesela en az 3 basamaklı ve kücük harf koşulu için
' SifreKontrol "a,aa",3, 16+8
' kosullar(1) = 16 ' minimum basamak sayısı
' kosullar(2) = 8 ' küçük harf koşulu
' kosullar(3) = 4 ' büyük harf koşulu
' kosullar(4) = 2 ' sayısal koşul
' kosullar(5) = 1 ' buraya girilebilecek alfasayısısal olmayandeğerler
Dim kosullar(5) As Boolean
Dim strDec As String
strDec = Dec2Tban(CLng(xMdl), 2)
kosullar(1) = Len(s & "") > intMax - 1 'minimum basamak sayısı
kosullar(2) = s Like "*[a-z]*" ' küçük harf koşulu
kosullar(3) = s Like "*[A-Z]*" ' büyük harf koşulu
kosullar(4) = s Like "*[0-9]*" ' sayısal koşul
kosullar(5) = s Like "*[.,!'%/+-]*" ' buraya girilebilecek alfasayısısal olmayandeğerler
SifreKontrol = True
For x = 1 To Len(strDec)
If Mid(strDec, x, 1) = 1 Then SifreKontrol = SifreKontrol And kosullar(x)
Next x
Debug.Print (SifreKontrol)
End Function
Function Dec2Tban(Sayi As Long, Optional xMod As Byte = 2) As String
'bu fonksiyon 10luk sistemi istediğimiiz tabana çevirmek için Mesela 5i 2 lik tabanda yazmak için ==> Dec2Tban 5,2
Dec2Tban = ""
TmpSayi = Sayi
Do While 1 <> 0
Kalan = TmpSayi Mod xMod
TmpSayi = TmpSayi \ xMod
Dec2Tban = Kalan & Dec2Tban
If TmpSayi < xMod Then Exit Do
Loop
Dec2Tban = TmpSayi & Dec2Tban
'Debug.Print Dec2Tban
End Function