Hmmm, ich glaub meine Delphi version spinnt.
Code:
procedure TForm1.Timer1Timer(Sender: TObject);
var
stopTime: TDateTime;
begin
stopTime := StrToDateTime(stunde+':'+minute); // Für diese Umwandlung muss der eingegebene Zeitpunkt (mit deutschen Formateinstellungen) in der Darstellung DD.MM.YYYY HH:MM:SS vorliegen, wobei auch halbe Angaben wie DD.M. oder DD.MM.YY HH:MM funktionieren
// stopTime := EncodeDateTime(...) // Hiermit kannst du Jahr, Monat, ... getrennt angeben
if Now <= stopTime then begin
PlaySound(PChar(musik), hInstance, SND_ASYNC);
Timer1.Enabled := false;
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
Opendialog1.Execute;
musik := Opendialog1.FileName;
label1.Caption := musik;
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
PlaySound(PChar(musik), hInstance, SND_ASYNC);
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
stunde := edit1.text;
minute := edit2.text;
label2.Caption :='Um ' + stunde + ' Uhr und '+minute+' minuten.';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
if minute = '' then Begin showmessage('Bitte geben sie eine Zeit an!');stop := 'true'; end else
if stunde = '' then Begin showmessage('Bitte geben sie eine Zeit an!');stop := 'true'; end else
if musik = '' then Begin showmessage('Bitte geben sie den Wecksound an');stop := 'True' end else
stop:='false';
if stop = 'true' then else sendmessage(form1.Handle,WM_SYSCOMMAND ,SC_minimize,0);
if stop = 'true' then else timer1.Enabled := true;
end;
procedure TForm1.WMQueryEndSession (var Msg : TWMQueryEndSession);
begin
if MessageDlg('Sie haben noch den Wecker laufen, wollen sie den Rechner trotzdem beenden?',
mtConfirmation,
[mbYes,mbNo], 0) = mrNo then
Msg.Result := 0
else
Msg.Result := 1;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
timer1.Enabled := false
end;
end.
Immer, wenn ich das so mache, macht der Wecker gar nichts.
Wenn ich aber das "<=" durch ">=" ersetze, spielt er die ganze zeit den sound...
Hilfe!
J.P.
...mfG
Phil