cs_cyriloo
Messages postés60Date d'inscriptiondimanche 20 novembre 2005StatutMembreDernière intervention12 septembre 2007
-
1 juin 2006 à 09:33
cs_cyriloo
Messages postés60Date d'inscriptiondimanche 20 novembre 2005StatutMembreDernière intervention12 septembre 2007
-
1 juin 2006 à 18:21
Bonjour , j'ai un probléme sur l'utilisation d'un Combobox; Je m'explique : J'ai un programe qui va lire certains parametres sur un appareil connecté par RS232. Je fais donc une lecture cyclique à l'aide d'un timer , une fois la lecture terminé , j'appelle une fonction qui permet de faire le refresh de ma page et donc du Combobox. Le probléme est que sur l'appareil connecté ,
Lundi équivaut à 1
Mardi a 2
Mercredi à 3
...
donc lors du load de la form , je rempli le combobox :
Jusque là tout va bien , lors de l'évenement click sur le combobox j'ai :
Private Sub Combo1_Click()
Tableau(88) = Combo1.ListIndex
Jour_Change = True ' Sert a voir si le jour a changer pour lecrire sur lappareil
End Sub
ensuite dans mon timer qui me permet de faire une lecture cyclique de lappareil jai :
Private Sub Timer_Horloge_Timer()
If Jour_Change = True Then 'Si le jour a ete change on ecrit sur lappareil
Call Ecriture_Mot(Jour)
Jour_Change = False
Else
Tableau(Jour) = LECTURE_MOT(Jour) 'Sinon on fait la lecture de la valeur
end if
Refresh_Form_Horloge 'On appelle cette fonction pour rafraichir le combobox
end sub
et la fonction permettant de de rafraichir le combobox :
Public Sub Refresh_Form_Horloge()
Dim DayY As Integer
For DayY = 1 To 7
If Tableau(Jour) = DayY Then
F_Horloge.Combo1.ListIndex = DayY -1
End If
Next DayY
End sub
Voila , le probléme c'est qu'a cause de la lacture cyclique , Le jour se décrémente un a un , en l'ecrivant sur l'appareil.
Je pense que le prb est que par exemple la valeur du lundi est 1 , mais que l'index de Lundi dans le Combobox est 0 .
Si vous avez des suggestions n'hesitez pas!
jrivet
Messages postés7392Date d'inscriptionmercredi 23 avril 2003StatutMembreDernière intervention 6 avril 201260 1 juin 2006 à 11:00
Dans ce cas c'est DayY + 1 (non?)
Sinon essaie ca
Dim DayY As Integer
Dim I As Integer
For DayY = 1 To 7
If Tableau(Jour) = DayY Then
For I = 1 To 7
If F_Horloge.Combo1.ItemData(I) = DayY Then
F_Horloge.Combo1.ListIndex = I
Exit For
End If
Next
erefdatacomputing
Messages postés165Date d'inscriptionmardi 7 mars 2006StatutMembreDernière intervention24 avril 2018 1 juin 2006 à 18:08
un petit PS:
<gras>combo1.itemdata(combo1.newindex) = 1',
pose sur ta form , un 'DTPicker' , et si dans les paramètres utilisés, il y a la date en entier (ex: 01/03/2005), ou si on peut la recomposer, (ex: param1=01 pour le jour, param2=03 pour le mois, para3=2005 pour l'année) c'est tout bon, contacte moi pour la marche à suivre si tu le désir !!
Je comprends vite mais il faut m'expliquer longtemps et tout en détails !!!