Thema: Delphi IF-Problem

Einzelnen Beitrag anzeigen

Benutzerbild von danku
danku

Registriert seit: 9. Apr 2006
Ort: 32-bit Adressbus
181 Beiträge
 
Delphi 7 Enterprise
 
#11

Re: IF-Problem

  Alt 25. Jun 2006, 18:04
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!
  Mit Zitat antworten Zitat