Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi wechfunktion (https://www.delphipraxis.net/37528-wechfunktion.html)

Gentleman 6. Jan 2005 21:41


wechfunktion
 
hi DPler!

ich möchte in mein programm eine kleine weckfunktion einbauen. ich versuche es mit diesem code:
Delphi-Quellcode:
if now= Wake then //wake ist die weckzeit
  begin
    MediaPlayer2.Play;
  end;
leider funktioniert das bei mir nicht. mache ich da was falsch oder muss ich das ganz anders lösen?

thx im voraus!

ibp 6. Jan 2005 21:43

Re: wechfunktion
 
stimmen denn die formate bei der if-abfrag?

Matze 6. Jan 2005 21:44

Re: wechfunktion
 
Kommt eine Fehlermeldung?

glkgereon 6. Jan 2005 21:45

Re: wechfunktion
 
nie floats mit = vergleichen sondern

abs(x-y) < genauigkeit

Gentleman 6. Jan 2005 21:46

Re: wechfunktion
 
jo die stimmen.

wenn ich es folgendermaßen löse läuft es auch, allerdings wird die wave-datei dann immer wieder gespielt.
Delphi-Quellcode:
if now> Wake then //wake ist die weckzeit
  begin
    MediaPlayer2.Play;
  end;

Matze 6. Jan 2005 21:47

Re: wechfunktion
 
Hast du den Code eigentlich im einem Timer? Falls ja, dann stell ein Intervall < 1s ein.

Gentleman 6. Jan 2005 21:48

Re: wechfunktion
 
Zitat:

Zitat von glkgereon
nie floats mit = vergleichen sondern

abs(x-y) < genauigkeit

und wie finde ich so eine genaue zeit heraus? :roll:

glkgereon 6. Jan 2005 21:48

Re: wechfunktion
 
Delphi-Quellcode:
if abs(now-Wake) < 2/(24*60*60) then //auf 2 sek genau
  begin
    MediaPlayer2.Play;
  end;

Gentleman 6. Jan 2005 21:54

Re: wechfunktion
 
hm...also irgendwie funzt das bei mir nicht :gruebel:

gothic_mike 6. Jan 2005 22:02

Re: wechfunktion
 
Zitat:

Zitat von Gentleman
jo die stimmen.

wenn ich es folgendermaßen löse läuft es auch, allerdings wird die wave-datei dann immer wieder gespielt.
Delphi-Quellcode:
if now> Wake then //wake ist die weckzeit
  begin
    MediaPlayer2.Play;
  end;


das ist logisch und korrect, das das wave immer wieder abgespielt wird, weil ja logischerweise
now nach erreichen von wake (also bei now >= wake) immer großer ist...

das ganze müsste in einen Timer, der beim ersten (now > wake) auf Disabled gestellt wird...


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:35 Uhr.
Seite 1 von 2  1 2      

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