AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi Differenz 2erDatum in Tmemo
Thema durchsuchen
Ansicht
Themen-Optionen

Differenz 2erDatum in Tmemo

Ein Thema von danku · begonnen am 25. Mai 2006 · letzter Beitrag vom 17. Jul 2006
Antwort Antwort
Seite 3 von 4     123 4      
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#21

Re: Differenz 2erDatum in Tmemo

  Alt 5. Jun 2006, 18:36
das lied wird nicht geladen.
sobald ich 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
  Mit Zitat antworten Zitat
marabu

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

Re: Differenz 2erDatum in Tmemo

  Alt 5. Jun 2006, 20:12
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
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#23

Re: Differenz 2erDatum in Tmemo

  Alt 14. Jul 2006, 10:28
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
...
  Mit Zitat antworten Zitat
marabu

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

Re: Differenz 2erDatum in Tmemo

  Alt 14. Jul 2006, 10:40
Hallo Daniel,

vielleicht reicht dir schon das:

Delphi-Quellcode:
dtRemaining2 := dtAlarm2 - Now;
if dtRemaining2 < 0 then
  dtRemaining2 := dtRemaining2 + 1;
Grüße vom marabu
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#25

Re: Differenz 2erDatum in Tmemo

  Alt 14. Jul 2006, 10:42
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
  Mit Zitat antworten Zitat
marabu

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

Re: Differenz 2erDatum in Tmemo

  Alt 14. Jul 2006, 10:53
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 von danku:
Edit: ich habs gelöst
PS: Vergiss diesen Beitrag auch ...
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#27

Re: Differenz 2erDatum in Tmemo

  Alt 14. Jul 2006, 17:21
geht doch noch nicht 100pro,
denn jedesmal springt der sobald es größer 00:00:00 ist,
auf 23:##:## zurück.
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#28

Re: Differenz 2erDatum in Tmemo

  Alt 15. Jul 2006, 11:53
kann mir einer helfen?
das proggie ist fertig, bis auf das nach 24uhr( 0uhr) problem.
  Mit Zitat antworten Zitat
marabu

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

Re: Differenz 2erDatum in Tmemo

  Alt 15. Jul 2006, 13:27
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
Angehängte Dateien
Dateityp: zip alarm_206.zip (1,9 KB, 6x aufgerufen)
  Mit Zitat antworten Zitat
Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#30

Re: Differenz 2erDatum in Tmemo

  Alt 15. Jul 2006, 17:01
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
...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 3 von 4     123 4      


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:32 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