AGB  ·  Datenschutz  ·  Impressum  







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

TTimer 2 Aktivieren

Ein Thema von Natcree · begonnen am 18. Nov 2013 · letzter Beitrag vom 19. Nov 2013
Antwort Antwort
musicman56
(Gast)

n/a Beiträge
 
#1

AW: TTimer 2 Aktivieren

  Alt 19. Nov 2013, 07:01
Hallo,

es laufen wohl niemals zwei Timer gleichzeitig. Die einzelnen timergesteuerten Ereignisse können also nacheinander vom gleichen Timer erledigt werden. Damit hast du dann auch keine Probleme mit Überschneidungen, die ich zwangsläufig kommen sehe, wenn du mit dem Mediaplayer (verschiedene??) Sounds abspielen möchtest. Z.B. hast du unterschiedliche Ladezeiten bei unterschiedlicher Hardware. Das gibt zwangsläufig irgendwann mal Brühe

Delphi-Quellcode:
procedure TForm1.ErsterTimerEvent(Sender: TObject);
begin
  Timer.Tag := Timer.Tag + 1; // Tag als Hilfsmittel setzen, damit man jederzeit weiß, was der Timer gerade macht
  ...irgendwas tun
  if Timer.Tag > ??? then begin
    Timer.Enabled := false;
    Timer.OnTimer := ZweiterTimerEvent;
    Timer.Interval := 2000;
    Timer.Enabled := true;
  end;
end;

procedure TForm1.ZweiterTimerEvent(Sender: TObject);
begin
  Timer.Tag := Timer.Tag + 1;
   // ...irgendwas tun, z.B. den Mediaplayer starten, der dann das Tag des Timers neu setzt, wenn er FERTIG ist
   // ...Wenn Timer.Tag > "MediaPlayer ist fertig Tag" then TimerStart, TimerStop oder was sonst auch immer
end;

procedure TForm1.TimerStart;
begin
  Timer.Enabled := false;
  Timer.Tag := 0;
  Timer.Interval := 1000;
  Timer.OnTimer := ErsterTimerEvent;
  Timer.Enabled := true;
end;

Geändert von musicman56 (19. Nov 2013 um 09:54 Uhr) Grund: Bemerkung in ZweiterTimerEvent
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#2

AW: TTimer 2 Aktivieren

  Alt 19. Nov 2013, 10:20
danke für euer bemühen.

momentan sieht mein Code noch so aus

Delphi-Quellcode:
procedure TForm2.Button1Click(Sender: TObject);
begin
timer1.enabled:=true;
delay(2200, Application);
timer2.Enabled:=true;
delay(4800, Application);
timer3.enabled:=true;
delay(4500, Application);
timer4.Enabled:=true;
delay(4500, Application);
timer5.Enabled:=true;
end;
die Ersten 4 TImer werden ausgeführt ab dem 5. haengt er und es brauch bald 30 sekunden bevor das letzte Timer.event gestartet wird. Könnte das ein speicher leck sein??

dieser Code wird im timer5.event ausgeführt

Delphi-Quellcode:
procedure TForm2.Timer5Timer(Sender: TObject);
begin
    e:='Geburtsdatum:'+' '+Dbedit9.text;
    inc(m);
    if m > length(e) then
    begin
    timer5.enabled:=false;
    exit;
    end;
    Canvas.Font.Name := 'CLARENCE'; //Schriftart
    Canvas.Font.Style := [fsBold]; //Fett
    Canvas.Font.Height := 18; //Schriftgrösse
    canvas.textout(296+m*16,130,e[m]);
    if timer5.enabled=true then mediaplayer1.play else mediaplayer1.stop;
end;
  Mit Zitat antworten Zitat
Natcree

Registriert seit: 5. Mär 2013
502 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: TTimer 2 Aktivieren

  Alt 19. Nov 2013, 10:31
habe wohl den Auslöser gefunden in meiner mainform wird ein video als Hintergrund abgespielt. das Ganze mit der tmediaplayer komponente. Wenn ich diesen abschalte dann laufen die timer durch. Woran kann das liegen??
  Mit Zitat antworten Zitat
musicman56
(Gast)

n/a Beiträge
 
#4

AW: TTimer 2 Aktivieren

  Alt 19. Nov 2013, 11:57
Hallo,

hab ich dir nicht schon vorhergesagt, dass du mit deiner Vorgehensweise Probleme bekommen wirst? Sorry, aber wenn du nicht auf gut gemeinte (und in diesem Fall auch in der Praxis bewährte) Vorschläge eingehen willst, dann macht das für mich keinen Sinn mehr. Ich klinke mich jetzt aus.
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: TTimer 2 Aktivieren

  Alt 19. Nov 2013, 13:08
Fraglich ist, ob du überhaupt einen Timer brauchst ...

Wenn der nächste Buchstabe erscheinen soll, wenn der Sound fertig abgespielt ist, dann ist doch der Timer überflüssig.

Im Anhang ein Beispiel wie das ohne Timer gehen würde
Angehängte Dateien
Dateityp: zip 1236535.zip (843,4 KB, 0x aufgerufen)
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
Antwort Antwort


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 10:06 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz