A voir également:
- Programme cshrp help :(:(
- Programme demarrage windows 10 - Guide
- Mettre en veille un programme - Guide
- Cette action ne peut pas être réalisée car le fichier est ouvert dans un autre programme - Guide
- Désinstaller programme windows 10 - Guide
- Sms programmé - Guide
7 réponses
scriptiz
Messages postés
1424
Date d'inscription
dimanche 21 décembre 2008
Statut
Membre
Dernière intervention
14 septembre 2023
425
3 juin 2009 à 18:41
3 juin 2009 à 18:41
Déjà un truc qui ne me semble pas logique c'est que tu appelle lire et tu en met le résultat dans des variables (Bv et PP), cependant la fonction lire est de type void et ne retourne rien.
Donc je ne voit pas bien où tu veux en venir.
Sinon il serait bien que tu mette ton code entre les balises <code> et </code > afin qu'il soit plus lisible.
Donc je ne voit pas bien où tu veux en venir.
Sinon il serait bien que tu mette ton code entre les balises <code> et </code > afin qu'il soit plus lisible.
namespace Procedural { public partial class Formulaire : Form { public StreamReader sr; private Form1 _form1; public string vocPath; List < string > Bv; List < string > PP; List < string > Pret; public Formulaire( Form1 unForm1) { InitializeComponent(); _form1 = unForm1; Bv = lire( @".\resources\BV.TXT" ); /* appel de la procédure et * création des collections*/ PP = lire( @".\resources\PP.TXT" ); Pret = lire( @".\resources\Pret.TXT" ); } private List < string > lire( string unNomFichier) /*procédure de passage par valeur (car exploitation de la valeur récupérée par les boutons radio) pour ouverture, * lecture puis fermeture, d'un fichier txt*/ { sr = File .OpenText(unNomFichier); List < string > liste = new List < string >(); string mot = "" ; while ((mot = sr.ReadLine()) != null ) { liste.Add(mot); } sr.Close(); return liste; } /* autre facon * private void lire(string unNomFichier, List<string> uneListe) { sr = File.OpenText(unNomFichier); string mot = ""; while ((mot = sr.ReadLine()) != null) { uneListe.Add(mot); } sr.Close(); }*/ private void tableau( List < string > uneListe, Random rnd ) /*procédure de passage par réference (car uneListe prend la valeur de la variable) * pour le remplissage des tableaux*/ { /*Random rnd = new Random();*/ string [] row0 = { " " , " " , " " , " " }; string [] newLigne = row0; newLigne[0] = uneListe[rnd.Next(25)]; dataGridView1.Rows.Add(newLigne); } private void Form2_Load( object sender, EventArgs e) { Random R= new Random (); switch (_form1.niveau) { case "Débutant" : for ( int i = 0; i < 3; i++) { /*string[] newLigne = row0; newLigne[0] = Bv[rnd.Next(25)]; dataGridView1.Rows.Add(newLigne);*/ tableau(Bv,R); } break ; case "Moyen" : for ( int i = 0; i < 5; i++) { tableau(Pret,R); } break ; case "Expert" : for ( int i = 0; i < 7; i++) { tableau(PP,R); } break ; } } } }
lire est une fonction qui retourne aléatoirement une liste de verbes qu'il récupère à partir du fichier texte pour qu'ils soient enfin placés dans la colonne correspondante
mon programme est censé lire dans les fichiers txt et me placer mes verbes selon le niveau dans un tableau :
- si niveau débutant : base verbale en anglais proposée et le joueur doit remplir le reste
- si niveau moyen : prétérit proposé
- si niveau expert : participe passé proposé
bien entendu il faut que les verbes soient placés dans la bonne colonne, or, actuellement, ils se placent toujours dans la première colonne, donc dans Base verbale, même si les bon verbes sont lus
- si niveau débutant : base verbale en anglais proposée et le joueur doit remplir le reste
- si niveau moyen : prétérit proposé
- si niveau expert : participe passé proposé
bien entendu il faut que les verbes soient placés dans la bonne colonne, or, actuellement, ils se placent toujours dans la première colonne, donc dans Base verbale, même si les bon verbes sont lus
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
ou alors je dirais d'une autre facon : comment placer le résultat d'une fonction qui retourene une liste dans la colonne d'un datagridview?????