كود :
procedure TForm1.Calcul1Click(Sender: TObject);
var t1,t2,
[color=Blue] t01,t02[/color] : tdatetime;
i,j : integer;
AYear,AMonth,ADay : word;
[COLOR=Blue] function TheTime(AYear,AMonth,ADay:word ;heure:string):tdatetime;
var Hour,Min,Sec,MSec : Word;
begin
DecodeTime(strtotime(heure),Hour,Min,Sec,MSec);
Result := EncodeDateTime(AYear,AMonth,ADay,Hour,Min,Sec,MSec);
end;[/COLOR]
begin
i:=DaysBetween(table3.fieldByName('DT_DEP1').asdateTime,table3.fieldByName('DT_ARV1').asdatetime);
DecodeDate(table3.fieldByName('DT_DEP1').asdateTime,
AYear,AMonth,Aday);
t1:=EncodeDateTime(AYear,AMonth,ADay,
14,00,00,00);
[color=Blue]t01 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_DEP1').AsString);[/color]
DecodeDate(table3.fieldByName('DT_ARV1').asdatetime,
AYear,AMonth,Aday);
t2:=EncodeDateTime(AYear,AMonth,ADay,
11,01,00,00);
[color=Blue]t02 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_ARV1').AsString);[/color]
j:=0;
if ([color=Blue]t01[/color]<t1)then
j:=j+1;
if [color=Blue]t02[/color]>=t2 then
j:=j+1;
table3.Edit;
table3.FieldByName('Nb_RPJ1').asInteger:=(i-1+j);
table3.Post;
DecodeDate(table3.fieldByName('DT_DEP1').asdateTime,AYear,AMonth,Aday);
t1:=EncodeDateTime(AYear,AMonth,ADay,
21,00,00,00);
[color=Blue]t01 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_DEP1').AsString);[/color]
DecodeDate(table3.fieldByName('DT_ARV1').asdatetime,AYear,AMonth,Aday);
t2:=EncodeDateTime(AYear,AMonth,ADay,
18,00,00,00);
[color=Blue]t02 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_ARV1').AsString);[/color]
j:=0;
if ([color=Blue]t01[/color]<t1)then
j:=j+1;
if [color=Blue]t02[/color]>=t2 then
j:=j+1;
Table3.edit;
table3.FieldByName('Nb_RPM1').asInteger:=(i-1+j);
table3.post;
DecodeDate(table3.fieldByName('DT_DEP1').asdateTime,AYear,AMonth,Aday);
t1:=EncodeDateTime(AYear,AMonth,ADay,
05,00,00,00);
[color=Blue]t01 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_DEP1').AsString);[/color]
DecodeDate(table3.fieldByName('DT_ARV1').asdatetime,AYear,AMonth,Aday);
t2:=EncodeDateTime(AYear,AMonth,ADay,
00,00,00,00);
[color=Blue]t02 := TheTime(AYear,AMonth,Aday,table3.fieldByName('HR_ARV1').AsString);[/color]
j:=0;
if ([color=Blue]t01[/color]<t1)then
j:=j+1;
if ([color=Blue]t02[/color]>t2) then
j:=j+1;
table3.edit;
table3.FieldByName('N_Che1').asInteger:=(i-1+j);
table3.FieldByName('N_RP1').AsInteger:=Table3.fieldbyname('Nb_RPJ1').AsInteger + table3.fieldbyname('Nb_RPM1').AsInteger;
table3.Post;
end;