[Delphi] Odejmowanie daty i czasu. pomocy...

0

Cześć .

Mam taki problem: Po uruchomieniu programu zapisuję do *.ini aktualną datę i czas - czyli pierwsze uruchomienie programu. Teraz jak zrobić by przy kolejnym uruchamianiu tego programu na Labelu pokazywała się liczba sekund jakie minęły od tamtej daty?
Dzięki [cya] <font color="darkblue"></span> Pomóżcie proszę, bo mi na tym bardzo.... [stuk]

0

var
OldDate, Date: TDateTime;
wYear, wYear2, wMonth, wMonth2, wDay, wDay2 : Word;
fYear, fMonth, fDay : Word;
begin
OldDate := Now; // pobieranie dziesiejszej daty
DecodeDate(OldDate, wYear, wMonth, wDay);

Date := StrToDate('01-10-10');
DecodeDate(Date, wYear2, wMonth2, wDay2);

fYear := wYear - wYear2;
fMonth := wMonth - wMonth2;
fDay := wDay - wDay2;
ShowMessage(Format('Różnica dni: %d, miesięcy: %d, lat: %d',
[fDay, fMonth, fYear]));

tyle że nie uwzględnia cełgoś takiego jak lata przestępne i różne dni miesięcy, więc problem bedzie to przełożyć na sekundy...

0

[Ja bym odejmowal na poziomie TDate.

var
StartDate, Roznica : TDateTime;
begin
StartDate:=StrTodate(DataOdczytanaZ_INI_w_ShortDateformat);
Roznica:=Now-StartDate;

itd...

--
Pawel {Delphi 6 Personal}

Po pierwsze: naciśnij F1

0

hmm... niech się ktoś zlituje i podeśle rozwiązanie... [love]

0

Do uses dodaj DateUtils
Label1.Caption := IntToStr(SecondsBetween(Now, StaraData));

StaraData to odczytana z pliku INI (jak wiesz jak zapisać to odczytać chyba też :) )

--
Jest jeszcze jeden błąd ... :)
--------Oficjalny kanał----------
Service for programmers w IRC:
Kanał: #4programmers
Serwer: warszawa.ircnet.pl
Sieć: POLNet
Port: 6667

0

wątpię zeby byl moj stary post ale bylo cos tam identycznego :) a ja podalem w pelni dzialajacy kod (albo to bylo zwiazane z czasem....)

1 użytkowników online, w tym zalogowanych: 0, gości: 1