Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

COMPOSANT BOUTON TYPE VA-ET-VIENT POUR DATE ET HEURE AVEC FORMAT ET COULEUR


Information sur la source

Description

Composant  TDateHeure Version 2007 ® Guy Bidi
Utilisable jusqu'à  la version 2007, issu d'un
Bouton TSpeedButton son fonctionnement consiste
en un bouton type va-et-vient. Celui-ci affiche
alternativement au click gauche de la souris :

-  la date selon un format au choix:
   type: 08/01/07  ou type: Lundi 8 Janvier 2007 et
-  l''heure du système type 15:12:40.

Au click gauche de la souris avec ALT ou CTRL la
couleur de la police de caractère s''incrémente
d''une unité.
Au click droit de la souris le format de la date'+#13+
bascule entre les types Normal et Littéral.

Auteur : Guy Bidi - Email : paounet@free.fr';
 

Source

  • { Composant fait par Guy Bidi - Juin 2007 - Freeware
  • Pour les questions et autres écrire à paounet@free.fr
  • TDateHeure est un bouton va-et-vient entre la Date selon un
  • format 12/01/07 ou Vendredi 12 Janvier 2007 et l'heure du
  • système 13:17:45 }
  • unit DateHeure;
  • interface
  • uses SysUtils,Classes,Controls,StdCtrls,ExtCtrls,Buttons,Graphics,
  • DateUtils,Dialogs;
  • Const Mess=
  • 'Le composant TDateHeure Version 2007 est la'+#13+
  • 'propriété de ® Guy Bidi . Utilisable jusqu''à la'+#13+
  • 'version 2007, issu d''un Bouton TSpeedButton son'+#13+
  • 'fonctionnement consiste en un bouton type'+#13+
  • 'va-et-vient. Celui-ci affiche alternativement'+#13+
  • 'au click gauche de la souris :'+#13+#13+
  • '- la date selon un format au choix:'+#13+
  • ' type: 08/01/07 ou type: Lundi 8 Janvier 2007 et'+#13+
  • '- l''heure du système type 15:12:40.'+#13+#13+
  • 'Au click gauche de la souris avec ALT ou CTRL la'+#13+
  • 'couleur de la police de caractère s''incrémente'+#13+
  • 'd''une unité.'+#13+#13+
  • 'Au click droit de la souris le format de la date'+#13+
  • 'bascule entre les types Normal et Littéral.'+#13+#13+
  • 'Auteur : Guy Bidi - Email : paounet@free.fr';
  • type
  • TDateForme=(Normal,Litteral); // Propriété DateForme rajoutée
  • TDateAbout=String; // Propriété About rajoutée
  • TDateHeure = class(TSpeedButton) // Définition du Button DateHeure
  • private { Déclarations privées }
  • // Intégration d'un timer et d'un bouton TSpeedButton
  • Timer:TTimer;FDateForme:TDateForme;FDateAbout:TDateAbout;
  • // Déclaration de la procédure du choix de DateFormat
  • Procedure SetDateForme(DateForme:TDateForme);
  • protected { Déclarations protégées }
  • Procedure Affiche(Sender:TObject); // Lorsque Click sur Button
  • Procedure Temps(Sender:TObject); // Lorsque le Timer entre en fonction
  • // Lorsque la souris Clique sur le Button droit ou gauche
  • Procedure Change(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
  • public { Déclarations publiques }
  • Constructor Create (Aowner:Tcomponent);Override;
  • destructor Destroy;override;
  • published { Déclarations publiées }
  • property Name;
  • Property Visible;
  • Property Width;
  • Property Height;
  • Property Color;
  • Property Caption;
  • Property Transparent;
  • Property Hint;
  • Property Font;
  • Property OnMouseUp;
  • // Propriété ABout rajoutée en lecture seule
  • Property About:TDateAbout read FDateAbout;
  • // Propriété DateForme rajoutée en Lecture et Écriture
  • Property DateForme:TDateForme read FDateForme write SetDateForme;
  • end;
  • procedure Register;
  • implementation
  • Var Flag:Boolean;
  • Function Jour(Dat:TDateTime):string; // Extrait la Date littérale
  • begin
  • Result:=LongDayNames[DayOfWeek(Dat)]+' '+
  • Copy(DateToStr(Now),1,2)+' '+LongMonthNames[DayOfWeek(Dat)]+
  • ' '+Copy(DateToStr(Now),Length(DateToStr(Now))-3,4);
  • End;
  • // Construction du Bouton TDateHeure, du Timer et des évenements
  • constructor TDateHeure.Create(Aowner:TComponent);
  • begin
  • inherited Create(Aowner);
  • Height:=22;Width:=85;With Font Do Begin Color:=clMaroon;
  • Name:='Comic Sans MS';Size:=9;Style:=[fsBold];End;
  • Timer:=TTimer.Create(Self);With Timer Do Begin Enabled:=False;
  • Interval:=1000;OnTimer:=Temps;End;Flag:=False;
  • Caption:=DateTostr(Date);DateForme:=Normal;ShowHint:=True;
  • Hint:='Click et Click+Ctrl';FDateAbout:=Mess;
  • OnClick:=Affiche;OnMouseUp:=Change;
  • end;
  • // Procedure liée à la propriété DateForme {Normal ou Litteral}
  • procedure TDateHeure.SetDateForme(DateForme:TDateForme);
  • begin
  • If DateForme=Normal Then Begin Width:=85;Caption:=DateTostr(Date);End
  • Else Begin Width:=146;Caption:=Jour(Now);End;
  • FDateForme:=DateForme;
  • end;
  • destructor TDateHeure.Destroy; // Destruction des Composants
  • begin
  • Timer.Free;inherited Destroy;
  • end;
  • // Fonction qui renvoie la couleur incrémentée de 1
  • // de la police de caractères du bouton
  • Function Trouve(Couleur:Tcolor):TColor;
  • Const Coul:Array[0..16] Of TColor=(ClBlack,ClMaroon,ClGreen,ClOlive,
  • ClNavy,ClPurple,ClTeal,ClGray,ClSilver,ClRed,ClLIme,ClYellow,
  • ClBlue,ClFuchsia,clAqua,ClWhite,clWindowText);
  • Var i,j:Integer;
  • Begin
  • j:=0;for i:=0 to 16 Do if Couleur=Coul[i] then j:=i+1;
  • If j=17 Then j:=0;Trouve:=Coul[j];
  • End;
  • // Changement de l'aspect du contenu du bouton selon la propriété
  • // DateForme choisie - Click Droit et gauche avec Ctrl ou Alt
  • Procedure TDateHeure.Change(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
  • Begin
  • if Button=mbRight then Begin If DateForme=Normal Then
  • DateForme:=Litteral Else DateForme:=Normal;
  • SetDateForme(DateForme);End
  • Else if (Button=mbLeft) And ((Shift=[ssCtrl]) Or
  • (SHift=[ssAlt])) Then Font.Color:=Trouve(Font.Color);
  • End;
  • // Click gauche sur le Button
  • Procedure TDateHeure.Affiche(Sender:TObject);
  • Begin
  • if Flag then Begin If DateForme=Normal Then Begin Width:=85;
  • Caption:=DateTostr(Date);End Else Begin Width:=146;
  • Caption:=Jour(Now);End;Timer.Enabled:=False;End
  • Else Begin Timer.Enabled:=True;Width:=85;
  • Caption:=TimeTostr(Now);End;Flag:=Not(Flag);
  • End;
  • Procedure TDateHeure.Temps(Sender:TObject); // Timer affcihe l'heure
  • begin
  • Caption:=TimeTostr(Now);
  • end;
  • procedure Register; // Enregistrement du composant TDateHeure
  • begin
  • RegisterComponents('Guy',[TDateHeure]);
  • end;
  • end.
{ Composant fait par Guy Bidi - Juin 2007 - Freeware
  Pour les questions et autres écrire à paounet@free.fr
  TDateHeure est un bouton va-et-vient entre la Date selon un
  format 12/01/07 ou Vendredi 12 Janvier 2007 et l'heure du
  système 13:17:45 }
unit DateHeure;
interface
uses SysUtils,Classes,Controls,StdCtrls,ExtCtrls,Buttons,Graphics,
     DateUtils,Dialogs;
Const Mess=
'Le composant  TDateHeure Version 2007  est  la'+#13+
'propriété de ® Guy Bidi . Utilisable jusqu''à  la'+#13+
'version 2007, issu d''un Bouton TSpeedButton son'+#13+
'fonctionnement consiste en un bouton type'+#13+
'va-et-vient. Celui-ci affiche alternativement'+#13+
'au click gauche de la souris :'+#13+#13+
'-  la date selon un format au choix:'+#13+
'     type: 08/01/07  ou type: Lundi 8 Janvier 2007 et'+#13+
'-  l''heure du système type 15:12:40.'+#13+#13+
'Au click gauche de la souris avec ALT ou CTRL la'+#13+
'couleur de la police de caractère s''incrémente'+#13+
'd''une unité.'+#13+#13+
'Au click droit de la souris le format de la date'+#13+
'bascule entre les types Normal et Littéral.'+#13+#13+
'Auteur : Guy Bidi - Email : paounet@free.fr';
type
  TDateForme=(Normal,Litteral); // Propriété DateForme rajoutée
  TDateAbout=String; // Propriété About rajoutée
  TDateHeure = class(TSpeedButton) // Définition du Button DateHeure
  private { Déclarations privées }
    // Intégration d'un timer et d'un bouton TSpeedButton
    Timer:TTimer;FDateForme:TDateForme;FDateAbout:TDateAbout;
    // Déclaration de la procédure du choix de DateFormat
    Procedure SetDateForme(DateForme:TDateForme);
  protected  { Déclarations protégées }
    Procedure Affiche(Sender:TObject); // Lorsque Click sur Button
    Procedure Temps(Sender:TObject); // Lorsque le Timer entre en fonction
    //  Lorsque la souris Clique sur le Button droit ou gauche
    Procedure Change(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
  public { Déclarations publiques }
    Constructor Create (Aowner:Tcomponent);Override;
    destructor Destroy;override;
  published  { Déclarations publiées }
    property Name;
    Property Visible;
    Property Width;
    Property Height;
    Property Color;
    Property Caption;
    Property Transparent;
    Property Hint;
    Property Font;
    Property OnMouseUp;
    // Propriété ABout rajoutée en lecture seule
    Property About:TDateAbout read FDateAbout;
    // Propriété DateForme rajoutée en Lecture et Écriture
    Property DateForme:TDateForme read FDateForme write SetDateForme;
  end;
procedure Register;
implementation
Var Flag:Boolean;
Function Jour(Dat:TDateTime):string; // Extrait la Date littérale
begin
  Result:=LongDayNames[DayOfWeek(Dat)]+' '+
    Copy(DateToStr(Now),1,2)+' '+LongMonthNames[DayOfWeek(Dat)]+
    ' '+Copy(DateToStr(Now),Length(DateToStr(Now))-3,4);
End;
// Construction du Bouton TDateHeure, du Timer et des évenements
constructor TDateHeure.Create(Aowner:TComponent);
begin
  inherited Create(Aowner);
  Height:=22;Width:=85;With Font Do Begin Color:=clMaroon;
    Name:='Comic Sans MS';Size:=9;Style:=[fsBold];End;
  Timer:=TTimer.Create(Self);With Timer Do Begin Enabled:=False;
    Interval:=1000;OnTimer:=Temps;End;Flag:=False;
  Caption:=DateTostr(Date);DateForme:=Normal;ShowHint:=True;
  Hint:='Click et Click+Ctrl';FDateAbout:=Mess;
  OnClick:=Affiche;OnMouseUp:=Change;
end;
// Procedure liée à la propriété DateForme {Normal ou Litteral}
procedure TDateHeure.SetDateForme(DateForme:TDateForme);
begin
  If DateForme=Normal Then Begin Width:=85;Caption:=DateTostr(Date);End
  Else Begin Width:=146;Caption:=Jour(Now);End;
  FDateForme:=DateForme;
end;
destructor TDateHeure.Destroy; // Destruction des Composants
begin
  Timer.Free;inherited Destroy;
end;
// Fonction qui renvoie la couleur incrémentée de 1
// de la police de caractères du bouton
Function Trouve(Couleur:Tcolor):TColor;
Const Coul:Array[0..16] Of TColor=(ClBlack,ClMaroon,ClGreen,ClOlive,
      ClNavy,ClPurple,ClTeal,ClGray,ClSilver,ClRed,ClLIme,ClYellow,
      ClBlue,ClFuchsia,clAqua,ClWhite,clWindowText);
Var i,j:Integer;
Begin
  j:=0;for i:=0 to 16 Do if Couleur=Coul[i] then j:=i+1;
  If j=17 Then j:=0;Trouve:=Coul[j];
End;
// Changement de l'aspect du contenu du bouton selon la propriété
// DateForme choisie - Click Droit et gauche avec Ctrl ou Alt
Procedure TDateHeure.Change(Sender:TObject;Button:TMouseButton;Shift:TShiftState;X,Y:Integer);
Begin
  if Button=mbRight then Begin If DateForme=Normal Then
    DateForme:=Litteral Else DateForme:=Normal;
    SetDateForme(DateForme);End 
  Else if (Button=mbLeft) And ((Shift=[ssCtrl]) Or
    (SHift=[ssAlt])) Then Font.Color:=Trouve(Font.Color);
End;
// Click gauche sur le Button
Procedure TDateHeure.Affiche(Sender:TObject);
Begin
  if Flag then Begin If DateForme=Normal Then Begin Width:=85;
    Caption:=DateTostr(Date);End Else Begin Width:=146;
      Caption:=Jour(Now);End;Timer.Enabled:=False;End
  Else Begin Timer.Enabled:=True;Width:=85;
    Caption:=TimeTostr(Now);End;Flag:=Not(Flag);
End;
Procedure TDateHeure.Temps(Sender:TObject); // Timer affcihe l'heure
begin
  Caption:=TimeTostr(Now);
end;
procedure Register;  // Enregistrement du composant TDateHeure
begin
  RegisterComponents('Guy',[TDateHeure]);
end;
end.

Conclusion

Valide sur delphi 2007 for win32.... Adaptation facile pour d'autres
composants...
 

Fichier Zip

Pour les "Membres Club", vous pouvez télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !
  • Dateheure.dcrTélécharger ce fichier [Réservé aux membres club]316 octets
  • Dateheure.dcuTélécharger ce fichier [Réservé aux membres club]10 097 octets
  • Dateheure.dprTélécharger ce fichier [Réservé aux membres club]Voir ce fichier262 octets
  • Dateheure.dprojTélécharger ce fichier [Réservé aux membres club]3 744 octets
  • Dateheure.dproj.localTélécharger ce fichier [Réservé aux membres club]548 octets
  • Dateheure.identcacheTélécharger ce fichier [Réservé aux membres club]106 octets
  • Dateheure.pasTélécharger ce fichier [Réservé aux membres club]Voir ce fichier5 370 octets

Télécharger le zip

Commentaires et avis

Aucun commentaire pour le moment.

Ajouter un commentaire

Discussions en rapport avec ce code source dans le forum

idDayTime [ par lugo ] LugoBonjour à tous,Ca fait bien longtemps que je ne me suis pas connecté au forum, et ça commencait à me manquer.Je suis là pour, comme beaucoup d'ent Date et heure...; [ par XgaletteX ]  Bonjour,  Je dois sauvegarder des fichiers, en précisant dans leur nom la date et l'heure de création, le pb c'est que lorsq Date et heure...; [ par XgaletteX ]  Bonjour,  Je dois sauvegarder des fichiers, en précisant dans leur nom la date et l'heure de création, le pb c'est que lorsq problème d'affichage de date [ par pierrecoulon ] bonjour,je développe sous delphi 7.je travaille avec une base de donnée access. en employant un DBGrill je ne parvient pas à afficher l'heure uniqueme delphi&access [ par tchen ] Salut, j'ai une merde.. J'ai dans un dblookupcombobox qui contient la liste de medecin et un composant DTpicker pour la date, le but c'est d'afficher DATE SYSTEM [ par spacemiomio ] salut a tous petite question a 2 balle :est t'il possible de recuperer l'heure systeme d 'un pc sur un reseaux en connaisant son adresse genre : //mon afficher date et l'heure [ par aymen81 ] bonjour à tous ,j'ai realisé une interface en delphi7 et j'aime bien afficher la date et l'heure dans un petit coin de cette interface ,quel Composant date [ par cavalier2400 ] Je cherche un composant (date) jj/mm/aaSi jj est >31 alors jj s'efface, si jj = 4 alors jj sera 04 ...jusqu'à neuf  et il ajoute automatiquement le date et heure d'un fichier [ par JCLK ] salut à tousJe voudrais savoir comment récupérer la date et l'heure de modification d'un fichier.merci beaucoup Gestion l'heure et date en client et serverur [ par scorpion103 ] Salut!!J?aimerais savoir comment travailler avec NMTime NMDayTime pour connaître l?heure et la date sur mon serveur et pour synchronisé (heure, da


Nos sponsors

Sondage...

CalendriCode

Octobre 2008
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Téléchargements

Logiciels à télécharger sur le même thème :



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel BAÏSE, Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,296 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.