Hier uitvoerbare code aan 30 seconden
Vriendelijke groet,
Diezel
'Code geschreven door Diezel
'Versie 21/11/2007
'30 seconden op kloksnelheid 2,6 Ghz en 1gb ram
'Declaratie van de variabelen
Dim bal1 As Byte
Dim bal2 As Byte
Dim bal3 As Byte
Dim bal4 As Byte
Dim bal5 As Byte
Dim bal6 As Byte
Dim j As Byte
Dim Teller As Long
Dim start, einde, elapsed
'Tijd starten
start = Timer
'Bal1 krijgt de beginwaarde 1 om nulwaarden tijdens uitvoeren te voorkomen
bal1 = 1
'We zetten de teller op nul
Teller = 0
'De map waarin ons lottoproject zit, komt de tekstfile te staan
Open CurrentProject.Path & "\LottoCombinaties.txt" For Output As #1
'Als bal1 38 is dan moet de procedure verlaten en beindigd worden.
If bal1 = 38 Then GoTo einde
'Lus j
For j = 6 To 43 Step 1
bal6 = j
'Reeks If voorwaarden
If j = 43 Then
j = bal5
bal5 = bal5 + 1
bal6 = j
If bal5 > 41 Then
bal4 = bal4 + 1
bal5 = bal4
End If
If bal4 > 40 Then
bal3 = bal3 + 1
bal4 = bal3
End If
If bal3 > 39 Then
bal2 = bal2 + 1
bal3 = bal2
End If
If bal2 > 38 Then
bal1 = bal1 + 1
bal2 = bal1
End If
End If
If bal6 <= bal5 Then GoTo Verder
If bal5 <= bal4 Then GoTo Verder
If bal4 <= bal3 Then GoTo Verder
If bal3 <= bal2 Then GoTo Verder
If bal2 <= bal1 Then GoTo Verder
'Het wegschrijven van de combinatie in de tekstfile
Write #1, bal1, bal2, bal3, bal4, bal5, bal6
'Telkens als we een combinatie hebben weggeschreven, tellen we er eentje bij.
'Op het einde van de procedure weten wij hoeveel combinaties er zijn weggeschreven.
Teller = Teller + 1
Verder:
Next j
'De tijd stoppen
einde = Timer
'verstreken tijd
elapsed = einde - start
'tekstfile sluiten
Close #1
einde:
'We geven een passende boodschap op het einde van de procedure
MsgBox Round(elapsed, 2) & " seconden voor " & Teller & " combinaties", vbInformation, "Lottocombinaties"
Exit Sub