![]() |
Wecker - Abruf Problem
Hallo, :hi:
Ich habe da eine Frage. Also ich möchte einen Wecker programmieren. Geht auch alles schon bis auf die erweiterungs Funktion. Also der Benutzer hat die möglichkeit ein Datum einzugeben und um wieviel Uhr es an diesem Datum dann klingel soll. Beide eingaben schreibe ich getrennt in eine txt Datei. Also eine txt Datei für Datum und eine für Uhrzeit. Dann habe ich im Timer Ereignis dieses geschrieben:
Delphi-Quellcode:
Für Erklärung: dat und tim sind die ausgelesenen Werte und datdat und timtim sind Uhrzeit und Datum real. Und datum.lines... und uhrzeit.lines... sind zwei Memo Felder, wo angezeigt werden soll, wann es klingel, also was man abgespeichert hat.
procedure TForm1.Timer2Timer(Sender: TObject);
var dat, tim, datdat, timtim: string; begin datdat := datetostr (date); timtim := timetostr (time); datum.Lines.LoadFromFile('datum.txt'); uhrzeit.Lines.LoadFromFile('uhrzeit.txt'); dat := (datum.text); tim := (uhrzeit.text); if dat = datdat then if tim = timtim then sndplaysound(PChar('Glockenspiel.wav'),snd_sync); end; So und jetzt habe ich das Problem, dass die Werte anscheinend nicht ausgelesen werden. Es klingelt nähmlich nicht, auch wenn die Eingaben stimmen. Und ich weiß leider nicht wo es hakt. Kann mir vielleicht einer helfen ??? |
Re: Wecker - Abruf Problem
Zitat:
Delphi-Quellcode:
Oder einfach in eine Anweisung stecken
if dat = datdat then
begin if tim = timtim then sndplaysound(PChar('Glockenspiel.wav'),snd_sync); end;
Delphi-Quellcode:
if (dat = datdat) AND (tim = timtim) then sndplaysound(PChar('Glockenspiel.wav'),snd_sync);
|
Re: Wecker - Abruf Problem
Ich vermute einfach, dass der Timer nicht die genaue Zeit "trifft", prüfe besser, ob die Weckzeit kleiner (vor) oder gleich der aktuellen Zeit ist.
|
Re: Wecker - Abruf Problem
wie schreibst du die daten denn in die txt dateien?
Sie müssen genau mit dem layout vor aus dem computer ausgelesenen zeit übereinstimmen... |
Re: Wecker - Abruf Problem
Vielen Dank,
für die Schnellen Antworten, aber das mit den If Abfragen habe ich zwar direkt geändert, daran liegt es nicht. Zu dem Layout. Also so mach ich es Datum: 12.03.2006 Und Uhrzeit: 18:30:25 Und das System mach es doch genauso, oder irre ich mich ??? |
Re: Wecker - Abruf Problem
Schau es dir doch einfach an wie es das System macht :-D
Ich weiß zwar gerade nicht wie es das system macht, ic bin mir aber sicher SO wird es nicht sein wenn es nicht funktioniert. Schreibe dir doch noch einfach 2 kleine Befehle rein um dir das ausgeben zu lassen wie das System die Uhrzeit/Datum anzeigt. Flare |
Re: Wecker - Abruf Problem
@ Flare: Doch das System macht es genau so...hab grade selber nachgeschaut
gut vom layout stimmt alles...aber ich glaub ich weiß jetzt worans liegt :wink: Der Sound wird nur abgespielt, wenn zeit und datum genau mit deiner Vorgabe übereinstimmen. Und darin liegt der fehler...Der Timer aktuallisiert alle 1s, dass heißt 1s nachdem die Zeit erreicht wurde hört der sound schon wieder auf. Wenn die 1.sekunde in der wave datei stille ist hört man den sound natürlich nicht... Schreib einfach mal statt dem sound:
Delphi-Quellcode:
Wenn dann eine Meldung erscheint liegt es wirklich an dem oben genannten problem.
showmessage ('Zeit erreicht');
Das kann man aber ganz leicht beheben. Schreib dann einfach in die then anweisung über begin und end;
Delphi-Quellcode:
Dann hört der Timer bei der Zielzeit auf zu Zählen und der Sound müsste abgespielt werden.
timer1.Enabled := false;
So ich hoffe ich hab jetzt nicht ganz daneben gehauen :freak: |
Re: Wecker - Abruf Problem
HUHU,
Leider klappt es immer noch nicht. Habe alles ausprobiert. Mir ist da aber noch ne andere Idee gekommen. Ich lese die txt Dateien ja in ein Memo Feld ein, um dann den Inhalt aus dem Memo Feld in string Variablen zu kopieren. Kann es sein, dass das nicht möglich ist ??? Gibt es einen Befahel, um eine Txt Datei in einem String zu öffenen ??? Ich würde mich über weitere Antworten sehr freuen :wink: |
Re: Wecker - Abruf Problem
dafür gibt es einen befehl...
schau mal nach ![]() Daran kanns aber eigentlich nicht liegen, ich hab es genau so probiert (nur mit showmessage) und das klappt... |
Re: Wecker - Abruf Problem
Mit "showmessage" klappst ???
Also bei mir noch nicht, was mache ich denn falsch ??? Hier nochmal der Code mit "Showmessage"
Delphi-Quellcode:
Hat vielleicht noch einer eine andere Idee, oder sieht einen Fehler im Code ???
procedure TForm1.Timer2Timer(Sender: TObject);
var dat, tim, datdat, timtim: string; begin datdat := datetostr (date); timtim := timetostr (time); label5.Caption := (datdat); label4.Caption := (timtim); datum.Lines.LoadFromFile('datum.txt'); uhrzeit.Lines.LoadFromFile('uhrzeit.txt'); dat := (datum.text); tim := (uhrzeit.text); if (dat = datdat) AND (tim = timtim) then showmessage ('Zeit erreicht'); end; |
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:40 Uhr. |
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