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 36 37 38 39 40 41 42 43 44 45 46 47 48 49
|
procedure TForm1.Calcul;
var
nbreInitial,nbreAnnee,nbreMois,nbreJours,
nbreHeures,nbreMinutes,NbreSecondes, reste : Int64;
begin
{les fonctions mod et div ne sont utilisables que dans la gamme des
valeurs integer !! }
try
RichEdit1.Clear;
{Transforme un nombre entier donné en :
Année, Mois, Jour, Heure, Minutes et secondes}
nbreInitial := StrToInt64(L_EdNbresSecondes.Text);
nbreAnnee := nbreInitial div (365*(24*3600));
reste := nbreInitial mod (365*(24*3600));
nbreMois := reste div (3600*24*30);
reste := reste mod (3600*24*30);
nbreJours := reste div (3600*24);
reste := reste mod (3600*24);
nbreHeures := reste div 3600;
reste := reste mod 3600;
nbreMinutes := reste div 60;
nbreSecondes := reste mod 60;
with RichEdit1.Lines do
begin
Add('Nombres d''années :' + IntToStr(nbreAnnee));
Add('Nombre de mois :' + IntToStr(nbreMois));
Add('Nombre de jours :' + IntToStr(nbreJours));
Add('Nombre d''heures :' + IntToStr(nbreHeures));
Add('Nombre de minutes : ' + IntToStr(nbreMinutes));
Add('Nombre de secondes :' + IntToStr(nbreSecondes));
end;
except
MessageDlg('Dépassement de la limite des integer ! ', mtWarning, [mbOK], 0);
end;
end; |
Partager