Masquer le contenu de datetimepicker

Résolu
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011 - 1 juin 2009 à 01:29
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011 - 12 juin 2009 à 11:52
salut a tous, j'ai dans ma form un chekbox et 2 datetimepicker,un pour la date et l'autre pour l'heure et j'aimerai savoir comment ne pas afficher le contenu des datetimepicker si je ne coche pas checkbox ? et question bette:est ce que je peut afficher et la date et l'heure dans le même datetimepicker?!merci d'avance.

17 réponses

cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
3 juin 2009 à 12:32
Salut,

Pour la première question, bin suffit de mettre un peu de code dans le onclick de ta checkbox. Quelque chose comme ça :

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  DateTimePicker1.Visible:= CheckBox1.Checked;
  DateTimePicker2.Visible:= CheckBox1.Checked;
end;
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
4 juin 2009 à 09:47
bonjour,

plus élégant...

procedure TForm1.CheckBox1Click(Sender: TObject);
begin
  DateTimePicker1.Enabled:= CheckBox1.Checked;
  DateTimePicker2.Enabled:= CheckBox1.Checked;
end;

cantador
3
cs_rt15 Messages postés 3874 Date d'inscription mardi 8 mars 2005 Statut Modérateur Dernière intervention 7 novembre 2014 13
7 juin 2009 à 08:50
C'est que EtatDateTime est une procédure classique, pas une méthode de la form.
Elle ne peut donc pas connaître les composants de celle-ci.

Les méthodes de la classe TForm2 sont préfixées par : "TForm2 .". Elles prennent en plus un argument caché : Self. Self correspond à l'instance de ta TForm2.

Pour ajouter une méthode, il faut ajouter sa déclaration dans TForm2 :

type
  TForm2 = class(TForm)
  private
    procedure EtatDateTime;
  ...
  end;

Et l'implémenter :

procedure TForm2.EtatDateTime;
begin
  //...
end;
3
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
12 juin 2009 à 09:15
Tout dépend du choix de la base..
Si c'est FireBird (que je connais bien), tu peux utiliser l'ODBC
(il faut le driver) mais le mieux est de choisir des composants d'accès direct.
Tu peux aussi utiliser une base access avec les composants ADO.

Tout dépend aussi de l'importance de ton projet, de la taille de la base et de son mode d'utilisation (local ou réseau)

A lire les infos sur le net à propos de toutes ces bases..

cantador
3

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011
4 juin 2009 à 12:56
salut;
merci beaucoups, ca marche du tonner.
0
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011
4 juin 2009 à 17:39
resalut,
voila j'ai encore quelques petits problemes; ne prob1: il faut que je coche dabord mon checkbox dont le champ est 'ARRET_EQUI' ensuite je le décoche pour qu'il s'affiche 'false' dans ma table dbase4. prob2: la date et l'heure s'affichent quand meme dans ma table meme si je ne coche pas checkbox.
prob3: dans mon datetimepicker5 j'affiche l'heure, je lui est mis sa propriete kind:
dtktime mais encore un fois dans ma table son format et comme celui de la date.
alors voici mon code aidez moi svp!!!

procedure TForm2.CheckBox1Click(Sender: TObject);
begin
if checkbox1.checked =false then
table1.FieldByName('ARRET_EQUI').asboolean:=false
else
table1.FieldByName('ARRET_EQUI').asboolean:=true ;
DateTimePicker2.Enabled:= CheckBox1.Checked;
DateTimePicker5.Enabled:= CheckBox1.Checked;
end;

procedure TForm2.FormCreate(Sender: TObject);
begin
DateTimePicker2.DateTime:= Now;
DateTimePicker5.Time:= Now;
end;

procedure TForm2.Table1AfterInsert(DataSet: TDataSet);
begin
Table1.FieldByName('D_ARR_EQUI').AsDatetime:= DateTimePicker2.Date;
Table1.FieldByName('H_ARR_EQUI').AsdateTIME:= DateTimePicker5.Time;
end;
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
4 juin 2009 à 20:48
tu peux créer une petite procédure :

procedure EtatDateTime;
begin
DateTimePicker2.Enabled:= CheckBox1.Checked; DateTimePicker5.Enabled:= CheckBox1.Checked;
end;

que tu appelles ensuite dans :
procedure TForm2.FormCreate(Sender: TObject);
begin
DateTimePicker2.DateTime:= Now;
DateTimePicker5.Time:= Now;
EtatDateTime; 
end;

et
procedure TForm2.CheckBox1Click(Sender: TObject);
begin
if checkbox1.checked =false then
table1.FieldByName('ARRET_EQUI').asboolean:=false
else
table1.FieldByName('ARRET_EQUI').asboolean:=true ;
EtatDateTime;
end;

cantador
0
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011
7 juin 2009 à 03:14
salut cantador,
merci pour la procedure etatdatetime, mais quand j'éxecute le progamme, il y a une erreur dans cette procedure ''identificateur non déclaré:datetimepicker2 et 3''!! je suppose que je dois les déclarer dans la procedure, mais je ne sais pas comment?
(pardon pour l'écriture, je ne sais pas comment agrandir la fenetre de mon message???
a+
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
7 juin 2009 à 22:13
merci rt15 pour le complément...

cantador
0
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011
7 juin 2009 à 22:59
merci a vous deux, mais je ne sais vraiment pas pourquoi le format de l'heure s'affiche comme celui de la date dans ma table?!!! pourtant j'ai bi1 mis kind dtktime et format hh:mm.
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
8 juin 2009 à 16:50
mais je ne sais vraiment pas pourquoi le format de l'heure s'affiche comme celui de la date dans ma table?!!!



Ton champ doit être déclaré en TIME dans la table

cantador
0
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011
9 juin 2009 à 01:26
oui mais j'utilise une table dbase4 et il n'y a pas TIME alors j'ai mis caractere. please help me!!!!
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
9 juin 2009 à 10:06
dbase4 ?
houla..beaucoup trop vieux
faut prendre une base plus récente sinon tu vas t'enliser..

cantador
0
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011
11 juin 2009 à 00:15
ok cantador, merci pour le conseil mais j'ai deja fais 3 tables géantes et plein de formes alors si je refais les tables avec paradox sans que je refasse les formes ca va peut etre créer des problemes!! ou pas??? aidez moi svp.merci.
0
cs_cantador Messages postés 4720 Date d'inscription dimanche 26 février 2006 Statut Modérateur Dernière intervention 31 juillet 2021 13
11 juin 2009 à 17:14
C'est un choix à faire...
travailler avec des vieux outils et galérer ou
prendre le taureau par les cornes !

pour les bdd, tu as le choix Firebird, MySQL, SQLServer etc etc..(il y en a beaucoup de free..)
pas paradox, car c'est troquer son cheval borgne contre un aveugle..

cantador
0
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011
12 juin 2009 à 01:21
ok, mais est ce que si je change mes tables sans changer mes formes il n y aurait pas de problemes? (je n'ai qu'a les enregistrer dans mon projet)?
0
cs_mimichette Messages postés 39 Date d'inscription dimanche 17 mai 2009 Statut Membre Dernière intervention 25 mai 2011
12 juin 2009 à 11:52
ok, merci cantador.
0
Rejoignez-nous