Registriert seit: 6. Apr 2005
10.109 Beiträge
|
Re: Differenz 2erDatum in Tmemo
3. Jun 2006, 11:09
Hallo Daniel,
ich würde es so oder ähnlich machen - nur den Rechenteil, nicht die Ablaufsteuerung:
Delphi-Quellcode:
procedure TDemoForm.???
var
dtAlarm: TDateTime;
begin
dtAlarm := StrToTime(edhours.Text + ':' + edmin.Text + ':' + edseconds.Text) + StrToDate(cbdatum.Text);
if Now < dtAlarm then
ShowRemainingTime(dtAlarm);
end;
procedure TDemoForm.ShowRemainingTime(dtAlarm: TDateTime);
var
s: String;
dtRemaining: TDateTime;
hours, mins, secs, msecs: Word;
begin
// DecodeTime(Time, aStd, aMin, aSec, aMsec);
// Uhrzeit_Ende := StrToDate(WeckDate) + StrToTime(WeckTime);
// Wecktime := Timetostr(Uhrzeit_Ende);
// Uhrzeit_Verbleib := Now - Uhrzeit_ende;
dtRemaining := dtAlarm - Now;
DecodeTime(dtRemaining, hours, mins, secs, msecs);
hours := hours + 24 * Trunc(dtRemaining);
meHours.Text := IntToStr(hours);
meMin.Text := IntToStr(mins);
meSeconds.Text := IntTostr(secs);
{
Buffer := timetostr(Uhrzeit_Verbleib);
if Uhrzeit_Ende > Time then
begin
Std := copy(Buffer, 1,2);
Min := copy(Buffer, 4,2);
Sec := copy(Buffer, 7,2);
bsec := strtoint(Sec) +1;
mehours.text := std;
memin.Text := min;
meseconds.text := inttostr(bsec);
end else
begin
Std := copy(Buffer, 1,2);
Min := copy(Buffer, 4,2);
bstd := 23-strtoint(std);
bmin := 59-strtoint(min);
if asec > 0
then bsec := 60-asec
else bsec := 0;
mehours.text := inttostr(bstd);
memin.Text := inttostr(bmin);
meseconds.text := inttostr(bsec);
end;
}
end;
Freundliche Grüße vom marabu
|
|
Zitat
|