Ok.. ik ben al een tijdje uit VB en met php begonnen, maar nu ben ik ook weer wat met vb aan het doen.. Ik maak voor mijn vader een passwordgenerator, en nu kom ik op een onverklaarbaar probleem terecht.
Je hebt een variabel in te stellen tekens. Deze is minimaal 1.
Ik bouw daarom de optie tot het toevoegen van special characters. dus iets van ~ of ?. dat soort dingen.
Nu heb ik de optie erin gedaan deze aan het begin en/of aan het eind te plaatsen.
Hier is de code van de Cmd_Generate
er zijn 2 problemen die ik niet snap:
1. Nu wil het zo zijn dat deze special characters dus niet meegeteld worden als tekens. waarom weet ik niet. Ik krijg steeds dus meer tekens dan speciale tekens erin staan.. dus stel het aantal tekens = 8, dan krijg ik als er 2 special characters in staan 10 tekens.
2. De special character die aan het eind hoort, staat niet aan het eind. somehow staan er altijd 2 tekens achter.
Die "8" en "9" zijn dus enkel als test.. hier komen dus normaal A tm Z en a tm z.
snapt iemand deze problemen en kan die mij een stukje op pad helpen?
Je hebt een variabel in te stellen tekens. Deze is minimaal 1.
Ik bouw daarom de optie tot het toevoegen van special characters. dus iets van ~ of ?. dat soort dingen.
Nu heb ik de optie erin gedaan deze aan het begin en/of aan het eind te plaatsen.
Hier is de code van de Cmd_Generate
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
| Private Sub Cmd_Generate_Click()
appname = "Passwordrator"
section = "properties"
Letters = GetSetting(appname, section, "Letters", "1")
Cijfers = GetSetting(appname, section, "Cijfers", "1")
Enable = GetSetting(appname, section, "Enable", "0")
aantaltekens = GetSetting(appname, section, "Tekens", "10")
section = "hoofdlettergevoelig"
Hoofdletter = GetSetting(appname, section, "1", "0")
section = "hoofdkleingebruik"
hoofdklein = GetSetting(appname, section, "1", "0")
section = "Special_End"
Special_End = GetSetting(appname, section, "1", "0")
section = "Special_Begin"
Special_Begin = GetSetting(appname, section, "1", "0")
Dim Special(30)
num = 1
For i = 1 To 30
If GetSetting(appname, "Checkboxen", i, "0") Then
If Not GetSetting(appname, "Checkboxen_Caption", i, "") = "" Then
Special(num) = GetSetting(appname, "Checkboxen_Caption", i, "")
num = num + 1
End If
End If
Next i
Dim Password As String
lettergebruik = 0
letternummer = 0
letterlaatste = 0
cijfergebruik = 0
cijfernummer = 0
cijferlaatste = 0
For Number = 1 To aantaltekens
teken_gelukt = 0
If Not teken_gelukt Then
If (Number = (aantaltekens - 1) And Special_End) Or (Number = 1 And Special_Begin) Then
Do
randomvalue = Int((num * Rnd) + 1)
Loop While Special(randomvalue) = ""
Password = Password + Special(randomvalue)
teken_gelukt = 1
End If
End If
If Not teken_gelukt Then
If lettergebruik Then
ElseIf cijfergebruik Then
Else
keus1 = Int((2 * Rnd) + 1)
If keus1 = 1 Then
Password = Password + "9"
End If
If keus1 = 2 Then
Password = Password + "8"
End If
End If
End If
Next Number
TXT_Generate.Text = Password
End Sub |
er zijn 2 problemen die ik niet snap:
1. Nu wil het zo zijn dat deze special characters dus niet meegeteld worden als tekens. waarom weet ik niet. Ik krijg steeds dus meer tekens dan speciale tekens erin staan.. dus stel het aantal tekens = 8, dan krijg ik als er 2 special characters in staan 10 tekens.
2. De special character die aan het eind hoort, staat niet aan het eind. somehow staan er altijd 2 tekens achter.
Die "8" en "9" zijn dus enkel als test.. hier komen dus normaal A tm Z en a tm z.
snapt iemand deze problemen en kan die mij een stukje op pad helpen?