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 :

[D2009] Un composant pour faire afficher uniquement les mois et l'année ?


Sujet :

Composants VCL Delphi

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut [D2009] Un composant pour faire afficher uniquement les mois et l'année ?
    Bonjour,

    Un peu à la manière d'un DateTimePicker ou d'un MonthCalendar, j'aimerais savoir s'il existait une propriété ou un composant permettant de ne faire afficher que le mois et l'année (donc sans les jours) ?

    Merci d'avance

    cf. fichiers joints pour voir le comportement souhaité...donc soir sans les jours...soit avec des mois sur 3 caractères etc.
    Images attachées Images attachées   

  2. #2
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 670
    Points : 25 477
    Points
    25 477
    Par défaut
    Tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTimePicker.DateFormat := "MMM yyyy";
    J'avais utilisé un composant disposant d'une propriété Booléenne YearMonth, peut-être le TJvDateEdit ou un composant d'ailleurs, je ne sais plus !
    Mais un piège est toujours valable, le jour est souvent celui du jour en cours, veille à forcer le 1er jour du Mois !

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    Tout simplement
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DateTimePicker.DateFormat := "MMM yyyy";
    J'avais utilisé un composant disposant d'une propriété Booléenne YearMonth, peut-être le TJvDateEdit ou un composant d'ailleurs, je ne sais plus !
    Mais un piège est toujours valable, le jour est souvent celui du jour en cours, veille à forcer le 1er jour du Mois !
    Merci LeTroll...malheureusement, le comportement ne correspond pas à celui que je souhaite (cf. les images) : je n'arrive pas à faire afficher uniquement la liste des mois de l'année par exemple quand on déploie le calendrier...
    Effectivement, si un composant avait la propriété booléenne YearMonth...peut-être que...en tout cas c'est alléchant...tu ne te souviens plus de quel composant il s'agissait ?

    Merci en tout cas de t'intéresser à mon problème...je suis dans une impasse depuis 2 jours.

    Question subsidiaire : sais-tu s'il serait possible de redéfinir le format court de la date ?
    Typiquement, si je définis un format MMM/yyyy, j'obtiens "jan./2011"
    => j'aurais aimé personnaliser ce résultat et mettre "JAN/2011"
    => alors je sais qu'on peut redéfinir tout ça via GetLocaleFormatSettings mais dans le cas de l'utilisation d'un DateTimePicker ou d'un DateEdit, je ne vois pas trop...

  4. #4
    Expert confirmé
    Avatar de popo
    Homme Profil pro
    Analyste programmeur Delphi / C#
    Inscrit en
    Mars 2005
    Messages
    2 770
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Analyste programmeur Delphi / C#
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2005
    Messages : 2 770
    Points : 5 510
    Points
    5 510
    Par défaut
    Dans le chapitre 11 du Guide du Concepteur de composant (Auteur : Borland Technical Publications), il est expliqué de menière simple et concise comment créé à composant TCalendrier à partir d'un TCustomGrid.

    Avec quelques modifications tu devrait parvenir à ce que tu cherches

  5. #5
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 670
    Points : 25 477
    Points
    25 477
    Par défaut
    en même temps, une selection Année Mois, cela peut se faire avec deux pauvres Combo ! une de 1 à 12 et l'autre de 19xx à 20xx (avec l'année en cours pré-selectionné et possiblité d'une saisie libre !

  6. #6
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    Citation Envoyé par ShaiLeTroll Voir le message
    en même temps, une selection Année Mois, cela peut se faire avec deux pauvres Combo ! une de 1 à 12 et l'autre de 19xx à 20xx (avec l'année en cours pré-selectionné et possiblité d'une saisie libre !
    bien entendu ...mais euh...mon impératif est d'avoir le même comportement que les images jointes...donc une sorte d'Edit avec un petit bouton calendrier qui fait apparaître en popup soit un calendrier complet (jours, mois, années), soit un calendrier partiel (mois et années)

    dur dur

  7. #7
    Expert éminent sénior
    Avatar de ShaiLeTroll
    Homme Profil pro
    Développeur C++\Delphi
    Inscrit en
    Juillet 2006
    Messages
    13 670
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Développeur C++\Delphi
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2006
    Messages : 13 670
    Points : 25 477
    Points
    25 477
    Par défaut
    Regarde le TJvDateEdit ce qu'il propose
    Perso, j'ai utilisé tellement de variante de TDateEdit, ce que je sais, c'est qu'il y a toujours un défaut !
    Il me semble que j'avais repris l'exemple TCCalendar dans la palette Exemples (Samples) pour faire un compo similaire à ce que tu veux
    Le TCalendar est la version aboutie de la démo proposée par popo
    Tu as le source, il est facilement modifiable !

  8. #8
    Candidat au Club
    Profil pro
    Inscrit en
    Janvier 2011
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2011
    Messages : 5
    Points : 2
    Points
    2
    Par défaut
    oki !!! merci beaucoup !!! reste plus qu'à me retrousser les manches

  9. #9
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut
    T'as qu'a t'le faire toi même :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    unit MonthCalendar1;
     
    interface
     
    uses
      SysUtils, Classes, Controls, ComCtrls;
     
    type
      TMonthCalendar1 = class(TMonthCalendar)
      private
        { Déclarations privées }
      protected
        { Déclarations protégées }
      public
        constructor Create(AOwner: TComponent); override;
      published
        { Déclarations publiées }
      end;
     
    procedure Register;
     
    implementation
     
    constructor TMonthCalendar1.Create(AOwner: TComponent);
    begin
      inherited Create(AOwner);
      Height := 30;
    end;
     
    procedure Register;
    begin
      RegisterComponents('Samples', [TMonthCalendar1]);
    end;
     
    end.
    Soit c'est vous, soit c'est moi qui n'est rien compris...

  10. #10
    Inactif
    Homme Profil pro
    Analyste-programmeur Delphi
    Inscrit en
    Décembre 2003
    Messages
    490
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 61
    Localisation : France

    Informations professionnelles :
    Activité : Analyste-programmeur Delphi

    Informations forums :
    Inscription : Décembre 2003
    Messages : 490
    Points : 287
    Points
    287
    Par défaut
    oups...
    qui n'ai rien compris

Discussions similaires

  1. comment faire pour faire afficher les balises (tag)
    Par goldor dans le forum Général JavaScript
    Réponses: 7
    Dernier message: 26/01/2009, 16h35
  2. Quel webpart pour afficher uniquement les sous-sites d'un site?
    Par gracouille dans le forum SharePoint
    Réponses: 0
    Dernier message: 02/06/2008, 19h37
  3. Réponses: 4
    Dernier message: 05/07/2006, 21h58
  4. Cherche composant pour faire des diagrammes de Gantt
    Par Ptite Développeuse dans le forum C++Builder
    Réponses: 5
    Dernier message: 27/04/2006, 11h56
  5. Superposition de composant pour faire une image
    Par spikto dans le forum Composants VCL
    Réponses: 14
    Dernier message: 31/12/2005, 15h18

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