Résolu Problème "Générateur" avec des codes pré-définis

Statut
N'est pas ouverte pour d'autres réponses.

EZPZ

--
Premium
Inscription
11 Décembre 2013
Messages
1 687
Réactions
581
Points
8 011
RGCoins
25
Bonjour :rg: :P
Je découvre actuellement le C# sur VisualStudio et je rencontre actuellement un problème, je m'explique:
Je voudrais qu'en cliquant sur un Bouton, un texte que j'aurais prédéfini à l'avance s'affiche sur la TextBox, seul problème c'est que je veux que le texte soit aléatoire mais toujours pré-défini par moi.
Exemple:
Je clique sur Bouton, TextBox m'affiche : AAABBB
Nouvel essai, Je clique sur Bouton, Textbox m'affiche: BBBPPP
...
Merci d'avance :D
 
Salut,

Si c'est un nombre bien limtier de choix tu peux utiliser un switch

Si tu veux généré quelques choses a partir de l'alpha numérique :

Code:
public static String GetRandomString()
        {
            var allowedChars = "ABCDEFGHJKLMNOPQRSTUVWXYZ0123456789";
            var length = 30;

            var chars = new char[length];
            var rd = new Random();

            for (var i = 0; i < length; i++)
            {
                chars[i] = allowedChars[rd.Next(0, allowedChars.Length)];
            }

            return new String(chars);
        }

Tu peux également faire un tableau unidimentionel de tes choix :

Code:
string[] arr1 = new string[] { "one", "two", "three", "for", "five", "etc..." };


Si c'est un texte prédéfinie a l'avance (et limiter en choix) :

Code:
var names = new List<string> { "choix", "choix, "choix", "choix", "choix" };

int index = random.Next(names.Count);
var name = names[index];
names.RemoveAt(index);
txtBox.Text - names;

je pense que dans ton cas tu va utiliser le dernier code ;)
 
Salut,




Si c'est un texte prédéfinie a l'avance (et limiter en choix) :

Code:
var names = new List<string> { "choix", "choix, "choix", "choix", "choix" };

int index = random.Next(names.Count);
var name = names[index];
names.RemoveAt(index);
txtBox.Text - names;

je pense que dans ton cas tu va utiliser le dernier code ;)
Yep je l'essaye de suite merci mon Devrounet <3<3
 
Mince je pensais que je l'avais mis :)
Tient :
Essai comme ça :

Code:
string[] mystrings = "test|test2|test3|test4|test5".Split('|');
string result = string.Format(mystrings.Skip(new Random().Next(mystrings.Length)).First());
testbox.Text = result,
 
Cette réponse a aidé l'auteur de cette discussion !
Essai comme ça :

Code:
string[] mystrings = "test|test2|test3|test4|test5".Split('|');
string result = string.Format(mystrings.Skip(new Random().Next(mystrings.Length)).First());
testbox.Text = result,
Sa marche niquel merci :D
Et si ce n'est trop demandé ou trop compliqué, je voudrais que cela génére par exemple sur la TextBox1 le pseudo et sur la Textbox2 le mot de passe qui correspond :) tout en restant aléatoire :)
 
Sa marche niquel merci :D
Et si ce n'est trop demandé ou trop compliqué, je voudrais que cela génére par exemple sur la TextBox1 le pseudo et sur la Textbox2 le mot de passe qui correspond :) tout en restant aléatoire :)
Tu met 2 fois le même codes

Exemple :

string[] user = "dev|reload|bg|etc|test5".Split('|');
string resultUser = string.Format(user.Skip(new Random().Next(userLength)).First());
string[] pass = "fgredef|thyjuiku|ertgyhtgrfed|etc".Split('|');
string resultPass = string.Format(pass.Skip(new Random().Next(pass.Length)).First());
texBoxUser.Text = resultUser;
texBoxPass.Text = resultPass;

EDIT :

Tu peux même add des exceptions

