Irgendwie wirst Du hier nicht verstanden...
Zugegeben. ich hab auch lange gebraucht, bis ich verstanden habe, was Du willst und in welcher Reihenfolge man die Tabelle lesen muss.
Ich definiere mal:
1. User Interface mit 4 Textboxen
2. 4 Listen (je Textbox eine) mit gültigen 4-stelligen Zahlen für die Seriennummer
3. Der Benutzer wählt durch Eingabe einer einstelligen Zahl jeweils eine 4-stellige Zahl aus der Liste
4. Irgendwo wird die vollständige Seriennummer in der Form xxxx-xxxx-xxxx-xxxx angezeigt
Mir stellt sich dabei die Frage:
a. Warum nimmst Du keine Combo-Boxen, aus denen man die Werte auswählen kann? Dann spart man sich das Tippen.
b. Warum muss man überhaupt etwas eintippen/auswählen? Dann ist ja groß nichts generiert...
Ich hab das ganze mal ohne großes User-Interface mit Zufallsauswahl in Pseudo-Code verfasst:
Delphi-Quellcode:
// Initialisieren
List[] numbers = new List[4];
List[0] = { "2345", "3456", "4567", "5678", ...};
List[1] = { "8568", "7933", "2473", "3839", ...};
List[2] = { "5648", "2214", "3839", "2847", ...};
List[3] = { "3738", "6454", "3949", "8394", ...};
string serial = "";
// Generieren
for(i=0; i<List.Length; i++)
{
r = Random(List[i].Length); // Eine zufällige Zahl zwischen 0 und der Länge der Liste generieren.
serial += List[i][r];
serial += "-";
}
// Ausgeben
textbox1.Text = serial;
Am Ende steht in textbox1 eine generierte Seriennummer.
Gruß, Thomas
Thomas W.