Jag är en relativt grön programerare som intresserat mig för vb, och naturligtvis stöter jag på problem redan i mitt första mer avancerade program. Således vänder jag mig till pellesofts expertis med frågan om det är möjligt att generera alla kombinationer utan att lita på "random" och mitt tålamod.  Det du söker heter "shuffle". Googla på det (och VB) så hittar du säkert något. Vill du att kombinationerna ska genereras i ordning eller spelar det ingen roll? Hittar inte något begripligt med "Shuffle", tyvär. Handlar det om att använda variabler för att loopa en funktion tills att alla kombinationer är utförda? Finns det måhända en länk eller ett utkast där jag kan stifta bättre bekantskap med denna funktion? En variant i .net: Det här låter som ett problem jag hade tidigare; Kolla/sök efter "Permutations" (tror jag att det hette)....  Jag vill ju inte spela besserwisser på något sätt men en fyrsiffrig kod baserad på a-ö samt 0-9 genererar drygt 2,3 milljoner kombinationer, lite många för en texbox kanske men över till frågan. Lösningsförslag baserat på Jonas exempel:Generera alla möjliga kombinationer
    
    
Målet är att jag ska loopa ett kommando så att alla kombinationer av en (exempelvis 4-siffrig kod) a-ö, 0-9, automatiskt textas i en sidoligande multi-textbox...
Hoppas jag gör mig förstådd!
//HASv: Generera alla möjliga kombinationer
    
    Sv: Generera alla möjliga kombinationer
    
    
T.ex.
0000
0001
...
000ö
0010
0011
o.s.v.Sv:Generera alla möjliga kombinationer
    
    Sv: Generera alla möjliga kombinationer
    
    
' exempel på användning
Private Sub Button4_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button4.Click
        Dim resultat As List(Of String)
        Dim k As Bokstavskombinerare = New Bokstavskombinerare(New Char() {"a", "b"})
        resultat = k.GeMigAllaKombinationer(5)
    End Sub
    ' här händer det
    Private Class Bokstavskombinerare
        Private _teckenrymd As Char()
        Public Sub New(ByVal teckenrymd As Char())
            _teckenrymd = teckenrymd
        End Sub
        Public Function GeMigAllaKombinationer(ByVal längd As Integer) As List(Of String)
            Dim ord(längd - 2) As Char
            Dim resultat As New List(Of String)
            ' TODO: hantera längd < 1 et.c.
            GeMigAllaKombinationerHelper(ord, 0, resultat)
            Return resultat
        End Function
        Private Sub GeMigAllaKombinationerHelper(ByVal ord As Char(), ByVal startpos As Integer, ByVal resultat As List(Of String))
            If startpos > UBound(ord) Then
                For Each tecken As Char In _teckenrymd
                    resultat.Add(ord & tecken)
                Next
            Else
                For Each tecken As Char In _teckenrymd
                    ord(startpos) = tecken
                    GeMigAllaKombinationerHelper(ord, startpos + 1, resultat)
                Next
            End If
        End Sub
    End Class
    Sv: Generera alla möjliga kombinationer
    
    Sv: Generera alla möjliga kombinationer
    
    
Jag kan tyvärr inte lämna ett VB svar men  jag har gjort något liknande med SQL. Du skapar en kartesisk produkt genom att i 4 tabeller skriva in det som skall kombineras och därefter gör du en select utan join.
Tex. Vi har 4 tabeller benämda t1-t4 (orginellt va?) innehållandes värdena 0 och 1.
Select * from t1,t2,t3,t4
ger
0 0 0 0
0 0 0 1
osv 
totalt 2^4 (16) kombinationer.
mvh
JonasSv:Generera alla möjliga kombinationer
    
    
DECLARE @teckentabell TABLE
(
	tecken char(1)
)
DECLARE @tecken int
SET @tecken = ASCII(0)
-- Lägg till siffror
WHILE @tecken < ASCII(9) + 1
BEGIN
	INSERT INTO @teckentabell(tecken) VALUES (CHAR(@tecken))
	PRINT CHAR(@tecken)
	SET @tecken = @tecken + 1
END
-- Små bokstäver
SET @tecken = ASCII('a')
WHILE @tecken < ASCII('z') + 1
BEGIN
	INSERT INTO @teckentabell(tecken) VALUES (CHAR(@tecken))
	PRINT CHAR(@tecken)
	SET @tecken = @tecken + 1
END
INSERT INTO @teckentabell(tecken) VALUES ('å')
INSERT INTO @teckentabell(tecken) VALUES ('ä')
INSERT INTO @teckentabell(tecken) VALUES ('ö')
-- alla möjliga kombinationer™
SELECT n1.tecken + n2.tecken + n3.tecken + n4.tecken 
FROM @teckentabell n1 
	CROSS JOIN @teckentabell n2 
	CROSS JOIN @teckentabell n3 
	CROSS JOIN @teckentabell n4