2014-05-09 1 views
-1

Je travaille sur un projet où j'affiche des questions dans les Textbox. Sous chacun d'eux il y a 4 cases à cocher et l'utilisateur doit sélectionner celui qui répond à la question.Comment lire les fichiers texte au lieu d'utiliser des cas?

Y a-t-il un moyen de mettre toutes mes questions, réponses, etc. dans un fichier .txt et de les charger à partir de là? Je ne veux pas avoir à écrire un case pour chaque question (j'ai environ 120 questions environ).

Ma façon de le faire jusqu'à présent:

case 5: // Multiple Answers 
       txtQuestion.Text = "What are the characteristics of the " + 
            "Main method? (Choose two)"; 

       grpSingleChoice.Visible = false; 
       grpMultipleChoice.Visible = true; 

       chkAnswer1.Text = "A. It must always return void"; 
       chkAnswer2.Text = "B. It is always the first method inside the " + 
            "main class of a program"; 
       chkAnswer3.Text = "C. It is the start and end point of a program"; 
       chkAnswer4.Text = "D. It must always be passed an array of strings " + 
            "as in static void Main(string[] args)"; 
       chkAnswer5.Visible = true; 
       chkAnswer5.Text = "E. It must be created inside of a class" + 
            "or a structure"; 
       break; 
+2

Mieux encore: utiliser une base de données;) –

+0

Oui il y a - un aller et faites-nous une question spécifique, car au moment de sa trop large répondre à une question. Il y a trop de solutions possibles. – Ian

+0

Vous pourriez aussi considérer un fichier XML. Vous pouvez avoir des éléments "Question" et des éléments "Answer". –

Répondre

1

Une façon simple de faire cela peut être:

[START] 
Question = Imagine you write code and include a backslash in a string, the compiler ... 
Correct = 2 
Option = Answer a 
Option = Answer b 
Option = Answer c 
Option = Answer d 
[END] 

Les "tags" seront vos conditions de boucle, donc il suffit d'utiliser Split(lineText, " = ") à obtenir les valeurs. Mais XML est bien meilleure solution:

<xml> 
    <question correct="2"> 
     <description>Imagine you write code and include a backslash in a string, the compiler ....</description> 
     <option>answer</option> 
     <option>answer</option> 
     <option>answer</option> 
     <option>answer</option> 
    </question> 
    <question correct="3"> 
     <description>Another question....</description> 
     <option>answer</option> 
     <option>answer</option> 
     <option>answer</option> 
     <option>answer</option> 
    </question> 
</xml> 
Questions connexes