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

Composants VCL Delphi Discussion :

Month calendar .


Sujet :

Composants VCL Delphi

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut Month calendar .
    Bonjour à tous

    Voilà je suis sur un projet personnel dont le principe est de faire un agenda.
    Pour cela j'ai une base de données dans laquelle j'aurais mes événements,
    et pour chaque événement j'aimerais que le jour où il y a un évenement soit en gras.

    enfin plein facettes à gérer.

    Ma première question est : est ce qu'il est possible de récupérer dans une variable le jour sur lequel on clic ainsi que dans une autre variable l'année ?

    J'arrive à récupérer le mois grâce à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Edit1.Text := VarToStr(Month - 1);
    pour le mois de mars je récupère bien "3" dans mon edit1.


    J'avais pensé à un découpage de la date que l'on peut récupérer avec le composant "DateTimePicker"
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Edit2.Text := DateToStr(DateTimePicker1.Date);
    puis récuperer les 2 premier caractères dans une variable puis les 2 second dans une autre et enfin les 2 derniers dans une troisième.

    Enfin j'aimerais plutôt utiliser la 1ère solution ^^

    PS : mon retour ero-sennin kiss

  2. #2
    Membre averti Avatar de milaybe
    Inscrit en
    Décembre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 58
    Par défaut
    Bonjour,

    Moi, j'utilise la procédure decodeDate(const DateTime: TDateTime; var Year:Word; var Month :Word; var Day :Word) comme ceci:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    decodeDate(DateTimePicker1.Date,Year, month, day);
    Mais il faut que tu mettes SysUtils dans Uses.

  3. #3
    Rédacteur/Modérateur
    Avatar de ero-sennin
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juillet 2005
    Messages
    2 965
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 2 965
    Par défaut
    Salut

    Je suis d'accord avec milaybe, j'utiliserai la procédure DecodeDate :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    procedure TForm1.MonthCalendar1Click(Sender: TObject);
    var
     year,month,day:Word;
    begin
      DecodeDate(MonthCalendar1.Date,year, month, day);
      EditJour.Text:=IntToStr(day);
      EditMois.Text:=IntToStr(month);
      EditAnnee.Text:=IntToStr(year);
    end;
    Ensuite, si tu veux mettre en gras certaines dates, il faut utiliser la procédure BoldDays qui prend en paramètre un tableau de cardinals (les dates à mettre en gras) et la variable MonthBoldInfo. Pour celà, il faut donc utiliser l'évément OnGetMonthInfo et, en fonction du mois, mettre les dates désirées en gras...
    Voici un exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    procedure TForm1.MonthCalendar1GetMonthInfo(Sender: TObject;
      Month: Cardinal; var MonthBoldInfo: Cardinal);
    begin
      case Month of
        // Mettre les jours 1,3 et 8 en gras pour le mois de mars
        3:MonthCalendar1.BoldDays([1,3,8],MonthBoldInfo);
        // Mettre les jours 6,18 et 24 en gras pour le mois de juin
        6:MonthCalendar1.BoldDays([6,18,24],MonthBoldInfo);
      end;
    end;
    En espérant t'avoir aidé!
    A+

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    108
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 108
    Par défaut
    Ouep j'avais regardé pour tout ce qui est BoldDays et MonthBoldInfo dans l'évenement OnGetMonthInfo , mais je saivais pas trop comment mis prendre ^^

    Je teste tout ca se soir et je met le tag si c'est good

    Merci a vous deux :p

  5. #5
    Membre averti Avatar de milaybe
    Inscrit en
    Décembre 2007
    Messages
    58
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 58
    Par défaut
    Ce fut un plaisir,

    A+

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Month Calendar Avancé
    Par r0seBa dans le forum Windows Forms
    Réponses: 4
    Dernier message: 16/12/2009, 10h17
  2. Rrafraichir un month calendar
    Par care dans le forum Composants VCL
    Réponses: 0
    Dernier message: 07/04/2008, 19h32
  3. month calendar & datetimepicker
    Par urculate dans le forum VB.NET
    Réponses: 3
    Dernier message: 10/03/2008, 17h41
  4. date time picker & month calendar controls
    Par theoldisgood dans le forum Windows
    Réponses: 2
    Dernier message: 29/10/2007, 18h19
  5. Month calendar particulier
    Par ptitshrek dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/08/2007, 15h02

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