Zufallszahl in einer Textbox ausgeben!

cobfreaky

Mitglied
Heyho,

Ich möchte einen Generator schreiben.
In diesem Generator sollen ~ 1200 13-Stellige Codes nach dem Zufallsprinzip in einer Textbox ausgeworfen werden.
Ich weiß leider garnicht, wie ich das anstellen soll. In welches Steuerelement müssen die Codes, damit sie in der Textbox ausgegeben werden können? Was muss ich sonst noch beachten, damit das ganze Zufällig passiert?

Gruß,
cobfreaky
 
Hallo,

dazu kannst du einfach die Klasse Random benutzen und in einer for-Schleife 13 Zeichen zufällig erzeugen.
Für Großbuchstaben z.B. Zahlen zufällig zwischen 65 und 90 erzeugen lassen und dann dies in ein ASCII-Zeichen umwandeln.

Beispiel:
Code:
Random r = new Random();
string s = String.Empty;
for (int i = 0; i < 13; i++)
{
	int j = r.Next(65, 90);
	s += System.Text.Encoding.ASCII.GetString(new byte[] { (byte)j });
}

Hier kommt z.B. folgender Text raus:
Code:
JDMQRPUDMINIG


Zum Schreiben in eine Textbox, einfach eine Textbox auf das Form tun und dann folgendermaßen zuweisen:
Code:
textBox1.Text = s;

MfG
Fabsch
 
Zuletzt bearbeitet:
Ne, dass meine ich nicht.
Ich habe diese ~ 1200 13-Stelligen Zahlencodes schon und will diese lediglich zufällig ausgeben. Nix generieren oder so.
 
Ah ok, hab ich dann falsch verstanden.

Als was liegen diese Codes denn vor? In einer Datei?
Wenn ja, lies diese Datei einfach ein und speichere diese Codes in einer List oder ArrayList oder was auch immer.
Dann kannst du mit der Random-Klasse einfach ein zufälliges Element auswählen.

Also z.B. wenn die Codes in einer Datei stehen und ein Code pro Zeile:

Code:
List<string> codes = new List<string>();
using (StreamReader sr = new StreamReader(Application.StartupPath + "codes.txt"))
{
	while (!sr.EndOfStream)
	{
		codes.Add(sr.ReadLine());
	}
	sr.Close();
}
//zufälligen auswählen
Random r = new Random();
string selCode = codes[r.Next(0, codes.Count)];
// in selCode steht dann der zufällig ausgewählte Code

MfG
Fabsch
 
Unter der Annahme, dass diese Codes in einer Datei von Zeilenumbrüchen getrennt sind.
Code:
       Dim Codes() As String = System.IO.File.ReadAllText("C:\Codes.txt").Split(CChar(Environment.NewLine))
        Dim Rand As New Random
        Dim CodeAusgeben As String = Codes(Rand.Next(Codes.Length - 1))

        Messagebox.Show(CodeAusgeben)

/Edit: Ich sollte vorher mal aktualisieren^^
 
Hallo cobfreaky,

wenn sich die Leute hier schon so viel Mühe geben und dir
zig Beispiele zeigen, die funktionieren und dir eigentlich den Weg
schon verdeutlichen und du es immer noch nicht verstehst.
Dann solltest du mal sagen wie die Zufallsstrings in deinem Code
vorliegen. In einer List ? in einem Array ? oder wo kommen die her ?

Da wirst du schonmal mehr als 2 Zeilen schreiben müssen.
Und dann auch noch mit Ausrufezeichen, ich fasse es nicht.
 
Die Lösung für dein Problem wurde doch bereits genannt, man muss sich nur mal die Mühe machen eines der Beispiele genauer zu betrachten.
Außerdem: Dieses Forum soll helfen und Denkanstöße geben, wir sind nicht dafür da um vollständige Lösungen zu präsentieren. Mit etwas Eigeninitiative lernt man mehr als durch Abschreiben.

Erzeuge eine List<string> und befülle diese Liste mit den ~1200 Codes. Da sich diese Vorgehensweise für mich mehr als unschön (und das soll mal freundlich ausgedrückt sein) anhört würde ich die ganzen Coden nicht in den Code schreiben. Anschließend ermittelst du via Random einen zufälligen Index und gibst den entsprechenden Code aus der Liste aus.

Besser wäre es wohl die Variante mit der Datei mit einer Ressource zu kombinieren. Die Codes werden in einer Ressource abgelegt. Das Programm liest aus der Ressource usw. (siehe oben)
 
Zuletzt bearbeitet:
Zurück