Entwickler-Ecke
Sonstiges (Delphi) - Trackbar
chrisx - Sa 30.10.04 15:15
Titel: Trackbar
hallo, ich habe einen funktionstüchtigen swf-player geschrieben, den ich nun noch um eine funktion erweitern will:
nämlich eine Trackbar, die mit dem flash-film "mitwandert" und anzeigt, wieviel des filmes schon vergangen ist
zweitens soll man den "zeiger" verschieben können, um im flash-film nach vorne, bzw hinten spulen zu können.
ich bitte um eine genaue anleitung, da meine kentnisse in delphi sehr gering sind
und ich von der Trackbar überhaupt keine ahnung habe.
danke schon im voraus.
chrisx
ScorpionKing - Sa 30.10.04 15:45
ok ich probiers mal:
Quelltext
1: 2:
| prozent := totaltime / nowtime * 100; progressbar1.progress := prozent; |
also: totaltime ist die zeit des swf-files und nowtime die vergangene! die beiden zeiten musst aber selbst ermitteln, da ich keine ahnung hab wie dein player aussieht. mach ma nen download-link!
ScorpionKing 8)
.Chef - Sa 30.10.04 16:10
Also wenn überhaupt, dann andersrum. Und überhaupt ist das ein Integerwert und das heißt nicht Progress, sondern Position:
Delphi-Quelltext
1: 2:
| prozent:=Round(100*nowtime/totaltime); progressbar1.Position:=prozent; |
chrisx - Sa 30.10.04 16:26
wo muss ich diese 2 zeilen einbauen?
so: ?
Delphi-Quelltext
1: 2: 3: 4: 5: 6:
| procedure TForm1.TrackBar1Change(Sender: TObject); begin prozent:=Round(100*nowtime/totaltime); progressbar1.Position:=prozent;
end; |
aber dann kommt der fehler, dass "prozent" ein undefinierter bezeichner ist.
sourcehunter - Sa 30.10.04 16:34
Du musst zwischen Zeile 1 und 2 noch
einfügen!
chrisx - Sa 30.10.04 16:41
das habe ich nun auch eingefügt, aber es gibt ein neues problem, jetzt wird angezeigt, dass "nowtime" ein undefinierter bezeichner ist.
muss ich da einen timer einbauen, wenn ja, wie stelle ich das an?
.Chef - Sa 30.10.04 16:43
Die Zeitwerte erhältst du von deinem Player. Wenn du nicht weißt wie: SRC PLZ !!
chrisx - Sa 30.10.04 17:22
.Chef hat folgendes geschrieben: |
Die Zeitwerte erhältst du von deinem Player. Wenn du nicht weißt wie: SRC PLZ !! |
sorry, ich peile im moment gar nichts, kannst du deine worte etwas erläutern?
wulfskin - Sa 30.10.04 17:59
Also, nochmal langsam und der Reihe nach:
- Zunächst musst du herausfinden, wie du die aktuelle Position und die Länge der svf-Datei abfragen kannst.
- Dann setzt du die Eigenschaft TrackBar.Max auf die Länge.
- Um auch noch die aktuelle Position ständig aktualisiert anzuzeigen, benutzt du entweder einen Timer oder eine andere passende Funktion von deinem Abspieler und setzt die Eigenschaft TrackBar.Position auf die aktuelle Position.
- Um nun auch noch das Spulen zu ermöglichen, musst du in dem Ereignis TrackBar.OnChange die Eigenschaft Player.AktuellePosition auf TrackBar.Position setzen.
Ich hoffe, dass war jetzt verständlich.
Gruß Hape!
chrisx - Sa 30.10.04 18:35
danke,
jetzt habe selbst ich es verstanden.
.Chef - Sa 30.10.04 18:45
SRC PLZ steht für "Source Please" oder auch "Quellcode bitte" und ist der internationale Hilferuf der Vereinigung anonymer Programmierer nach mehr Information zu Beantwortung von Fragen. ;-)
chrisx - Sa 30.10.04 19:26
jetzt hab ich doch noch eine frage:
was muss ich schreiben, damit bei der übergabe von dateipfad ,auch die länge des ausgewählten films mit übergeben wird:
soweit bin ich:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| procedure TForm1.ffnenundabspielen1Click(Sender: TObject); begin OpenDialog1.Execute; ShockwaveFlash1.Movie:=OpenDialog1.FileName; ShockwaveFlash1.Time:=OpenDialog1.FileName; ShockwaveFlash1.play; end; |
was ist da falsch?
es wird angezeigt, dass Time (ShockwaveFlash1.Time:=OpenDialog1.FileName // Länge ds films + Pfad übergeben) ein undefinierter bezeichner ist, wie heist es aber sonst?
sourcehunter - Sa 30.10.04 19:58
Hat den die Klasse eine Variable mit dem Namen Time?
chrisx - Sa 30.10.04 20:28
sourcehunter hat folgendes geschrieben: |
Hat den die Klasse eine Variable mit dem Namen Time? |
des weiß ich ja net, deshalb habe ich den beitrag ja geschrieben
.Chef - Sa 30.10.04 20:45
Dann hast du da grundlegend was falsch verstanden. Für diese Frage ist nämlich die Delphihilfe zuständig. Ganz speziell reicht da schon dieses Syntaxhilfefenster, welches aufploppt, wenn du einen Punkt hinter den Bezeichner machst. Hier im Forum widmen wir uns tiefgreifenderen Problemen. ;-)
Gruß,
Jörg
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!