AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

IF-Problem

Ein Thema von danku · begonnen am 17. Jun 2006 · letzter Beitrag vom 30. Jun 2006
 
Benutzerbild von danku
danku

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

Re: IF-Problem - >Timerabhängigkeit

  Alt 19. Jun 2006, 09:38
Ich hab jetzt die If-klauseln noch mal alle überarbeitet.
folgendes problem kommt zum vorschein:
ich habe 2 timer für die zwei. radiogroups:

Timer1 (timerzeit)
Delphi-Quellcode:
...
//////// ZEITDAUER IN MIN

timerfest.Enabled :=false; //der timer von der 2.rg

if edzeit.Text='00'
  then begin edzeit.text:='01'
  end;

  Button1.Caption:='Abbrechen';

      if cbsignal.Checked=false then begin
     // opendialog1.Execute;
      cbsignal.checked:=true;
      end;
      
  rgzwei.Enabled:=false;

  dtAlarm2 := StrToTime(edende.Text + ':' + edende2.Text + ':' + edende3.Text) + StrToDate(cbdatum.Text);
  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;
          end;
        end;
  ..
Timer2 (Timerfest)
Delphi-Quellcode:
//////// Feste Uhrzeit

timerzeit.Enabled :=false; //timer1
dtAlarm := StrToTime(edhours.Text + ':' + edmin.Text + ':' + edseconds.Text) + StrToDate(cbdatum.Text);



   if rgzwei.Checked then begin
    rgeins.Enabled:=false;
    cbdatum.Enabled:=false;
    cbsignal.Enabled:=false;
    end;
    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;
                  speedbutton2.Visible:=true;
                  timer3.Enabled:=true;
                 end;
              end;
         
...
Um die Timer zu starten betätigt man den START-Button:
Delphi-Quellcode:
if rgeins.checked=true
  then if button1.Caption='Starten'
  then begin timerzeit.Enabled:=true;
  end;
if rgzwei.checked=true
  then if button1.Caption='Starten'
  then begin timerfest.Enabled:=true;
  end;


if (button1.Caption='Abbrechen')
then if (rgeins.checked) and (timerzeit.Enabled=true)
      then if MessageDlg('Timer ändern?', mtConfirmation, [mbYes, mbNo], 0) =
        mrYes then begin
        timerzeit.Enabled:=false;
       // timerfest.Enabled:=true;
          rgzwei.Enabled:=true;
          mehours.text:='00';
          memin.Text:='00';
          meseconds.text:='00';
          mediaplayer1.Close;
          cbsignal.Enabled:=true;
          button1.Caption:='Starten';
          mediaplayer1.Close;
          end;

if (button1.Caption='Abbrechen')
then if (rgzwei.checked) and (timerfest.Enabled=true)
      then if MessageDlg('Timer ändern?', mtConfirmation, [mbYes, mbNo], 0) =
        mrYes then begin
        timerfest.Enabled:=false;
        // timerzeit.Enabled :=true;
          rgeins.Enabled:=true;
          mehours.text:='00';
          memin.Text:='00';
          meseconds.text:='00';
          mediaplayer1.Close;
          cbsignal.Enabled:=true;
          button1.Caption:='Starten';
          mediaplayer1.Close;
          end;
Sobald bspw. die 1.radiogroup geklickt wurde und der START-Button,
wird der zähler in den 3 unteren memofeldern um 1 verringert. (wie countdown)
das geschieht solange bis '00'; dann wird eine datei abgespielt.
durch betätigen des START-Buttons wird automatisch die caption in Abbrechen umbenannt.

wenn der zähler vorzeitig abgebrochen (Abbrechen -> Caption wieder STARTEN umbenannt) wird, soll anhand der 2.radiogroups der timer2 geladen werden und time1 zurückgesetzt werden. das funzt ja auch alles einwandfrei nur ist das problem, sobald man die 1.radiogroup abbricht, und dann in der 2.radiogroup klickt und da STARTEN klickt wird der timer von der 1.radiogroup aktiviert. warum?
andersherum ist es genauo...
Angehängte Grafiken
Dateityp: jpg bsp_814.jpg (16,3 KB, 96x aufgerufen)
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 11:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz