Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Multimedia (https://www.delphipraxis.net/16-multimedia/)
-   -   Delphi Differenz 2erDatum in Tmemo (https://www.delphipraxis.net/70115-differenz-2erdatum-tmemo.html)

danku 25. Mai 2006 11:32


Differenz 2erDatum in Tmemo
 
Delphi-Quellcode:
var zeit1,zeit2:TTime;
Pufferhours,Pufferminutes,Pufferseconds:integer;

...
zeit1:=(Now);
 zeit2:=strtotime(wecktime);

Pufferhours:= HoursBetween(zeit1,Zeit2);
Pufferminutes:= MinutesBetween(zeit1,Zeit2);
Pufferseconds:= SecondsBetween(zeit1,Zeit2);

//erst mal als idee um die zeitdifferenz zu sehen
label7.Caption:=inttostr(Pufferhours)+':'+
                inttostr(Pufferminutes)+':'+
                inttostr(Pufferseconds);

//irgendwie funzt das noch nicht
der hintergrund ist das ich die differenz beider daten
in ein 4-stelliges tmemo basteln möchte.
also wie ein countdown

Zitat:

|------||------| |------||------|
|###||###|: |###||###|
|------||------| |------||------|
Edit: hab gerad das gefunden:
http://www.delphipraxis.net/internal...ifferenz+datum

und wie mach ich das mit dem tmemo?

HuxXx 25. Mai 2006 11:42

Re: Differenz 2erDatum in Tmemo
 
Zitat:

Zitat von danku
Edit: hab gerad das gefunden:
http://www.delphipraxis.net/internal...ifferenz+datum

und wie mach ich das mit dem tmemo?

Was genau willst du in die Memo machen???
Bei dem Topic gibt es ja viele Funktionen...

Wenn du was in eine Memo einfügen willst, dann wandle es in einen String um
(DateToStr(..)) und dann füg das ein (Bsp: Memo1.lines.Add(DateToStr(variable))

danku 25. Mai 2006 11:46

Re: Differenz 2erDatum in Tmemo
 
naja ich will in dem memo die zeitdifferenz von wecktime und realer time wiedergeben.
wenn z.b. die weckzeit in 5min ist, dann soll der das so in die 4tmemos schreiben:
05:00
04:59... until 00:00

jo habs hier im letzten eintrag gefunden:
http://www.delphipraxis.net/internal...ifferenz+datum

Hawkeye219 25. Mai 2006 12:06

Re: Differenz 2erDatum in Tmemo
 
Hallo danku,

vielleicht hilft dir auch der folgende Code:

Delphi-Quellcode:
procedure Demo;
  var Wecken : TDateTime;
      Restzeit : Real;
      s : string;
begin
  Wecken := Today + StrToTime('17:00');
  Restzeit := Wecken - Now;
  if (Restzeit < 0) then
    s := 'abgelaufen vor %d Tag(en) %s Stunden'
  else
    s := 'noch %d Tag(e) %s Stunden';
  ShowMessage (Format(s, [Trunc(Abs(Restzeit)), TimeToStr(Frac(Restzeit))]));
end;
Gruß Hawkeye

danku 26. Mai 2006 12:30

Re: Differenz 2erDatum in Tmemo
 
das steht in dem timer:
(update)

Delphi-Quellcode:
WeckTime:= edhours.Text + ':' + edmin.Text + ':' + edseconds.Text ;
  WeckDate:= cbdatum.Text;

     }


   //**********Dauer vorgegeben

  if rgeins.Checked then
  if not canvas.TextWidth(edzeit.Text)>1 then
    edzeit.setfocus
    else if canvas.TextWidth(edzeit.text)>1 then
    if cbsignal.Checked=false then begin
     // opendialog1.Execute;
      cbsignal.checked:=true;
      timer.Enabled:=true;
      end
      else timer.Enabled:=true;


  //**********FESTE UHRZEIT


  if rgzwei.Checked then
  if cbsignal.checked=false then begin
    cbsignal.checked:=true;
    end;
     if TimeToStr(Now) =WeckTime then begin
              fileopen:= Label2.caption;
              With MediaPlayer1 do begin
               Filename := opendialog1.filename;
               Open;
               Play;
               timer.Enabled:=false;

               end;
             end;
 
 //************BUFFER IN MEMO
    DecodeTime(Time, aStd, aMin, aSec, aMsec);
    //now := Timetostr(Time);
    Uhrzeit_Ende := strtoTime(Wecktime);
    Wecktime:=Timetostr(Uhrzeit_Ende);
    Uhrzeit_Verbleib := Time - Uhrzeit_ende;
    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;
Das geht fast einwandfrei. Den ersten Part der TRadiogroup muss ich demnächst noch bearbeiten.
mir gehts darum, das die weckzeit mit dem weckdatum übereinstimmt.
mein vorschlag war:

Delphi-Quellcode:
if TimeToStr(Now) =strtodate(WeckTime + WeckDatum) then begin
da gibts aber eine fehlermeldung.

kann es vll. auch an
Delphi-Quellcode:
if Uhrzeit_Ende > Time then...
liegen?

danku 27. Mai 2006 14:47

Re: Differenz 2erDatum in Tmemo
 
hat einer einen vorschlag? :gruebel:

Klaus01 27. Mai 2006 15:05

Re: Differenz 2erDatum in Tmemo
 
Zitat:

Delphi-Quellcode:
if TimeToStr(Now) =strtodate(WeckTime + WeckDatum) then begin
da gibts aber eine fehlermeldung.
das kann auch so nicht funktionieren.

Du willst eine String (TimeToStr) mit einem Datum (TDatTime) vergleichen

Delphi-Quellcode:
if now >= strToDateTime(WeckTime + WeckDatum) then
  begin
  end;
Wobei Du auf das Datumformat in strToDateTime achten mußt.

Aus der Hilfe:
Zitat:

Category

date/time routines

function StrToDateTime(const S: string): TDateTime;

Description

Call StrToDate to parse a string that specifies a date and time value. If S does not contain a valid date, StrToDate raises an EConvertError exception.

The S parameter must use the current locale’s date/time format. In the US, this is commonly MM/DD/YY HH:MM:SS format. Specifying AM or PM as part of the time is optional, as are the seconds. Use 24-hour time (7:45 PM is entered as 19:45, for example) if AM or PM is not specified.

Y2K issue: The conversion of two-digit year values is determined by the TwoDigitYearCenturyWindow variable. For more information, see StrToDate.

Note: The format of the date and time string varies when the values of date/time formatting variables are changed.

Grüße
Klaus

danku 28. Mai 2006 18:34

Re: Differenz 2erDatum in Tmemo
 
Delphi-Quellcode:
if now >= strToDateTime(WeckTime + WeckDatum) then
ist vom ansatz her i.o. aber das now hat trotzdem zu der rechte seite (>=) einen zeitkompalierfehler. *wortneuschöpfung :roll:
fehlermeldung: *ist keine gültige datums und urhzeitangabe*

WeckTime:= edhours.Text + ':' + edmin.Text + ':' + edseconds.Text ;
WeckDate:= cbdatum.Text; //die combobox is stressing ...

marabu 28. Mai 2006 20:36

Re: Differenz 2erDatum in Tmemo
 
Andere Reihenfolge und ein Leerzeichen:

Delphi-Quellcode:
if now >= strToDateTime(WeckDatum + ' ' + WeckTime) then
Grüße vom marabu

danku 31. Mai 2006 10:30

Re: Differenz 2erDatum in Tmemo
 
das passt aber mit dem datum immer noch nicht richtig.
wenn das weckdate (bsp: 06:45:00) ist und die relle zeit 14:15,
dann nimmt der ja anhand
Delphi-Quellcode:
now >= strToDateTime(WeckDatum + ' ' + WeckTime)
automatisch den nächsten tag an und in den tmemo (3 felder in stunden, minuten, sekunden)
wird die differenz geschrieben, aber sobald man eben nicht das datum von morgen sondern bspw. erst in 3tagen auswählt, berechnet der immer nur die differenz zum nächsten tag. :gruebel:

vll. muesste ich WeckDate:= cbdatum.Text; anders definieren.

danku 1. Jun 2006 11:43

Re: Differenz 2erDatum in Tmemo
 
hab das problem weckzeit in abhängigkeit vom weckdatum schon seit tagen versucht zu lösen und probiert.

obwohl ich dem timer zuweise:
Delphi-Quellcode:
WeckTime:= edhours.Text + ':' + edmin.Text + ':' + edseconds.Text ;
WeckDate:= cbdatum.Text;

if TimeToStr(Now) =WeckTime then begin
//now >= strToDateTime(WeckTime + WeckDate) selbst geht auch nicht für mein prob
...
DecodeTime(Time, aStd, aMin, aSec, aMsec);
    //now := Timetostr(Time);
    Uhrzeit_Ende := strtoTime(Wecktime);
    Wecktime:=Timetostr(Uhrzeit_Ende);
    Uhrzeit_Verbleib := Time - Uhrzeit_ende;
    Buffer := timetostr(Uhrzeit_Verbleib);
    if Uhrzeit_Ende > Time then
      begin...
      else
      begin
      ...
wird wenn das weckdate kleiner als die reale zeit ist, immer nur von einem tag ausgegangen.
in klartext:
weckzeit: 06:45:00 //vom user eingestellt über 3 editfelder
weckdate: 02.06.06
dann geben die 3editfelder den countdown für die differenz von 18:1:00 aus. // nur als richtwert.

sobald jetzt aber das weckdate auf 03.06.06 gesetzt wird,
kommt das selbe wie oben also 18:1:00 differenz aus.
kann mir einer helfen?

Hawkeye219 1. Jun 2006 18:50

Re: Differenz 2erDatum in Tmemo
 
Zitat:

Zitat von danku
kann mir einer helfen?

Das habe ich in Beitrag #4 versucht...

Gruß Hawkeye

marabu 1. Jun 2006 19:06

Re: Differenz 2erDatum in Tmemo
 
Hallo.

Du hast einen dicken Fehler in deiner Rechnung:

Delphi-Quellcode:
Uhrzeit_Verbleib := Time - Uhrzeit_ende;
Du rechnest hier mit TDateTime-Werten. Diese Werte geben den Zeitabstand zu einem Referenzdatum in Tagen an. Nur mit den Uhrzeitanteilen -- Time und UhrzeitEnde sind Werte kleiner 1 -- rechnest du effektiv mit einer Uhrzeit am 30. Dez 1899, was gewiss nicht dein Wunsch ist. Um den zeitlichen Abstand zwischen zwei Zeitpunkten zu bestimmen müssen unbedingt beide Zeitpunkte auf das gleiche Referenzdatum normiert sein.

Du darfst also nicht Time (0.75 = 18 Uhr), sondern musst Now (38869.75 = heute 18 Uhr) als Minuend verwenden. Aus gleichem Grund musst du beim Subtrahend (UhrzeitEnde) mit der Kombination von WeckDatum und WeckZeit rechnen (UhrzeitEnde := StrToDate(WeckDatum) + StrToTime(WeckTime) // nur zur Verdeutlichung). Bei der Differenz darfst du dann allerdings auch Werte größer als 1 erwarten, die dann einen Zeitraum angeben. Der Wert vor dem Komma repräsentiert die Tage, der Wert nach dem Komma den Bruchteil eines Tages. Bei der Darstellung von Zeiträumen Größer oder gleich 1 versagt TimeToStr(), aber du kannst statt dessen die Funktion DateTimeToStr2() verwenden.

Freundliche Grüße vom marabu

danku 3. Jun 2006 09:27

Re: Differenz 2erDatum in Tmemo
 
Also würdest du das so machen?

Delphi-Quellcode:
 
...
    function DateTimeToStr2(dt: TDateTime; daySep: string): string;
    begin
    Result := Format('%d%s%s', [Trunc(dt), daySep, TimeToStr(dt)])
    end;

begin



WeckTime:= edhours.Text + ':' + edmin.Text + ':' + edseconds.Text ;
WeckDate:= cbdatum.Text;


   DecodeTime(Time, aStd, aMin, aSec, aMsec);
    Uhrzeit_Ende := StrToDate(WeckDate) + StrToTime(WeckTime);
    Wecktime:=Timetostr(Uhrzeit_Ende);
    Uhrzeit_Verbleib := Now - Uhrzeit_ende;
    DateTimeToStr2(Uhrzeit_Verbleib,WeckTime); //parameter funzen aber nich 100%
    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;
...
man kann die datetimetostr2 doch auch anders machen?

//einen tag höher setzen
if (Wecktime) < TimeToStr(now)
then cbdatum.ItemIndex:= 1;

Problem aber weiterhin Weckzeit in Abhängigkeit vom Weckdatum

marabu 3. Jun 2006 10:09

Re: Differenz 2erDatum in Tmemo
 
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

danku 3. Jun 2006 12:56

Re: Differenz 2erDatum in Tmemo
 
hm so geht das.
bissel kürzer und effektiver.
danke

danku 5. Jun 2006 17:10

Re: Differenz 2erDatum in Tmemo
 
ich hab noch in der showremainingtime procedure
das dazugefügt:

Delphi-Quellcode:
 if Now =(dtRemaining) then begin
              fileopen:= Label2.caption;
              With MediaPlayer1 do begin
               Filename := opendialog1.filename;
               Open;
               Play;
wieso wird dann aber nicht wenn die verbleibende zeit und die reale zeit gleich null sind
die datei abgespielt?

marabu 5. Jun 2006 17:16

Re: Differenz 2erDatum in Tmemo
 
Hallo Daniel,

die reale Zeit (Now) wird wohl in absehbarer Zeit nicht Null werden. Probiere es mal so:

Delphi-Quellcode:
begin
  if dtRemaining < 0 then
  begin
    fileopen:= Label2.caption;
    with MediaPlayer1 do
    begin
      Filename := OpenDialog1.Filename;
      Open;
      Play;
// ...
Grüße vom marabu

danku 5. Jun 2006 18:05

Re: Differenz 2erDatum in Tmemo
 
das geht aber nicht in deiner prozedur ..ShowRemainingTime(dtAlarm: TDateTime);

marabu 5. Jun 2006 18:12

Re: Differenz 2erDatum in Tmemo
 
Warum nicht?

marabu

danku 5. Jun 2006 18:36

Re: Differenz 2erDatum in Tmemo
 
das lied wird nicht geladen.
sobald ich
Delphi-Quellcode:
if dtRemaining ..
außerhalb schreib
Delphi-Quellcode:
if Now < dtAlarm then
    ShowRemainingTime(dtAlarm);
  if dtRemaining...
,
wirkt der timer auf die memofelder immer als 0. (also die memofelder haben einen 0-wert

marabu 5. Jun 2006 20:12

Re: Differenz 2erDatum in Tmemo
 
Ist vielleicht besser, wenn du deinen Code in der Prozedur unterbringst, welche ShowRemainingTime() aufruft:

Delphi-Quellcode:
procedure TDemoForm.SingHaleluja;
begin
  fileopen := Label2.caption; // ??
  with MediaPlayer1 do
  begin
    Filename := OpenDialog1.Filename;
    Open;
    Play;
  end;
end;

procedure TDemoForm.???
var
  dtAlarm: TDateTime;
begin
  dtAlarm := StrToTime(edhours.Text + ':' + edmin.Text + ':' + edseconds.Text) + StrToDate(cbdatum.Text);
  if Now < dtAlarm
    then ShowRemainingTime(dtAlarm) // es hat noch Zeit
    else SingHaleluja;             // jetzt randalieren
end;
Gute Nacht

marabu

danku 14. Jul 2006 10:28

Re: Differenz 2erDatum in Tmemo
 
hm. ich habe ein problem wenn die real-time vor 24:00 (00:00) ist und der benutzer als weckzeit bspw. 00:30 einstellt. wie kann ich das problem wo in der methode lösen?


Delphi-Quellcode:
procedure Tfmclock.timerzeitTimer(Sender: TObject);
...

//////// ZEITDAUER IN MIN///////////////////////////////////////
      procedure ShowRemainingTime2(dtAlarm2: TDateTime);
      var  s: String;
      dtRemaining2: TDateTime;
      hours2, mins2, secs2, msecs2: Word;
      begin
      // DecodeTime(Time, aStd, aMin, aSec, aMsec);
      // Uhrzeit_Ende := StrToDate(WeckDate) + StrToTime(WeckTime);
      // Wecktime := Timetostr(Uhrzeit_Ende);
      // Uhrzeit_Verbleib := Now - Uhrzeit_ende;
      dtRemaining2:= dtAlarm2 - Now;
      DecodeTime(dtRemaining2, hours2, mins2, secs2, msecs2);
      hours2 := hours2 + 24 * Trunc(dtRemaining2);

      meHours.Text := IntToStr(hours2);
      meMin.Text := IntToStr(mins2);
      meSeconds.Text := IntTostr(secs2);
      end;

begin
...

marabu 14. Jul 2006 10:40

Re: Differenz 2erDatum in Tmemo
 
Hallo Daniel,

vielleicht reicht dir schon das:

Delphi-Quellcode:
dtRemaining2 := dtAlarm2 - Now;
if dtRemaining2 < 0 then
  dtRemaining2 := dtRemaining2 + 1;
Grüße vom marabu

danku 14. Jul 2006 10:42

Re: Differenz 2erDatum in Tmemo
 
schön wärs aber passt leider nicht.
sobald die stunden-anzeige über '00':'00':'00' geht,
tut sich nichts.

ich habe im onchange stehen:
Delphi-Quellcode:
if strtoint(edende.text) =24
then edende.text:='00';
denn 24:##:## nimmt der ja eh nicht an

Edit: ich habs gelöst ;)

marabu 14. Jul 2006 10:53

Re: Differenz 2erDatum in Tmemo
 
Vergiss meinen Beitrag #24 - du arbeitest ja mit Datumsanteilen, da geht das so nicht. Der gezeigte Code sollte mit Now = 23:30 (heute) und Alarm = 00:30 (morgen) zurecht kommen. Kann es sein, dass dein Problem irgendwo anders auftritt?

marabu

Zitat:

Zitat von danku
Edit: ich habs gelöst

PS: Vergiss diesen Beitrag auch ...

danku 14. Jul 2006 17:21

Re: Differenz 2erDatum in Tmemo
 
geht doch noch nicht 100pro,
denn jedesmal springt der sobald es größer 00:00:00 ist,
auf 23:##:## zurück.

danku 15. Jul 2006 11:53

Re: Differenz 2erDatum in Tmemo
 
kann mir einer helfen?
das proggie ist fertig, bis auf das nach 24uhr( 0uhr) problem.

marabu 15. Jul 2006 13:27

Re: Differenz 2erDatum in Tmemo
 
Liste der Anhänge anzeigen (Anzahl: 1)
Hallo Daniel,

dein in Beitrag #23 gezeigter Code ist in Ordnung, dein Problem scheint woanders zu liegen. Damit man dir helfen kann, musst du den relevanten Quellcode zeigen, den Input und den (falschen und erwarteten) Output beschreiben. Am Besten klappt das, wenn du deinen Code funktional entworfen hast. Wenn du alles in irgendwelche event handler reinquetschst, dann wird die Beschreibung von Input und Output zu komplex.

Grüße vom marabu

danku 15. Jul 2006 17:01

Re: Differenz 2erDatum in Tmemo
 
ich hab mir mal den bsp.progg heruntergeloadet. du hast mich auf eine idee gebracht.
das mit dem "kalenderblatt" war mir klar. nur wusste ich noch nicht wie diese komponente heißt.
ich will ja nichts sagen: aber kann es sein das bei dir ein fehler im code ist?

ich habe das mal bei mir getestet und bei mir setzt der countdown nach 4sec aus, d.h. es wird nicht weiter nach unten gezählt

Delphi-Quellcode:
procedure Tfmclock.timerzeitTimer(Sender: TObject);

//////// ZEITDAUER IN MIN///////////////////////////////////////
      procedure ShowRemainingTime2(dtAlarm2: TDateTime);
      var dtRemaining2: TDateTime;
      h, m, s, ms: Word;
      begin

      dtRemaining2 := dtAlarm2 - Now;
      DecodeTime(dtRemaining2, h, m, s, ms);
      Inc(h, 24 * Trunc(dtRemaining2));
      Caption := Format('%.2d:%.2d:%.2d', [h, m, s]);

      meHours.Text := IntToStr(h);
      meMin.Text := IntToStr(m);
      meSeconds.Text := IntTostr(s);
      end;


/////////////////////////////////////
      function RestOfSecond: Word;
      var h, m, s: Word;
      begin
      DecodeTime(Now, h, m, s, Result);
      end;
///////////////////////////////////////


begin

if cbsignal.Checked=false
then begin timerzeit.Enabled:=false;
             showmessage('Signaldatei auswählen!');
             rgeins.Checked:=true;
             rgzwei.Enabled:=true
             end
else begin
      edzeit.enabled:=false;
      sbzeit.Enabled:=false;
      with Sender as TTimer do
        begin
          Enabled := False;
          if dtpTime.DateTime > Now then
          begin
            ShowRemainingTime2(dtpTime.DateTime);
            InterVal := RestOfSecond;
            Enabled := True;
        end

    else begin //datei abspielen
...

marabu 15. Jul 2006 21:03

Re: Differenz 2erDatum in Tmemo
 
Zitat:

Zitat von danku
ich will ja nichts sagen: aber kann es sein das bei dir ein fehler im code ist?

Natürlich ist das möglich. Läuft meine Demo bei dir nicht?

Zitat:

Zitat von danku
ich habe das mal bei mir getestet und bei mir setzt der countdown nach 4sec aus, d.h. es wird nicht weiter nach unten gezählt

Bevor du meinen Code verbaust, solltest du ihn Zeile für Zeile analysiert haben. Du musst ihn so gut verstehen, dass du ihn zur Not auswendig wieder hinschreiben könntest, ansonsten besteht die Gefahr, dass du lauter copy-and-paste Fehler produzierst.

Mein Konzept in der Demo ist die pauschale Deaktivierung des Timers im Timer-Event und die bedingte Reaktivierung, wenn die Alarmzeit noch nicht erreicht ist. So wie du meinen Code verbaut hast, kommt dieses Konzept nicht mehr richtig zum Tragen. Wenn also dein Countdown nach vier Sekunden stehen bleibt, dann sicher deshalb, weil der Timer nicht mehr reaktiviert wurde. An der Ecke würde ich mal graben. Aber auch eine ungewollte Verkettung von Events könnte die Ursache sein. Du solltest das Programmverhalten vielleicht etwas genauer beschreiben.

Gute Nacht

marabu

danku 17. Jul 2006 10:49

Re: Differenz 2erDatum in Tmemo
 
es sieht so aus, als hab ich erst mal ne lösung gefunden.
meld mich dann noch mal.


Alle Zeitangaben in WEZ +1. Es ist jetzt 14:59 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz