Probleme Attribution Fonction Bouton

nalconas Messages postés 3 Date d'inscription jeudi 2 juin 2011 Statut Membre Dernière intervention 26 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>

Merci!!

4 réponses

lolokun Messages postés 1241 Date d'inscription mardi 10 octobre 2006 Statut Membre Dernière intervention 27 août 2013 7
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..
0
nalconas Messages postés 3 Date d'inscription jeudi 2 juin 2011 Statut Membre Dernière intervention 26 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.

Merci!
0
NHenry Messages postés 15112 Date d'inscription vendredi 14 mars 2003 Statut Modérateur Dernière intervention 13 avril 2024 159
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
0
Utilisateur anonyme
26 août 2011 à 20:41
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.
0
Rejoignez-nous