Erst einmal Hi an die Community,
ich habe da eine ziemliche Anfänger Frage, da ich seit ca. 2 Tagen VBA lernen muss auf Grund eines IT-Kurses (leider liegt mir das Programmieren nicht so ganz).
Ich habe folgendes Problem: Wirs sollen in Access ein Lottozahlengenerator mittels VBA programmieren und irgendwie ist mir der Quelltext nicht wirklich schlüssig und ich würde ihn gerne verstehen. Es wäre nett, wenn mir evtl. jemand das Script anhand des vom Lehrer entworfenen Quelltextes erklären könnte z.B. wofür ist die Variable ZahlOK zuständig? Um schnelle Hilfe würde ich mich freuen.
Sourcecode:
Option Compare Database
Option Explicit
Private Sub Befehl0_Click()
'Eindimensionales Array
Dim Zahlen(7) As Integer
Dim Zufallszahl As Integer
Dim i As Integer, j As Integer
Dim ZahlOK As Boolean
Dim Hilfsvar As Integer
For i = 1 To 7
'um doppelte Zahlen zu erkennen und neu zu ermitteln
Do While ZahlOK = False
Zufallszahl = Int(49 * Rnd) + 1
'Hier wird geprüft ob die Zahl schon im Array steht
ZahlOK = True
For j = 1 To i - 1
If Zufallszahl = Zahlen(j) Then
ZahlOK = False
End If
Next j
Debug.Print Zufallszahl
Loop
'Zufallszahl kommt ins Array
Zahlen(i) = Zufallszahl
'Wird wieder auf False gestellt, damit die Do loop startet
ZahlOK = False
Next i
'Sortierung
'Nach Next i ist das i wieder verfügbar, da die Schleife beendet ist.
For j = 6 To 1 Step -1
For i = 1 To j - 1
If Zahlen(i) > Zahlen(i + 1) Then
'Dreieckstausch (Bierdeckel)
Hilfsvar = Zahlen(i)
Zahlen(i) = Zahlen(i + 1)
Zahlen(i + 1) = Hilfsvar
End If
Next i
Next j
lblAusgabe1.Caption = Zahlen(1)
lblAusgabe2.Caption = Zahlen(2)
lblAusgabe3.Caption = Zahlen(3)
lblAusgabe4.Caption = Zahlen(4)
lblAusgabe5.Caption = Zahlen(5)
lblAusgabe6.Caption = Zahlen(6)
lblAusgabe7.Caption = Zahlen(7)
End Sub
Private Sub Form_Load()
Randomize Time
End Sub
Ich danke allen in dieser Community schon einmal im Vorraus.
Mit freundlichen Grüßen
-tonicwater-
|