Calendar et weeknumbers

Résolu
horizonnet Messages postés 6 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 3 octobre 2006 - 14 mars 2006 à 18:47
horizonnet Messages postés 6 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 3 octobre 2006 - 14 mars 2006 à 19:22
Bonjour ,

Voila je suis un jeune padawan en delphi et j'ai quelques soucis :)

Voila j'aimerais savoir comment à partir d'une combobox qui comporte tt les numéro de semaine (1 à 52) , je peux selectionner la semaine directement dans le calendar ?

un truc du genre :

dans la procedue combobox change
monthcalendar1.weeknumbers:=combobox1.text

biensur ca marche pas lol , ca aurait ete trop simple !

merci de votre aide :) @ bientot

2 réponses

jlen100 Messages postés 1606 Date d'inscription samedi 10 juillet 2004 Statut Membre Dernière intervention 25 juillet 2014 13
14 mars 2006 à 19:11
salut,

je l'ai fait avec un spinEdit parceque c'était plus rapide à tester.

utilise la fonction EncodeDateWeek



procedure TForm1.SpinEdit1Change(Sender: TObject);

begin

monthcalendar1.Date:=encodedateWeek(2006,spinedit1.Value,1);

end;

function EncodeDateWeek(const AYear, AWeekOfYear: Word; const ADayOfWeek: Word = 1): TDateTime;



Description



EncodeDateWeek renvoie un TDateTime pour la date spécifiée par les
paramètres AYear, AWeekOfYear et ADayOfWeek. La partie heure de la
valeur renvoyée est 0 (minuit au début du jour spécifié).



si tu pars d'un combobox il faudra tut d'abord convertir le texte en integer-->

semaine:= stttrtoint(combobox1.text);

et ensuite l'appliquer à la fonction



AYear représente l'année. Il peut avoir toute valeur entre 1 et 9999 (compris).



AWeekOfYear représente la semaine dans cette année, où 1 correspond à
la première semaine d'au moins quatre jours. Si le premier jour
calendaire de l'année est vendredi, samedi ou dimanche, ces trois jours
doivent être exprimés en attribuant à AYear l'année antérieure et à
AWeekOfYear le nombre de semaines comprises dans cette année
antérieure. De même, si le dernier jour calendaire de l'année est
lundi, mardi ou mercredi, ces trois jours sont exprimés en attribuant à
AYear l'année suivante et à AWeekOfYear la valeur 1.



ADayOfWeek représente le jour de la semaine : 1 pour lundi, 2 pour mardi, etc.



Conseil : Pour faciliter la lecture de la valeur
de ADayOfWeek, utilisez les constantes des jours de la semaine.



Si la valeur de AYear est en dehors des limites, AWeekOfYear est
inférieur à 1 ou supérieur au nombre de semaines dans AYear ou
ADayOfWeek est inférieur à 1 ou supérieur à 7, EncodeDateWeek déclenche
une exception EConvertError.



Remarque : Les définitions de AWeekOfYear et ADayOfWeek respectent la norme ISO 8601.
3
horizonnet Messages postés 6 Date d'inscription mercredi 25 mai 2005 Statut Membre Dernière intervention 3 octobre 2006
14 mars 2006 à 19:22
merci beaucoup pour cette reponse super rapide est complete
0
Rejoignez-nous