BİR ÇOK ŞEKİLDE KULLANILABİLİR BİR KOD. Not: Değiştir bölümüne girin, sayfa düzeni oradan daha iyi görülebilir.
Public OynananMacSayisi As Integer Public BankoSayisi As Integer Public SistemSayisi As Integer Public SistemeDahilMacSayisi As Integer Public OlusanKuponSayisi As Double
Public SelectionArray() As String Public PosArray() As Integer
Public CombinationArray() As String
Public Sub CreateCombinations() If OlusanKuponSayisi = 1 Then Exit Sub ReDim CombinationArray(1 To OlusanKuponSayisi * SistemSayisi) ReDim SelectionArray(1 To SistemeDahilMacSayisi) ReDim PosArray(1 To SistemSayisi)
Static i As Integer Dim ColID As Integer
InitializeSelectionArray
For i = 1 To SistemSayisi
PosArray(i) = i
Next i
FlushPosArray2CombinationArray
ColID = SistemSayisi
While PosArray(1) < SistemeDahilMacSayisi - SistemSayisi + 1
ReArrangePosArray ColID
FlushPosArray2CombinationArray
WendEnd Sub
Public Sub ReArrangePosArray(xColID As Integer) Dim i As Integer
If xColID = SistemSayisi Then
PosArray(xColID) = PosArray(xColID) + 1
If PosArray(xColID) > SistemeDahilMacSayisi Then
xColID = xColID - 1
ReArrangePosArray xColID
End If
Else
PosArray(xColID) = PosArray(xColID) + 1
If PosArray(xColID) > SistemeDahilMacSayisi - SistemSayisi + xColID Then
xColID = xColID - 1
ReArrangePosArray xColID
End If
For i = xColID + 1 To SistemSayisi
PosArray(i) = PosArray(i - 1) + 1
Next i
xColID = xColID + 1
End IfEnd Sub
Public Sub FlushPosArray2CombinationArray() Static arID As Integer If IsNewQuery = True Then
arID = 0End If IsNewQuery = False Dim i As Integer
For i = 1 To SistemSayisi
CombinationArray(arID + i) = SelectionArray(PosArray(i))
Next i
arID = arID + SistemSayisiEnd Sub