Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Software-Projekte der Mitglieder (https://www.delphipraxis.net/26-software-projekte-der-mitglieder/)
-   -   Wecker Problem (https://www.delphipraxis.net/93361-wecker-problem.html)

rulingorc 4. Jun 2007 21:57


Wecker Problem
 
Bin noch ein ziemlicher Anfänger und habe versucht einen ganz simplen wecker zu schreiben. soweit bin ich komm aber nicht weiter.
Delphi-Quellcode:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, ExtCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Timer1: TTimer;
    DateTimePicker1: TDateTimePicker;
    Button1: TButton;
    procedure Button1Click(Sender: TObject);
    procedure Timer1Timer(Sender: TObject);
  private
    { Private-Deklarationen }
  public
    { Public-Deklarationen }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if now > DateTimePicker1.DateTime then //bin mir nicht sicher ob die entsprechende property .DateTime heisst, musste ma nachgucken
 begin
    TTimer(Sender).Enabled := False;
    beep;
    beep;
    beep;
    Showmessage('AUFSTEHEN!!');
end;

end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Timer1.Enabled:=False;
end;

end.
Kann mir jmd helfen am besten wärs noch heute abend^^ will es jetzt nur noch so hinkriegen, dass ich die zeit einstellen kann und dass man ihn aktiverien kann. danke

Gremlin 4. Jun 2007 22:10

Re: Wecker Problem
 
Hallöchen,

es fehlt noch die Aktivierung des Timers. 2. Button hinzu und machen das es so aussieht.

Delphi-Quellcode:
procedure TForm1.Button2Click(Sender: TObject);
begin
  Timer1.Enabled := True;
end;

TStringlist 4. Jun 2007 22:32

Re: Wecker Problem
 
Ich glaube eher, es liegt an der Time-Property des DateTimePickers. Deren Time-Wert ist nämlich auf diejenige Uhrzeit eingestellt, zu der Du die Komponente auf deine Form gezogen hast. Und dort bleibt sie dann auch fest stehen, und zwar solange bis Du sie event. mal selbst änderst, z.B. im OI, normalerweise jedoch gleich irgendwo im Code (was ich oben aber nicht gesehen habe). Hast Du das also nicht gemacht, dann kann NOW aufgrund einer quasi immer constant zu frühen Uhrzeit natürlich nie größer werden als das DateTime des Pickers.

blablab 5. Jun 2007 00:01

Re: Wecker Problem
 
Wieso stellst du nicht einfach das Intevall des Timers auf die Verbleibende Zeit bis zum Klingeln?
Das ist meiner Meinung nach die einfachste Lösung...


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:49 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