![](https://portfolio.chiyu.fr/wp-content/uploads/2022/04/Batch-File-Commands.png)
Projet de création de commandes pour des comptes étudiants avec génération de mot de passe réalisé en première année de BTS SIO en C# sous Visual studio
Explication du code
Le code est accessible dans le projet
DatagriedView: Ligne 25 à 32
Création du DataGridView avec quartes colonnes : nom, prénom, date, classe.
StreamReader: Ligne 34 à 50
StreamReader permet de lire un fichier. Donc on lit le fichier CSV et on récupère les données de chaque élève pour les afficher dans le DataGridView.
Générer: Ligne 52 à 57
Génération du DataGridView et blocage du bouton « charger » pour éviter de charger deux fois les élèves.
Création du mot de passe: Ligne 61 à 70
Quand on clique sur le bouton « Générer compte » :
· le document bat s’ouvre et se met en « truncate » pour écraser l’ancien contenu s’il y a.
· le document est ensuite fermé pour pouvoir être rouvert plus tard.
· on crée une collection « Login ».
· on crée une collection « mdp ».
· on crée un tableau de lettres majuscules puis un tableau de lettres minuscules.
· on crée une variable « Random » qui générera un nombre aléatoire.
Traitement des doublons: Ligne 71 à 107
- Ouverture du doc bat pour écrire dedans (StreamWriter)
- On crée une boucle « for » (pour) pour créer les logins.
- On crée la variable « newLogin » pour écrire le login qu’on testera ensuite (pour éviter les doublons).
- On crée la variable « existe » (on la met à « false » car on estime que le contenu « newLogin » n’existe pas encore).
- On crée la variable « chiffre » pour ajouter un chiffre à la fin de chaque login (pour les personnes qui auraient la même première lettre de prénom et le même nom).
- On réalise une boucle répétée pour tester les doublons.
- On assigne « existe » à « false » pour éviter une boucle infinie.
- On avait une collection « Login » que l’on va parcourir avec un « foreach » pour regarder si un Login correspond à « newLogin ». On va donc tester la ressemblance entre Login et newLogin. Si newLogin ressemble à un Login existant, on met « existe » à true.
- On stoppe le foreach si « existe » est à « true » (pour éviter de continuer à parcourir la liste pour rien).
- Le foreach fini, on teste si « existe » a été mis à « true » ; si oui, on rajoute à newLogin la variable chiffre.
- On recommence toute la boucle tant que « existe » n’est pas à « false » (si on a plusieurs fois le même nom de compte, on aura par exemple rfourbier4).
- Quand on sort de la boucle répéter, newLogin est ajouté à la collection de Login.
- On crée le mot de passe avec une majuscule aléatoire, deux minuscules aléatoires, un chiffre, une majuscule aléatoire et une minuscule aléatoire.
- On écrit ensuite la commande « dos » dans le document bat.