das steht in dem timer:
(update)
Delphi-Quellcode:
WeckTime:= edhours.Text + ':' + edmin.Text + ':' + edseconds.Text ;
WeckDate:= cbdatum.Text;
}
//**********Dauer vorgegeben
if rgeins.Checked then
if not canvas.TextWidth(edzeit.Text)>1 then
edzeit.setfocus
else if canvas.TextWidth(edzeit.text)>1 then
if cbsignal.Checked=false then begin
// opendialog1.Execute;
cbsignal.checked:=true;
timer.Enabled:=true;
end
else timer.Enabled:=true;
//**********FESTE UHRZEIT
if rgzwei.Checked then
if cbsignal.checked=false then begin
cbsignal.checked:=true;
end;
if TimeToStr(Now) =WeckTime then begin
fileopen:= Label2.caption;
With MediaPlayer1 do begin
Filename := opendialog1.filename;
Open;
Play;
timer.Enabled:=false;
end;
end;
//************BUFFER IN MEMO
DecodeTime(Time, aStd, aMin, aSec, aMsec);
//now := Timetostr(Time);
Uhrzeit_Ende := strtoTime(Wecktime);
Wecktime:=Timetostr(Uhrzeit_Ende);
Uhrzeit_Verbleib := Time - Uhrzeit_ende;
Buffer := timetostr(Uhrzeit_Verbleib);
if Uhrzeit_Ende > Time then
begin
Std := copy(Buffer, 1,2);
Min := copy(Buffer, 4,2);
Sec := copy(Buffer, 7,2);
bsec := strtoint(Sec) +1;
mehours.text:=std;
memin.Text:=min;
meseconds.text:=inttostr(bsec);
end
else
begin
Std := copy(Buffer, 1,2);
Min := copy(Buffer, 4,2);
bstd := 23-strtoint(std);
bmin := 59-strtoint(min);
if asec >0 then
bsec := 60-asec
else
bsec := 0;
mehours.text:=inttostr(bstd);
memin.Text:=inttostr(bmin);
meseconds.text:=inttostr(bsec);
end;
Das geht fast einwandfrei. Den ersten Part der TRadiogroup muss ich demnächst noch bearbeiten.
mir gehts darum, das die weckzeit mit dem weckdatum übereinstimmt.
mein vorschlag war:
if TimeToStr(Now) =strtodate(WeckTime + WeckDatum) then begin
da gibts aber eine fehlermeldung.
kann es vll. auch an
if Uhrzeit_Ende > Time then...
liegen?