Bonjour !!
J'ai programmé un petit programme de test entre deux dates. Le but est de tester la date d'un enregistrement avec la date actuelle
comme dans mon exemple table vehicule qui comporte les champs :
- code
matricule
date assurance
date controle technique
date permis de circule
J'ai testé la date assurance avec la date actuelle en créant une alerte avant 30 jours de la date d'expiration :
Je demande des conseils ou remarques pour améliorer mon programme qui pour l'instant marche.
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 procedure TForm1.Button1Click(Sender: TObject); VAR myDate, Datev: TDateTime; begin with ADOTable1 DO BEGIN ADOTable1.First; while not EOF do BEGIN myDate:=IncDay(now,-30); DateV:=ADOTable1.fieldbyname('DATEA').asDateTime; // date assurance IF DateOf(myDate)>= DateOf(DateV) THEN begin AlertMsgBox('ALERTE DATE !','LA DATE ASSURANCE DU VEHICULE ''#13#10'APPROCHE A EXPIRATION.',ICON_WARNING1,true,2000,40); // message d'alerte ADOTable1.Edit; ADOTable1.fieldbyname('ETAT').AsBoolean:=TRUE; // cette valeur me permet de changer la couleur du champ du Dbgrid en rouge par un autre programme ADOTable1.fieldbyname('STATUT').AsString:='ALERTE'; ADOTable1.Post; END; ADOTable1.Next; END;
Mon problème est que j'ai plusieurs dates à tester et à mettre en alerte comme la date assurance , la date du contrôle technique et la date permis de circuler qui se déclenche automatiquement sans cliquer sur bouton.
Je demande conseil ???
Est-ce que je crée des procédures pour chaque date ?? comment je fais ??
Ou autre suggestion...
Merci !
Partager