AGB  ·  Datenschutz  ·  Impressum  







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

Animation nur einmal ablaufen lassen

Ein Thema von SaFu · begonnen am 29. Jul 2008 · letzter Beitrag vom 29. Jul 2008
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#1

Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:10
Hi

Wie kann ich eine .avi ein enziges mal abspielen lassen. Vielleicht mal etwas Code dann wirds ersichtlicher.

Das hier läuft in einem Timer

Delphi-Quellcode:
      if (bild = '.jpg') then //Pfad + .jpg auf TImage
        begin
          AnVideo.Visible:= False;
          // Laden der Bilder
          Image1.Picture.LoadFromFile(Bilddat + FileListBox1.Items[index]);
        end;

       if (bild = '.avi') then //Pfad + .avi auf TAnimate
        begin
        AnVideo.Visible:= True;
        Timer2.Enabled:= False;
        AnVideo.FileName:= Form1.VistaPfadBilder + FileListBox1.Items[index];
        AnVideo.Active:= True;

          if Anvideo.Repetitions <> 1 then
           begin
            Timer2.Enabled:= True;
           end;
        end;
Jedes mal wenn eine .avi gefunden wird würde ich diese gerne einmal Komplett durchlaufen lassen aber bekomm das irgendwie nicht hin.

Benutze zur Zeit zum Testen die Clock.avi die hat ja mehrere Bilder und wenn die durchgelaufen sind (die .avi) dann der Timer wieder laufen
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:18
Laut Hilfe sollte es genügen, Repetitions auf 1 zu setzen.
Zitat:
Die Eigenschaft Repetitions gibt an, wie oft die Frame-Sequenz wiederholt werden soll.

property Repetitions: Integer;

Beschreibung

Setzen Sie Repetitions auf die Anzahl der gewünschten Wiederholungen, die erfolgen sollen, sobald Active auf True gesetzt ist. Nach Ablauf aller Wiederholungen steht Active wieder auf False.

Wenn eine Sequenz nur einmal gezeigt werden soll, setzen Sie Repetitions auf 1. Der Wert 0 löst eine ununterbrochene Wiederholung aus. Die Animation muß dann mit der Eigenschaft Active oder der Methode Stop unterbrochen werden.

Hinweis

Die Methode Play überschreibt den Wert von Repetitions mit dem Wert ihres Parameters Count.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#3

Re: Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:20
Hatte ich ja und habe dann ja auch darauf geprüft oben ist es jetzt zwar <> aber hatte auf = geprüft Trotzdem ging es nicht
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Benutzerbild von Die Muhkuh
Die Muhkuh

Registriert seit: 21. Aug 2003
7.332 Beiträge
 
Delphi 2009 Professional
 
#4

Re: Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:23
Was macht der Timer2?
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#5

Re: Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:23
Ich verstehe die Logik nicht ganz. Du willst den Timer starten, wenn die Animation einmal durchgelaufen ist?
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#6

Re: Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:26
Der ist für das laden der Bilder zusändig

Ich halte Ihn an um die Avi datei abzuspielen und dannach soll er weiter laufen. Mir ist klar das er dann iwieder von anfang an anfängt aber das er da weiter macht wo er aufgehört hat mach ich dannach

Delphi-Quellcode:
procedure TForm3.Timer2Timer(Sender: TObject);
begin
  if FileListBox1.Items.Count > 0 then
   begin

     if index > FileListBox1.Items.Count -1 then
      index:= 0;
        FileListbox1.Selected[index]:= true;
          bild:= Lowercase(ExtractFileExt(Bilddat + FileListBox1.Items[index]));

      if (bild = '.jpg') then //Pfad + .jpg
        begin
          AnVideo.Visible:= False;
          // Laden der Bilder
          Image1.Picture.LoadFromFile(Bilddat + FileListBox1.Items[index]);
        end;

       if (bild = '.avi') then //Pfad + .avi
        begin
        AnVideo.Visible:= True;
        Timer2.Enabled:= False;
        AnVideo.FileName:= Form1.VistaPfadBilder + FileListBox1.Items[index];
        AnVideo.Active:= True;

          if Anvideo.Repetitions = 1 then
           begin
            Timer2.Enabled:= True;
           end;
        end;

     inc(index);
     Label2.Caption:= 'Bild '+ IntToStr(index)+' von '+ IntToStr(FileListBox1.Items.Count);
   end

   else
    begin
     Timer2.Enabled:= false;
    end;
 end;
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#7

Re: Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:26
Du solltest evtl. besser auf Active prüfen. Repetitions wird nicht pro Durchlauf runtergezählt, sondern ist nur ein Vorgabewert.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.540 Beiträge
 
Delphi 11 Alexandria
 
#8

Re: Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:29
Wenn ich das richtig verstanden habe, wird bei TAnimate nach dem Abspielen das Ereignis OnStop ausgelöst. Das wäre IMO der bessere Ansatzpunkt.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von SaFu
SaFu

Registriert seit: 8. Nov 2006
1.360 Beiträge
 
Delphi 10.3 Rio
 
#9

Re: Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:33
Zitat von Medium:
Du solltest evtl. besser auf Active prüfen. Repetitions wird nicht pro Durchlauf runtergezählt, sondern ist nur ein Vorgabewert.
Danke ging aber auch nicht

Das mit dem OnStop hat funktioniert danke schön
"... Wie gesagt, die Nutzer von 10, 12, 14 Zoll Display's werden deine Seite nicht in voller Pracht sehen können, ...

Surft Ihr mit dem Taschenrechner?"
  Mit Zitat antworten Zitat
Medium

Registriert seit: 23. Jan 2008
3.679 Beiträge
 
Delphi 2007 Enterprise
 
#10

Re: Animation nur einmal ablaufen lassen

  Alt 29. Jul 2008, 14:36
Zitat von DeddyH:
Zitat von OH:
[...]Nach Ablauf aller Wiederholungen steht Active wieder auf False.[...]
Dann stimmt diese Aussage der Hilfe nicht.
"When one person suffers from a delusion, it is called insanity. When a million people suffer from a delusion, it is called religion." (Richard Dawkins)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:28 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