Entwickler-Ecke
Sonstiges (Delphi) - Procedur für Wecker
rulingorc - Mo 04.06.07 18:42
Titel: Procedur für Wecker
Hallo zusammen.
Brauch auf Kürze eine Procedur für einen Wecker. Er soll möglichst einfach sein, also mit nicht so viel schnickschnack, damit ich ihn als noob verstehe^^. Wer gerade mal eine Procedur fertig hat könnte die ja hier rein posten. THX!
Moderiert von
raziel: Topic aus Programmierwerkzeuge verschoben am Mo 04.06.2007 um 19:00Moderiert von
Christian S.: Topic aus Sonstiges (C# / .NET) verschoben am Mo 04.06.2007 um 19:01
Christian S. - Mo 04.06.07 19:04
Was stellst Du Dir denn darunter vor? :gruebel:
Delphi-Quelltext
1: 2: 3: 4:
| procedure MachWecker; begin ... end; |
Und was soll die dann machen?
Wieso probierst Du es nicht selber mal und wir helfen Dir dann? Dabei gilt natürlich: Für konkrete Probleme jeweils ein Thread ;-)
rulingorc - Mo 04.06.07 19:13
ich würds gerne machen echt, aber muss morgen schon etwas für mathe info abgeben und hab so lange mit der analogen uhr gebraucht. deswegen such ich jetzt einen wecker, der einfach zu verstehen ist, einen fertigen wecker. ich mach in den ferien selber einen aber bin immo zu beschäftigt deswegen diese not-lösung...
Robinator - Mo 04.06.07 20:35
Hi,
mal als Ansatz:
du brauchst :
-eine Form
-einen Timer
-einen TDateTimePicker
im OnTimer event der timer komponente könntest du nun wie Folgt vorgehen
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10:
| if now > DateTimePicker1.DateTime then begin TTimer(Sender).Enabled := False; beep; beep; beep; Showmessage('AUFSTEHEN!!'); end; end; |
damit ist ein einfacher Wecker ansich schon fertig :)
gruss, Rob
ps.: Du solltest den Timer per default erstmal auf enabled = False stellen, sonst macht er vermtl am anfang permanent lärm. Enablen könntest du ihn dann per Button o.ä. ;)
rulingorc - Mo 04.06.07 21:45
jo dankeschön echt nett
rulingorc - Mo 04.06.07 22:03
nur kann man jetzt noch keine zeit einstellen wann man geweckt werden möchte und das mit dem default enabled:=false hab ich auch noch net ganz verstanden.
rulingorc - Mo 04.06.07 22:47
soweit bin ich
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47:
| 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 public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject); begin if now > DateTimePicker1.DateTime then 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 das bittebitte zu ende machen ich verzweifel gleich.
Narses - Mo 04.06.07 22:58
Moin!
rulingorc hat folgendes geschrieben: |
nur kann man jetzt noch keine zeit einstellen wann man geweckt werden möchte und das mit dem default enabled:=false hab ich auch noch net ganz verstanden. |
Robinator meinte sicher damit, dass du im Objekt-Inspektor die Eigenschaft Enabled auf FALSE setzen solltest, weil der Timer sonst schon direkt bei Programmstart losläuft. :idea:
rulingorc hat folgendes geschrieben: |
kann mir jmd das bittebitte zu ende machen ich verzweifel gleich. |
Mach dich schon mal mit dem Verzweifeln vertraut, wir machen hier keine Hausaufgaben... :roll: :mahn: ;)
cu
Narses
Christian S. - Mo 04.06.07 23:01
Also:
(1) Die Zeit wird bereits in dem DateTimePicker eingestellt. Du musst im Objektinspektor mal schauen, wo Du einstellen kannst, dass man beim DateTimePicker eine Zeit einstellen kann.
(2) Wenn Timer.Enabled anfangs auf False steht (damit der Wecker nicht anfängt zu arbeiten, bevor Du überhaupt was eingestellt hast), worauf musst Du ihn dann im Button stellen?
Christian
rulingorc - Mo 04.06.07 23:04
true?
Christian S. - Mo 04.06.07 23:06
korrrrrrrekt!
Und die Eigenschaft für den DateTimePicker heißt wie? (Sonst kannste nur ein Datum einstellen und das ist für die meisten Leute beim Wecker zu ungenau)
rulingorc - Mo 04.06.07 23:07
hab die time im date... gefunden und auf true gestelllt. timer ist erst auf enabled:=false
Christian S. - Mo 04.06.07 23:08
rulingorc hat folgendes geschrieben: |
hab die time im date... gefunden und auf true gestelllt. |
Was meinst Du?
rulingorc hat folgendes geschrieben: |
timer ist erst auf enabled:=false |
Timer.Enabled erst auf false, im Button auf True. Richtig.
Narses - Mo 04.06.07 23:08
:rofl: wenn ich mir dazu noch die Stimme von John Cleese vorstelle... :lol:
rulingorc - Mo 04.06.07 23:13
im objektinspektor vom datetimepicker hab ich "time" gefunden nur wie kann ich die zeit ändern wenn ich mein programm starte?
Christian S. - Mo 04.06.07 23:14
Du musst die Art (was auf Englisch übrigens "Kind" heißt) des DateTimePickers so umstellen, dass nicht mehr ein Datum, sondern eine Zeit eingestellt wird.
rulingorc - Mo 04.06.07 23:17
ahso und jetzt muss ich es noch aktivieren können
mit ner combobox oder geht das auch mitm button?
ich kenn den befehl aber nicht wie man sowas aktiviert
Christian S. - Mo 04.06.07 23:18
Timer.Enabled auf True zu setzen, aktiviert das Ganze bereits. Der prüft dann jede Sekunde, ob die aktuelle Zeit (now) später als die Zeit im DateTimePicker (DateTimePicker1.DateTime) ist -> if now > DateTimepIcker1.DateTime
Wenn Du den Wecker benutzen willst, stellst Du also die Zeit im DateTimePicker ein und klickst dann den Button. Zur gewünschten Zeit sollte die Meldung kommen.
rulingorc - Mo 04.06.07 23:20
ja aber ich kann nicht auf das button klicken wenn ich das programm starte
Christian S. - Mo 04.06.07 23:22
rulingorc hat folgendes geschrieben: |
ja aber ich kann nicht auf das button klicken wenn ich das programm starte |
Ich hab doch geschrieben, wie man den Wecker benutzt: Programm starten, Zeit einstellen, Button klicken, aufs Wecken warten
rulingorc - Mo 04.06.07 23:26
programm starten=> zeit einstellen=> aufs button klicken um das zu aktivieren aber das button feld kann ich nicht anklicken um das zu aktivieren und dann kann ich jahre warten. wenn ich etwas nicht kapier bitte nicht böse werden... trotzdem schonmal vielen dank dass du trotz der umstände mir geholfen hast.! echt nett
Christian S. - Mo 04.06.07 23:28
Wieso kannst Du das Button-Feld (ich nehme an, Du meinst damit den Button) nicht anklicken? Ist der grau (also nicht aktiv)? :gruebel:
rulingorc - Mo 04.06.07 23:29
vllt ist ja noch irgendwas falsch.
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47:
| 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 public end;
var Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject); begin if now > DateTimePicker1.DateTime then begin TTimer(Sender).Enabled := False; beep; beep; beep; Showmessage('AUFSTEHEN!!'); end;
end;
procedure TForm1.Button1Click(Sender: TObject); begin Timer1.Enabled:=True; end;
end. |
?
genau er ist grau
rulingorc - Mo 04.06.07 23:31
yeah ich habs xD hatte den wecker aus versehen noch auf false gestellt gehabt jetzt klappts ey echt danke hast mir super geholfen :lol:
Christian S. - Mo 04.06.07 23:33
Dann viel Spaß im Info-Unterricht ;-)
rulingorc - Mo 04.06.07 23:36
jo danke nochmal werd mich in zukunft auch mehr für delphi interessieren und mehr selber versuchen. cu dann und gn8^^
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!