Lecture seule, variable en C# WinForm
Résolu
damiens1026
Messages postés
563
Date d'inscription
Statut
Membre
Dernière intervention
-
damiens1026 Messages postés 563 Date d'inscription Statut Membre Dernière intervention -
damiens1026 Messages postés 563 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je suis en train de réaliser un générateur aléatoire de nombre pour les keys d'un logiciel que j'ai codé et je n'arrive pas à générer cela:
Je réponds volontiers à toute question et merci d'avance pour laide!
Meilleures salutations
damiens1026
Je suis en train de réaliser un générateur aléatoire de nombre pour les keys d'un logiciel que j'ai codé et je n'arrive pas à générer cela:
private void monBouton_Click(object sender, EventArgs e) { for (i = 0; i <= 29; i++) /*Boucle de génération du code qui fait 29 caract.*/ { if (i == 5 || i == 12 || i == 18 || i == 25) /*Si le code arrive à 5, 12, etc. chiffres, il met un tiret (séparation du code) à la position i { str_Code[i] = '-'; /*Il insère le tiret*/ } else { str_Code[i] = Convert.ToChar(Base.Next(10)); /*Autrement il génère un chiffre aléatoire à la position i*/ } } }
Je réponds volontiers à toute question et merci d'avance pour laide!
Meilleures salutations
damiens1026
A voir également:
- Lecture seule, variable en C# WinForm
- Fichier excel bloqué en lecture seule par moi même ✓ - Forum Excel
- Lecture epub sur pc - Guide
- Comment imprimer un tableau excel sur une seule page - Guide
- Confirmation de lecture whatsapp - Guide
- Télécharger livre de lecture ce2 gratuit pdf - Télécharger - Éducatifs
4 réponses
En fait, quand tu fais str_Code[i], tu essaies d'accéder/modifier une case d'un tableau qui n'existe pas encore dans str_Code au lieu de la créer, donc à un endroit de la mémoire qui n'appartient pas encore à ton programme (endroit qui est logiquement en lecture seule).
Si tu fais str_Code += "lachaine", là tu demandes explicitement à AJOUTER et non accéder/remplacer les valeurs du tableau. Apparemment en c#, ce serait le seul moyen.
De plus pour ton code, tu demandes bien à ajouter une lettre à chaque fois dans ta boucle. Donc ça revient au même.
Voilà j'espère que tout va fonctionner pour toi.
Musicalement,
DJ Fire-Bl@ck.
Si tu fais str_Code += "lachaine", là tu demandes explicitement à AJOUTER et non accéder/remplacer les valeurs du tableau. Apparemment en c#, ce serait le seul moyen.
De plus pour ton code, tu demandes bien à ajouter une lettre à chaque fois dans ta boucle. Donc ça revient au même.
Voilà j'espère que tout va fonctionner pour toi.
Musicalement,
DJ Fire-Bl@ck.
Je veux insérer à un endroit précis dans la string, une valeur soit char soit int, je ne vois pas comment le str_Code += "lachaine" pourrait il insérer à un endroit précis ma valeur...
Tu sais au moins que les instructions sont exécutées une par une, dans l'ordre où elles sont écrites ?
Reprends bien ton code. Imagine toi au départ de ta boucle. Ta chaine vaut "". En faisant str_Code += "4", Tu lui demande d'ajouter la première lettre 4 (par exemple). Et ensuite la deuxième ... etc.
C'est la même chose, et c'est même encore plus simple que de vouloir modifier directement la chaine à un endroit précis.
Moi, je te dis que ça va fonctionner alors essaies.
Deuxième solution, qui devrait te plaire, mais je ne pense pas que ce soit très conventionnel :
Déclare ta chaine str_Code avec déjà 30 cases dedans.
(Je dis case, parce que les chaines ne sont que des tableaux numériques).