Einzelnen Beitrag anzeigen

marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#15

Re: Differenz 2erDatum in Tmemo

  Alt 3. Jun 2006, 10: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
  Mit Zitat antworten Zitat