20. marts 2009 - 09:33
Der er
2 kommentarer og
1 løsning
Dan streng ud fra en stor streng
Følgende kode:
__________________________________________________________
Dim strPass As String
Dim strLower As String
Dim strUpper As String
Dim strNumber As String
Dim strSign As String
Dim strChars As String
Dim intMax As Integer
Dim i As Integer
Randomize
strLower = "qwertyuiopasdfghjklzxcvbnm"
strUpper = "QWERTYUIOPASDFGHJKLZXCVBNM"
strNumber = "0123456789111213141516171819"
strChars = strLower & strNumber & strUpper
intMax = Len(strChars)
For i = 1 To intLength
strPass = Mid(strChars, Int((intMax - 1 + 1) * Rnd + 1), 1) & strPass
Next i
pass = strPass
End Function
____________________________________________________________
Danner en fin lille 8 karakterer lang streng. Jeg vil gerne have at den tage mindst 1 fra hver "gruppe". Altså mindst 1 af hver af disse skal være med i den dannede streng:
strLower = "qwertyuiopasdfghjklzxcvbnm"
strUpper = "QWERTYUIOPASDFGHJKLZXCVBNM"
strNumber = "0123456789"
Hvordan gør jeg det? 200 point og et internets til den der kan løse det.
20. marts 2009 - 11:13
#1
Man ku jo indsætte en fra hver i strengen:
Function Pass()
Dim strPass As String
Dim strLower As String
Dim strUpper As String
Dim strNumber As String
Dim strSign As String
Dim strChars As String
Dim intMax As Integer
Dim intLength As Integer
Dim i As Integer
Randomize
strLower = "qwertyuiopasdfghjklzxcvbnm"
strUpper = "QWERTYUIOPASDFGHJKLZXCVBNM"
strNumber = "0123456789111213141516171819"
strChars = strLower & strNumber & strUpper
intMax = Len(strChars)
intLength = 8
For i = 1 To intLength - 3
strPass = Mid(strChars, Int(intMax * Rnd + 1), 1) & strPass
Next i
strPass = InsertAt(strPass, getRandom(strLower), Int(intLength * Rnd + 1))
strPass = InsertAt(strPass, getRandom(strUpper), Int(intLength * Rnd + 1))
strPass = InsertAt(strPass, getRandom(strNumber), Int(intLength * Rnd + 1))
Pass = strPass
End Function
Function getRandom(strChars)
Randomize
getRandom = Mid(strChars, Int(Len(strChars) * Rnd + 1), 1)
End Function
Function InsertAt(strChars, strChar, Index)
InsertAt = Left(strChars, Index - 1) & strChar & Mid(strChars, Index)
End Function