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
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;
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.
voila j’espère que je trouverai une solution pour ce problème , je vous remercie d'avance.