nalconas
Messages postés3Date d'inscriptionjeudi 2 juin 2011StatutMembreDernière intervention26 août 2011
-
26 août 2011 à 03:59
Utilisateur anonyme -
26 août 2011 à 20:41
Bonjour a vous!
J'aimerai vous soumettre un probleme que j'essaye de resoudre depuis quelques temps maintenant.
Alors voila, je suis entrain de creer une application de questionnaire a choix multiple. Les questions et les differents choix etant mis dans un document excel. Le programmme charge en memoire l'ensemble des questions.
Seulement, je dispose d'une contrainte: Seulement 40 boutons, quelque soit le nombre de question, a raison d'un bouton par question, et 2 autres boutons, "suivant" et "precedent". C'est ceux-la meme que je n'arrive pas a faire marcher correctement. Je pense qu'il doit y avoir un probleme dans mon algorithme, mais je n'arrive pas a mettre la main dessus :(
<code> Private Sub btn_Nav_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Nav01.Click, btn_Nav02.Click
Me.Btn_Nav01.Enabled = True
For m_iCntrlIndex As Integer = gbx_buttons01.Controls.Count - 1 To 0 Step -1
Dim ctrl As Control = gbx_buttons01.Controls(m_iCntrlIndex)
If Val(ctrl.Text) <= m_iTotalQ Then
'ctrl.Text IIf(Mid(sender.Name, 9, 1) "1", Val(ctrl.Text) - 40, Val(ctrl.Text) + 40)
If Mid(sender.Name, 9, 1) = "1" Then
ctrl.Text = Val(ctrl.Text) - 40
Else
ctrl.Text = Val(ctrl.Text) + 40
End If
End If
If ctrl.Text > m_iTotalQ Then
ctrl.Enabled = False
ctrl.Text = "x"
Me.btn_Nav02.Enabled = True
End If
Next
End Sub
<code>
lolokun
Messages postés1241Date d'inscriptionmardi 10 octobre 2006StatutMembreDernière intervention27 août 20137 26 août 2011 à 09:33
Bonjour,
Es-tu sûr d'être en vb.net, catégorie dans laquelle tu as posté?
Quand tu postes un code, penses à utiliser la coloration syntaxique (3eme icône en partant de la droite)
Comment charges-tu les 40 questions dans ton programme?
je n'arrive pas a faire marcher correctement
C'est à dire, tu as un message d'erreur??
L'expérience, c'est une connerie par jour, mais jamais la même..
nalconas
Messages postés3Date d'inscriptionjeudi 2 juin 2011StatutMembreDernière intervention26 août 2011 26 août 2011 à 09:57
D'abord lolokun merci pour ta reponse. Et en passant, tres belle definition de l'experience :)
Pour mon code, oui c'est bien du VB.Net.
Voici l'enonce exact de ce qui se passe:
les questions peuvent etre d'un nombre superieur a 40 d'ou mon probleme. je les charge grace a un datagrid. dans le code que ci-haut, j'attribue des numeros aux boutons, grace auxquelles ensuite j'arrive a appeler les questions correspondantes. je n'ai pas de message d'erreur, mais prenons un exemple. Supposons qu'il y a 75 questions. les premieres 40 questions saffichent convenablement, a raison d'une question par bouton, de 1 a 40. Ensuite, quand j'appuie sur le bouton "suivant", jajoute 40 a chaque numero de bouton, tout en respectant le nombre total de question. il s'affiche donc les boutons 41 a 75 puis, ds les 5 autres boutons restes inutilises, il s'affiche des "x". le probleme vient de mon bouton precedent, car il se contente de faire "-40" donc ca provoque des erreurs quand il y a des "x"..
Voila j'espere que j'ai ete assez clair. J'espere que quelqu'un pourra m'aider.
NHenry
Messages postés15114Date d'inscriptionvendredi 14 mars 2003StatutModérateurDernière intervention 4 mai 2024159 26 août 2011 à 19:10
Bonjour,
A la place d'utiliser une TextBox pour mémoriser le numéro de la page, utilises une variable, au moins tu pourras mieux en contrôler l'usage.
Sinon, tu dis qu'il y a des erreurs, lesquelles ?
---------------------------------------------------------------------
[list=ordered][*]Pour poser correctement une question et optimiser vos chances d'obtenir des réponses, pensez à lire le règlement CS et aussi ce lien[*]Quand vous postez un code, merci d'utiliser la coloration syntaxique (3ième icône en partant de la droite : )
[*]Si votre problème est résolu (et uniquement si c'est le cas), pensez à mettre "Réponse acceptée" sur le ou les messages qui vous ont aidés./list ---
Mon site
Bonsoir,
Prends l'habitude de mettre Option Strict sur On dans les propriétés de ton projet.
Les mélanges de types de variables seront tout de suite détectés.
Utilise plutôt la classe Convert -> Convert.ToInt32(Texte) pour les conversions de type afin de remplacer l'horrible Val.
Voir aussi CType (qui peut être utile mais plus risqué).
Utilise également la méthode SubString -> MonTexte.SubString(start [,longueur]) pour le remplacement de Mid (obsolète).
Tu devrais créer tes boutons dynamiquement à chaque question existante, ce qui t'éviterais d'avoir des boutons vides et ainsi pallier à ton problème de navigation (avant précédent).
Bonne soirée.