Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Dateien (videos) wie sortiert hintereinander laden /aufrufen (https://www.delphipraxis.net/100902-dateien-videos-wie-sortiert-hintereinander-laden-aufrufen.html)

taktaky 5. Okt 2007 10:51


Dateien (videos) wie sortiert hintereinander laden /aufrufen
 
Hallo

ich lade ein Video in mein Form so:
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin
MediaPlayer1.FileName:='01.avi';
MediaPlayer1.open;
MediaPlayer1.Display:=panel1;
MediaPlayer1.DisplayRect:=Panel1.ClientRect;
MediaPlayer1.Play;
end;
Ich habe aber 3 Videos : 01.avi, 01.avi, 03.avi

Ich möchte 2 Buttons erstellen:
Ein Button heisst "Nächste", lädt die Videos aufsteigend
Ein Button heisst "Vorherige", lädt die Videos absteigend

Hat jemand eine Idee?

DeddyH 5. Okt 2007 10:54

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Lad die Dateinamen in eine sortierte Stringliste.

taktaky 5. Okt 2007 11:09

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Zitat:

Zitat von DeddyH
Lad die Dateinamen in eine sortierte Stringliste.

meinst Du FindFirst/FindNext in eine sortierte Stringliste?

Aber wie genau :mrgreen:

DeddyH 5. Okt 2007 11:11

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Na, den ersten Teil hast Du ja schon (FindFirst/FindNext). Zur StringListe schau Dir mal die Property Sorted und die Methode Add() an.

Nuclear-Ping 5. Okt 2007 13:32

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Taktaky ... gib mir bitte mal deine Adresse. Ich komm dann vorbei und bring dir programmieren bei ... :twisted: ... jeden Tag ne neue geistreiche Frage, das kann man sich echt nicht mehr mit anschauen.

taktaky 6. Okt 2007 11:25

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Zitat:

Zitat von Nuclear-Ping
Taktaky ... gib mir bitte mal deine Adresse. Ich komm dann vorbei und bring dir programmieren bei ... :twisted: ... jeden Tag ne neue geistreiche Frage, das kann man sich echt nicht mehr mit anschauen.

Nein Danke :mrgreen:

taktaky 6. Okt 2007 11:29

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Zitat:

Zitat von DeddyH
Na, den ersten Teil hast Du ja schon (FindFirst/FindNext). Zur StringListe schau Dir mal die Property Sorted und die Methode Add() an.

ich habe eine FileListBox auf mein form angelegt. Die Videos-Datei-Namen werden damit drauf aufgelistet und sortiert .
Aber trotzdem ist nicht gut, da ich die Videos in einem Ordner separat anlegen möchte und das Objekt FileListBox hat leider bei mir keine Eigenschaft von "Directory" wo man den ordnernamen eintragen kann.

Mit dem Code werden Ordner gefunden und aufgelistet.
Ich möchte aber Keine Ordner sondern Files auflisten :
Delphi-Quellcode:
procedure ListeDir(Path: string; FileList: TStrings);
var
  SR: TSearchRec;
begin
  if FindFirst(Path + '*.*', faAnyFile, sr) = 0 then
  begin
    repeat
       if ((sr.Attr and faDirectory) = faDirectory) and
          (sr.Name <> '.') and
          (sr.Name <> '..') then
      begin
        FileList.Add(sr.Name);
      end;
    until FindNext(sr) <> 0;
    FindClose(sr);
  end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
ListeDir('C:\Windows\', ListBox1.Items);
end;
<>

Die Muhkuh 6. Okt 2007 11:35

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Hi taktaky,

anstatt Directory sollte Dir die Eigenschaft Delphi-Referenz durchsuchenMask mehr helfen.

Angenommen Du willst den Ordner C:\Meine Programme\PlayList\ auslesen, dann schreibst Du unter Mask "C:\Meine Programme\PlayList\*.*" rein (ohne die "" natürlich). Danach werden in der FileListBox nur die Dateien anzeigt, die auch in diesem Ordner sind.

taktaky 6. Okt 2007 11:47

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Zitat:

Zitat von Die Muhkuh
Hi taktaky,

anstatt Directory sollte Dir die Eigenschaft Delphi-Referenz durchsuchenMask mehr helfen.

Angenommen Du willst den Ordner C:\Meine Programme\PlayList\ auslesen, dann schreibst Du unter Mask "C:\Meine Programme\PlayList\*.*" rein (ohne die "" natürlich). Danach werden in der FileListBox nur die Dateien anzeigt, die auch in diesem Ordner sind.

Das stimmt aber das Problem, wenn ich den Pfad als relativ eingebe dann geht nicht !!!
also PlayList\*.* statt C:\Meine Programme\PlayList\*.*

<>

DeddyH 6. Okt 2007 11:48

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Setz doch Directory zur Laufzeit.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  FileListBox1.Directory := 'C:\Taktaky';
end;

taktaky 6. Okt 2007 11:52

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Zitat:

Zitat von DeddyH
Setz doch Directory zur Laufzeit.
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  FileListBox1.Directory := 'C:\Taktaky';
end;

Aber das ist keine alternative Lösung, da dies nur auf meinem PC funktionieren konnte, und bei anderen nicht :mrgreen:

Bei mir ist C:\ ... bei andern kann D:\.. :gruebel:

<>

DeddyH 6. Okt 2007 11:53

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Das war doch nur ein Beispiel, Mensch. Zur Not kannst Du doch vorher das Programmverzeichnis oder was auch immer ermitteln und das dann eintragen.

Die Muhkuh 6. Okt 2007 12:00

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  FileListBox1.Mask:= IncludeTrailingPathDelimiter(ExtractFilePath(Application.Exename)) + '*.*';
end;

taktaky 6. Okt 2007 12:12

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Zitat:

Zitat von Die Muhkuh
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  FileListBox1.Mask:= IncludeTrailingPathDelimiter(ExtractFilePath(Application.Exename)) + '*.*';
end;


:firejump: nun funktioniert, sowohl mit meinem Code, was Deddy vorgeschalgen hat, als auch von Muhkuh

Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
begin
  FileListBox1.Directory := ExtractFilePath(ParamStr(0)); // und in mask auch "Ordnername\*.*" eingeben

// oder so:
  FileListBox2.Mask:= IncludeTrailingPathDelimiter(ExtractFilePath(Application.Exename)) + 'Ordnername\*.*';
end;
Danke für beide ;)

<>

taktaky 6. Okt 2007 12:27

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Es geht weiter :mrgreen:

Nun habe ich 2 Buttons um die Videos (Video-Namen in der Liste) zu wählen (Nächste und Vorherige):
Delphi-Quellcode:

procedure TForm1.NaechsteClick(Sender: TObject);
begin
FileListBox1.ItemIndex:=FileListBox1.ItemIndex+1
end;

procedure TForm1.VorherigeClick(Sender: TObject);
begin
FileListBox1.ItemIndex:=FileListBox1.ItemIndex -1;
end;
Wie soll nun der Code lauten?

Das ausgewählte Video in der FileListBox (FileListBox1.ItemIndex) soll aufgerufen werden . Aber wie?

Delphi-Quellcode:

//MediaPlayer1.FileName:='01.avi';
MediaPlayer1.FileName:=???;
MediaPlayer1.open;
MediaPlayer1.Display:=panel1;
MediaPlayer1.DisplayRect:=Panel1.ClientRect;
MediaPlayer1.Play;
---

DeddyH 6. Okt 2007 12:32

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Delphi-Quellcode:
FileListBox1.Items[FileListBox1.ItemIndex]

Die Muhkuh 6. Okt 2007 12:32

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
[delphi]MediaPlayer1.FileName := FileListBox.Items[FileListBox.ItemIndex]; [delphi]

Oder sowas in der Art ;)

@ :twisted: Detlef! :mrgreen:

taktaky 6. Okt 2007 12:55

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Liste der Anhänge anzeigen (Anzahl: 1)
Oh vielen Dank!

Nun funktioniert noch besser :mrgreen:

Was nun fehlt ist nur den Ordner mit seinem Inhalt (videos) an exe oder in eine dll binden und dann die Videos (Daten) von dort auslesen

<.>

DeddyH 6. Okt 2007 13:01

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Lesen!

taktaky 6. Okt 2007 23:17

Re: Dateien (videos) wie sortiert hintereinander laden /aufr
 
Zitat:

Zitat von DeddyH

Schon durchgelesen.
Teil 1 kenne ich bereit, wie man .Res erstellt und dann an exe bindet
Aber wie man einen Ordner als Archiv an exe packt und wieder bei Laufzeit irgendwo entpackt, gibt es keine Erklärung!

<>


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:53 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