Code:
try
{
string[] user = "dev|reload|bg|etc|test5".Split('|');
string resultUser = string.Format(user.Skip(new Random().Next(userLength)).First());
string[] pass = "fgredef|thyjuiku|ertgyhtgrfed|etc".Split('|');
string resultPass = string.Format(pass.Skip(new Random().Next(pass.Length)).First());
texBoxUser.Text = resultUser;
texBoxPass.Text = resultPass;
MessageBox.Show("Génération terminé", "Succès", MessageBoxButtons.OK, MessageBoxIcon.Info);
}
catch
{
MessageBox.Show("Echec de génération", "Echec", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
 
Dernière édition par un modérateur:
Tu met 2 fois le même codes

Exemple :

string[] user = "dev|reload|bg|etc|test5".Split('|');
string resultUser = string.Format(user.Skip(new Random().Next(userLength)).First());
string[] pass = "fgredef|thyjuiku|ertgyhtgrfed|etc".Split('|');
string resultPass = string.Format(pass.Skip(new Random().Next(pass.Length)).First());
texBoxUser.Text = resultUser;
texBoxPass.Text = resultPass;

EDIT :

Tu peux même add des exceptions

Code:
try
{
string[] user = "dev|reload|bg|etc|test5".Split('|');
string resultUser = string.Format(user.Skip(new Random().Next(userLength)).First());
string[] pass = "fgredef|thyjuiku|ertgyhtgrfed|etc".Split('|');
string resultPass = string.Format(pass.Skip(new Random().Next(pass.Length)).First());
texBoxUser.Text = resultUser;
texBoxPass.Text = resultPass;
MessageBox.Show("Génération terminé", "Succès", MessageBoxButtons.OK, MessageBoxIcon.Info);
}
catch
{
MessageBox.Show("Echec de génération", "Echec", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
Okay ba 1000merci chéwii !
Tu gère continu :)
 
Tu met 2 fois le même codes

Exemple :

string[] user = "dev|reload|bg|etc|test5".Split('|');
string resultUser = string.Format(user.Skip(new Random().Next(userLength)).First());
string[] pass = "fgredef|thyjuiku|ertgyhtgrfed|etc".Split('|');
string resultPass = string.Format(pass.Skip(new Random().Next(pass.Length)).First());
texBoxUser.Text = resultUser;
texBoxPass.Text = resultPass;

EDIT :

Tu peux même add des exceptions

Code:
try
{
string[] user = "dev|reload|bg|etc|test5".Split('|');
string resultUser = string.Format(user.Skip(new Random().Next(userLength)).First());
string[] pass = "fgredef|thyjuiku|ertgyhtgrfed|etc".Split('|');
string resultPass = string.Format(pass.Skip(new Random().Next(pass.Length)).First());
texBoxUser.Text = resultUser;
texBoxPass.Text = resultPass;
MessageBox.Show("Génération terminé", "Succès", MessageBoxButtons.OK, MessageBoxIcon.Info);
}
catch
{
MessageBox.Show("Echec de génération", "Echec", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}
J'ai un seul problème c'est que je voudrais que par exemple le User1 corresponde avec le Pass1
 
J'ai un seul problème c'est que je voudrais que par exemple le User1 corresponde avec le Pass1
C'est plus compliqué, il faut faire un switch avec les user correspondant et tout add dans l'événement de la textBox sur TextChanged pour que la 2 renvoie ce que t'as demandé :/

Sinon tu peux faire simple avec les conditions

Code:
if (TextBoxUser.Text == "PremierUser")
{
textBox2.Text = "Ton pass correspondant";
}
if (TextBoxUser.Text == "Seconde User")
{
textBox2.Text - "ton pass 2 correspondant";
}

Tient si tu veux un exemple (essai comme ça c'est la méthode la plus simple juste avec des conditions)

ça dans ton bouton pour généré
Code:
try
{
string[] user = "dev|reload|bg|etc|test5".Split('|');
string resultUser = string.Format(user.Skip(new Random().Next(userLength)).First());
texBoxUser.Text = resultUser;
if (TextBox1.Text == "PremierUser")
{
textBox2.Text = "Ton pass correspondant";
}
if (TextBox1.Text == "Seconde User")
{
textBox2.Text - "ton pass 2 correspondant";
}
if (TextBox1.Text == "3éme User")
{
textBox2.Text - "ton pass 3 correspondant";
}
MessageBox.Show("Génération terminé", "Succès", MessageBoxButtons.OK, MessageBoxIcon.Info);
}
catch
{
MessageBox.Show("Echec de génération", "Echec", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}



EDIT : il est impératif que TextBox1.Text == "PremierUser" soit vraiment pareil que celui de ta première liste pour RandomPick.
 
C'est plus compliqué, il faut faire un switch avec les user correspondant et tout add dans l'événement de la textBox sur TextChanged pour que la 2 renvoie ce que t'as demandé :/
Tu peux faire simple dans l'événements TextChanged de ta TextBox User tu met

Code:
if (TextBoxUser.Text == "PremierUser")
{
textBox2.Text = "Ton pass correspondant";
}
if (TextBoxUser.Text == "Seconde User")
{
textBox2.Text - "ton pass 2 correspondant";
}

Tient si tu veux un exemple (essai comme ça c'est la méthode la plus simple juste avec des conditions)

ça dans ton bouton pour généré
Code:
try
{
string[] user = "dev|reload|bg|etc|test5".Split('|');
string resultUser = string.Format(user.Skip(new Random().Next(userLength)).First());
texBoxUser.Text = resultUser;
if (TextBox1.Text == "PremierUser")
{
textBox2.Text = "Ton pass correspondant";
}
if (TextBox1.Text == "Seconde User")
{
textBox2.Text - "ton pass 2 correspondant";
}
if (TextBox1.Text == "3éme User")
{
textBox2.Text - "ton pass 3 correspondant";
}
MessageBox.Show("Génération terminé", "Succès", MessageBoxButtons.OK, MessageBoxIcon.Info);
}
catch
{
MessageBox.Show("Echec de génération", "Echec", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}



EDIT : il est impératif que TextBox1.Text == "PremierUser" soit vraiment pareil que celui de ta première liste pour RandomPick.
Okay j'essaye sa
 
C'est plus compliqué, il faut faire un switch avec les user correspondant et tout add dans l'événement de la textBox sur TextChanged pour que la 2 renvoie ce que t'as demandé :/

Sinon tu peux faire simple avec les conditions

Code:
if (TextBoxUser.Text == "PremierUser")
{
textBox2.Text = "Ton pass correspondant";
}
if (TextBoxUser.Text == "Seconde User")
{
textBox2.Text - "ton pass 2 correspondant";
}

Tient si tu veux un exemple (essai comme ça c'est la méthode la plus simple juste avec des conditions)

ça dans ton bouton pour généré
Code:
try
{
string[] user = "dev|reload|bg|etc|test5".Split('|');
string resultUser = string.Format(user.Skip(new Random().Next(userLength)).First());
texBoxUser.Text = resultUser;
if (TextBox1.Text == "PremierUser")
{
textBox2.Text = "Ton pass correspondant";
}
if (TextBox1.Text == "Seconde User")
{
textBox2.Text - "ton pass 2 correspondant";
}
if (TextBox1.Text == "3éme User")
{
textBox2.Text - "ton pass 3 correspondant";
}
MessageBox.Show("Génération terminé", "Succès", MessageBoxButtons.OK, MessageBoxIcon.Info);
}
catch
{
MessageBox.Show("Echec de génération", "Echec", MessageBoxButtons.OK, MessageBoxIcon.Error);
return;
}



EDIT : il est impératif que TextBox1.Text == "PremierUser" soit vraiment pareil que celui de ta première liste pour RandomPick.
C'est Bon la c'est niquel c'est éxactement ce que je recherchais :D
 
Statut
N'est pas ouverte pour d'autres réponses.
Retour
Haut