salam
j'ai un programme qui me fais poussé des cheveux sur les dents
...
pour commencer je vais vous expliqué ce que je veut réalisé .
données :
- j'ai plusieurs machines.
-chaque machine je dois lui faire des maintenance (hebdomadaire, mensuel, ....annuel)
maintenant au lieu de planifier 365 jours manuellement je veut créer un programme qui le fait automatiquement .
pour ne pas brulé les étapes j'ai commencer a faire la panification des taches hebdomadaire.
voila le bous de code
cella fonctionne mais la planification des taches ce fais au premier jours de la semaine , donc je me retrouve toujours avec un lundi remplie de tache ensuite le reste de la semaine y'a rien a faire , moi ce que je cherche c'est de répartir les tache sur tous les jours de la semaine et la je bloc , j'ai essayer d’incrémenté la date d'une journée a chaque changement de machine mais bon sur la 8 eme machine j'aurai un problème puisque la semaine a seulement 7 jours et il y aurai une semaine ou je ferai pas ça maintenance.
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 procedure TForm1.BitBtn1Click(Sender: TObject); var s :TDateTime; begin executiontache.Open;//la planification des tache (a remplir) tache_poste_detail.Open;//liste des taches par poste en détail s:=Now; tache_poste_detail.first; while not tache_poste_detail.Eof do begin s := DateTimePicker1.Date; if tache_poste_detail.FieldByName('Fréquance').AsString = 'Hebdomadaire' then begin while s < DateTimePicker1.Date+365 do begin executiontache.insert; executiontache.FieldByName('Nposte_tache').AsInteger:=tache_poste_detail.FieldByName('Nposte_tache').AsInteger;//poster le nom de la machine executiontache.FieldByName('dateplan').AsDateTime:=s;//poster la date de planification de la tache executiontache.post; s := s + 7; end; end; tache_poste_detail.Next; end; end;
voila j’espère que je trouverai une solution pour ce problème , je vous remercie d'avance.
Partager