Bonjour
Sur ma forme, j'ai un TDateTimePicker et quand la valeur de la date est zéro il retourne comme date le 1899/12/30.
Parce que le nombre zéro équivaut à cette date.
J'aimerais savoir comment on fait pour qu'il n'affiche rien '____/__/__'
Merci
Bonjour
Sur ma forme, j'ai un TDateTimePicker et quand la valeur de la date est zéro il retourne comme date le 1899/12/30.
Parce que le nombre zéro équivaut à cette date.
J'aimerais savoir comment on fait pour qu'il n'affiche rien '____/__/__'
Merci
Bonjour,Il faut ruser un peu...
Si la propriété Time du composant de classe TDateTimePicker est différent de '00:00:00' , on peut écrire dans le gestionnaire d'événement OnChange :
Pour éviter des effets de bord ultérieurs, n'oubliez pas d'en tenir compte dans les autres portions de code où on contrôle si la valeur de la propriété DateTime est nulle ou non...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 procedure TForm1.DateTimePicker1Change(Sender: TObject); begin if Trunc(DateTimePicker1.DateTime) = 0 then DateTimePicker1.Format := ' / / ' else DateTimePicker1.Format := 'yyyy/MM/dd'; end;
Plus proprement, on peut écrire son propre composant descendant de TDateTimePicker avec les propriétés et fonctions adéquates pour gérer cette fonctionnalité...
Et sinon, moi j'utilise la case à cocher (propriété Checked), qui me permet de savoir s'il faut prendre en compte la valeur du TDateTimePicker ou pas.
![]()
L'urgent est fait, l'impossible est en cours, pour les miracles prévoir un délai. :bug: ___ "http://club.developpez.com/regles/#LIII-A"Écrivez dans un français correct !!
C++Builder 5 - Delphi 6#2 Entreprise - Delphi 2007 Entreprise - Delphi 2010 Architecte - Delphi XE Entreprise - Delphi XE7 Entreprise - Delphi 10 Entreprise - Delphi 10.4.2 Entreprise - Delphi 11.3 Entreprise - Visual studio 2022
OpenGL 2.1 - Oracle 10g - Paradox - Interbase (XE) - PostgreSQL (15.7)
J'avais eu le même problème il y a longtemps et, pour autant que mes souvenirs ne me trompent pas, j'avais utilisé les composants orpheus qui réglaient ce problème.
http://sourceforge.net/projects/tporpheus/
à vérifier ...
Bonjour,
La condition que tu mentionnes, je l'ai essayé mais j'ai l'erreur suivante 'Undeclared identifier Format'
Merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 if (qentete.fieldByName('Date_Ferme').Asdatetime = 0) then DTdateferm.Format := (' / / ') else DTdateferm.Datetime := qentete.fieldByName('Date_Ferme').Asdatetime;
sans doute à cause des parenthèses en trop ??
Partager