IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

VB.NET Discussion :

Jeu questionnaire simple


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 9
    Par défaut Jeu questionnaire simple
    Bonjour,

    J'essaie de créer un jeu questionnaire assez simple afin de maitriser plus en profonder la lecture et l'enregistrement sur fichier .txt. Dans mon projet, j'ai 1 formulaire qui contient un TextBox qui devra servir à acceuillir chaques questions contenu dans le fichier data.txt, ci-joint, 4 boutons radio servant à selectionner une réponse elles aussi dans le fichier .txt, et un bouton servant à confirmer le choix.

    Mon problème est : Je ne trouve pas comment bien lire le fichier et Assigner la première entrée dans mon TextBox et les autres entrées qui sont sur la même ligne délimiter par le caractère " : " aux texte des boutons radio.

    pour l'instant, tout ce que j'ai c'est ceci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    Public Class frmQuestion1
      Dim mswFichier As System.IO.StreamWriter
     
      Private Sub frmQuestion1_Load(ByVal sender As Object, _
                                    ByVal e As System.EventArgs) _
                                    Handles Me.Load
      Dim tfpQuestions As New FileIO.TextFieldParser("data.txt", _
                                                      System.Text.Encoding.UTF7)
      tfpQuestions.TextFieldType = FileIO.FieldType.Delimited
      tfpQuestions.SetDelimiters(":")
      Dim strligne As String()
      strligne = tfpQuestions.ReadFields
     
      End Sub
    End Class
    j'ai déja créer avant celui-ci une application plus simple servant à lire des données simples qu ressemblait a ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    Public Class frmChargerDonnees
     
      Private Sub btnCharger_Click(ByVal sender As System.Object, _
                                  ByVal e As System.EventArgs) _
                                  Handles btnCharger.Click
        Dim tfpFichierProv As New FileIO.TextFieldParser("provinces.txt", _
                              System.Text.Encoding.UTF7)
        Dim strLigne As String
        cboProvince.Items.Clear()
        Do Until tfpFichierProv.EndOfData
          Try
            strLigne = tfpFichierProv.ReadLine
            cboProvince.Items.Add(strLigne)
            cboProvince.SelectedItem = "Québec"
          Catch ex As FileIO.MalformedLineException
            MessageBox.Show("La Ligne" & ex.Message & _
                            "n'est pas valide et est rejetée")
          End Try
        Loop
        tfpFichierProv.Close()
      End Sub
     
      Private Sub frmChargerDonnees_Load(ByVal sender As Object, _
                                        ByVal e As System.EventArgs) _
                                        Handles Me.Load
        Dim tfpFichierMois As New FileIO.TextFieldParser("NomsMois.txt", _
                                  System.Text.Encoding.UTF7)
        tfpFichierMois.TextFieldType = FileIO.FieldType.Delimited
        tfpFichierMois.SetDelimiters(",")
        Dim strligne As String()
        Do Until tfpFichierMois.EndOfData
          Try
            strligne = tfpFichierMois.ReadFields
            Dim strChamp As String
            For Each strChamp In strligne
              lstMois.Items.Add(strChamp)
            Next
          Catch ex As FileIO.MalformedLineException
            MessageBox.Show("La Ligne" & ex.Message & _
                            "n'est pas valide et est rejetée")
          End Try
        Loop
        tfpFichierMois.Close()
      End Sub
    End Class
    Pourriez-vous me donner quelques pistes s'il vous plait, sans trop me vendre la mèche

    Merci Beaucoup!
    Fichiers attachés Fichiers attachés

  2. #2
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    Je te conseille de t'orienter vers un stockage Xml, et pourquoi pas sérialiser/désérialiser celle ci.

    Je vois bien un truc comme ça
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <FQuestion>
        <Question>   </Question>
        <Reponse>   </Reponse>
    </FQuestion>

    Le code sera beaucoup moins long et beaucoup plus lisible que le fouilli pour lire un fichier texte correctement, de plus tu pourra facilement ajouter des champs comme un nombre de points associés à la question ou établir des listes de questions

  3. #3
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 9
    Par défaut
    Merci beaucoup pour ta réponse, mais mon objectif est vraiment d'utiliser le fichier .txt. Je suis quand même relativement débutant et je n'ai aucun notion d'XML pour l'instant. Je préfère bien maitriser un premier sujet avant de m'attaquer à autre chose!

  4. #4
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    Pour la lecture c'est mieux d'utiliser un StreamReader.

    Pour faire ce dont tu as besoin tu peut utiliser un Split.
    Par exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    Dim monTexte as String = "texte1:texte2:texte3:texte4"
     Dim Data as String() = monTexte.Split(":")
    Data(0) => contient "texte1"
    Data(1) => contient "texte2"
    ect.

  5. #5
    Membre régulier
    Profil pro
    Inscrit en
    Octobre 2010
    Messages
    9
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2010
    Messages : 9
    Par défaut
    Donc, je pourrais faire quelquechose semblable à

    "Textbox=Data(o)
    BR1=Data(1)
    BR2=Data(2)
    BR3=Data(3)
    BR4=Data(4)"

    c'est bien ça?

  6. #6
    Membre chevronné Avatar de Jerede
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2010
    Messages
    271
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Mai 2010
    Messages : 271
    Par défaut
    Citation Envoyé par mastorhaxor Voir le message
    Donc, je pourrais faire quelquechose semblable à

    "Textbox=Data(o)
    BR1=Data(1)
    BR2=Data(2)
    BR3=Data(3)
    BR4=Data(4)"

    c'est bien ça?
    Textbox.Text
    BR1.Text
    ect..

Discussions similaires

  1. [MCD] Questionnaire simple
    Par Somesa dans le forum Schéma
    Réponses: 11
    Dernier message: 09/02/2015, 11h00
  2. [jeu] Questionnaire Cuba
    Par r0d dans le forum Politique
    Réponses: 23
    Dernier message: 06/07/2009, 17h38
  3. Petit jeu multijoueur en ligne (commençons simple lol)
    Par Archaoniro dans le forum Langage
    Réponses: 25
    Dernier message: 24/03/2006, 18h31
  4. [Simple] Augmentation des niveaux dans un jeu.
    Par Invité4 dans le forum Algorithmes et structures de données
    Réponses: 8
    Dernier message: 03/01/2006, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo