So sieht das Layout aus:
http://www.danielkuhnke.de/bsp.jpg
Bei anklicken der jeweiligen Radiogroups werden folgende Timer geöffnet:
Für die Linke Radiogroup (Timerzeit)
Delphi-Quellcode:
//////// ZEITDAUER IN MIN
dtAlarm2 := StrToTime(edende.Text + ':' + edende2.Text + ':' + edende3.Text) + StrToDate(cbdatum.Text);
image1.Visible:=false;
speedbutton2.Visible:=false;
timer3.Enabled :=false;
cbshutdown.Enabled:=false;
cbsignal.Enabled:=false;
rgzwei.Enabled:=false;
timerfest.Enabled :=false;
Button1.Caption:='Abbrechen';
if edzeit.Text='00'
then begin edzeit.text:='01'
end;
if cbsignal.Checked=false then begin
// opendialog1.Execute;
cbsignal.checked:=true;
end;
if Now < dtAlarm2 then
ShowRemainingTime2(dtAlarm2)
else begin //datei abspielen
CoolTrayIcon1.ShowMainForm;
with MediaPlayer1 do
begin
if cbsignal.checked
then begin
Filename := OpenDialog1.Filename;
Open;
Play;
timerzeit.Enabled:=false;
speedbutton2.Visible:=true;
image1.Visible :=true;
timer3.Enabled:=true;
timerzeit.Enabled:=true;
end;
end;
Und für die rechte Radiogroup: (Timerfest)
Delphi-Quellcode:
//////// Feste Uhrzeit
dtAlarm := StrToTime(edhours.Text + ':' + edmin.Text + ':' + edseconds.Text) + StrToDate(cbdatum.Text);
image1.Visible:=false;
speedbutton2.Visible:=false;
timer3.Enabled :=false;
timerzeit.Enabled :=false;
rgeins.Enabled:=false;
cbdatum.Enabled:=false;
cbsignal.Enabled:=false;
cbshutdown.Enabled:=false;
Button1.Caption:='Abbrechen';
if (dtAlarm) < (now) //einen tag höher setzen
then begin cbdatum.ItemIndex:= 1;
end;
if cbsignal.Checked=false then begin
// opendialog1.Execute;
cbsignal.checked:=true;
end;
if Now < dtAlarm then
ShowRemainingTime(dtAlarm)
else begin //datei abspielen
CoolTrayIcon1.ShowMainForm;
with MediaPlayer1 do
begin
if cbsignal.checked
then begin
Filename := OpenDialog1.Filename;
Open;
Play;
timerfest.enabled:=false;
speedbutton2.Visible:=true;
timer3.Enabled:=true;
image1.Visible :=true;
Abbrechen:=true;
//timerfest.Enabled:= true;
end;
end;
end;
In den unteren 3 memos wird wie in einem countdown heruntergezählt.
(in abhängikeit von den eingestellten endzeiten der 2 radiogroups)
Damit man die Timer starten kann, muss auf STARTEN-Button gedrückt werden:
Delphi-Quellcode:
if rgeins.checked
then timerzeit.Enabled:=true
else timerfest.Enabled:=true;
if (button1.Caption='Abbrechen') and (rgeins.checked)
then if MessageDlg('Timer ändern?', mtConfirmation, [mbYes, mbNo], 0) =
mrYes then begin
timerzeit.Enabled:=false;
//timerfest.Enabled:=true;
rgeins.Checked:=true;
rgzwei.Enabled:=true;
//cbsignal.Checked:=false;
//cbshutdown.Checked:=false;
mehours.text:='00';
memin.Text:='00';
meseconds.text:='00';
mediaplayer1.Close;
cbsignal.Enabled:=true;
cbshutdown.Enabled:=true;
button1.Caption:='Starten';
speedbutton2.Visible:=false;
timer3.Enabled:=false;
image1.Visible:=false;
end;
if (button1.Caption='Abbrechen') and (rgzwei.checked)
then if MessageDlg('Timer ändern?', mtConfirmation, [mbYes, mbNo], 0) =
mrYes then begin
timerfest.Enabled :=false;
timerzeit.Enabled :=false;
rgeins.Enabled:=true;
rgzwei.Checked:=true;
mehours.text:='00';
memin.Text:='00';
meseconds.text:='00';
mediaplayer1.Close;
cbsignal.Enabled:=true;
cbshutdown.Enabled:=true;
button1.Caption:='Starten';
speedbutton2.Visible:=false;
timer3.Enabled:=false;
image1.Visible:=false;
end;
sobald eine radiogroup ausgewählt wurde und auf STARTEN-Button gedrückt wurde,
wird wie bereits gesagt der countdown in den memos gesetzt.
es wird automatisch sobald auf STARTEN gedrückt wird, der Button in ABBRECHEN umbenannt.
Hier ein Bild davon:
www.danielkuhnke.de/bsp2.jpg
Und nun zum eigentlichen Problem:
die linke radiogroup wird ausgewählt, der song herausgesucht und auf STARTEN gedrückt.
in den memos wird die restzeit angezeigt. nach dieser zeit wird der song abgespielt.
wenn man auf Abbrechen drückt, und die 2.radiogroup auswählt und song heraussucht und auf STARTEN drückt, wird der timer von der linken radiogroup geladen.
Warum? sobald man die 2. radiogroup und dann die 1. wählt, passiert das gleiche.
wer kann mir helfen?
bin verzweifelt!