ext. Programme starten (VLC)

Für Fragen von Einsteigern und Programmieranfängern...

Re: ext. Programme starten (VLC)

Beitragvon wp_xyz » 7. Okt 2019, 17:40 Re: ext. Programme starten (VLC)

Oh, da brauche ich ja Indy... Zum Glück ging das mit OPM einfach zu installieren. Nun stehe ich vor dem Problem wie ich das Programm anwende, um den Fehler zu sehen. Ich helfe ja gerne, aber ich habe keine rechte Lust, ein fremdes Programm so auseinanderzunehmen, um die Problemstelle zu finden...
wp_xyz
 
Beiträge: 3006
Registriert: 8. Apr 2011, 08:01

Beitragvon reiter » 7. Okt 2019, 17:46 Re: ext. Programme starten (VLC)

Ich habe zum Beispiel ein NAS wo all meine Filme liegen
Dafür ist es auch gedacht um im internen Netzwerk Filme auf den pc zu streamen
reiter
 
Beiträge: 129
Registriert: 18. Nov 2017, 16:58

Beitragvon Warf » 7. Okt 2019, 17:49 Re: ext. Programme starten (VLC)

wp_xyz hat geschrieben:Zum Glück ging das mit OPM einfach zu installieren..


Hehehe... dann wart mal ab bis du nach indy was neues installieren willst :twisted: Indy muss vor jedem kompilieren von lazarus einmal händisch neu kompiliert werden. Und mit Indy hab ichs auch geschafft den OPM zu zerschießen (sodass der OPM dachte die pakete wären installiert worden, obwohl nur ein teil korrekt installiert wurde. Ich musste dann per hand die OPM dateien löschen damits wieder ging)

Indy ist wie Chemotherapie, funktioniert wenn nix anderes mehr hilft, macht aber im allgemeinen mehr kaputt als es hilft. Ich halte mir mittlerweile eine eigene Lazarus version vor für Indy, damit ich mich nur für projekte bei denen ich das auch wirklich benutze damit rumschlagen muss
Warf
 
Beiträge: 1262
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: MacOS | Win 10 | Linux | 
CPU-Target: x86_64
Nach oben

Beitragvon wp_xyz » 7. Okt 2019, 22:13 Re: ext. Programme starten (VLC)

Warf hat geschrieben:Hehehe... dann wart mal ab bis du nach indy was neues installieren willst :twisted: Indy muss vor jedem kompilieren von lazarus einmal händisch neu kompiliert werden. Und mit Indy hab ichs auch geschafft den OPM zu zerschießen (sodass der OPM dachte die pakete wären installiert worden, obwohl nur ein teil korrekt installiert wurde. Ich musste dann per hand die OPM dateien löschen damits wieder ging)

Indy ist wie Chemotherapie, funktioniert wenn nix anderes mehr hilft, macht aber im allgemeinen mehr kaputt als es hilft. Ich halte mir mittlerweile eine eigene Lazarus version vor für Indy, damit ich mich nur für projekte bei denen ich das auch wirklich benutze damit rumschlagen muss

Kann ich jetzt nicht nachvollziehen, bisher ging alles glatt, auch das Installieren und Deinstallieren eines weiteren Package. Aber das soll wahrscheinlich nichts heißen. Das Zeug kommt so schnell wie möglich wieder runter.
wp_xyz
 
Beiträge: 3006
Registriert: 8. Apr 2011, 08:01

Beitragvon pluto » 7. Okt 2019, 22:27 Re: ext. Programme starten (VLC)

Oh, da brauche ich ja Indy... Zum Glück ging das mit OPM einfach zu installieren.

Ja, damit ist es einfach, aber dann macht man ein fpc+Lazarus Update mit fpcupdeluxe und schon gibt es massive Probleme beim neu Kompilieren....
Wegen irgendwelcher Fehler.... z.b. Syntax Fehler(was ja eigentlich nicht sein, kann), oder es wird irgendwas nicht gefunden... Hatte ich schon oft z.b. mit den BRA* Komponenten(darum meide ich sie inzwischen auch).
MFG
Michael Springwald
Aktuelles Projekt: ContentManager2(Ehmals NoteManager2).
pluto
Lazarusforum e. V.
 
Beiträge: 7023
Registriert: 19. Nov 2006, 12:06
Wohnort: Oldenburg(Oldenburg)
OS, Lazarus, FPC: Linux Mint 19.2 | 
CPU-Target: AMD
Nach oben

Beitragvon Warf » 7. Okt 2019, 22:37 Re: ext. Programme starten (VLC)

Beim kompilieren von Indy wird irgendeine Art hash gebildet, abhängig von der Lazarus Version/lcl Version oder so (eventuell ist da sogar das Datum drin)
Wird Lazarus neu gebaut, Indy aber nicht (da sich am Indy Source ja nix geändert hat ist das ja auch zu erwarten) wird dieser hash nicht geupdated, stimmt aber nicht mehr mit dem neuen LCL Build überein (der ist ja jetzt anders da sich ja irgendwas geändert hot, sonst würd man ja nicht neukompilieren) und es kracht

Einfacher fix: nachdem es kracht auf installierte packages anzeigen gehen, Indy suchen, neu kompilieren, und dann erst Lazarus neu kompilieren
Warf
 
Beiträge: 1262
Registriert: 23. Sep 2014, 16:46
Wohnort: Aachen
OS, Lazarus, FPC: MacOS | Win 10 | Linux | 
CPU-Target: x86_64
Nach oben

Beitragvon af0815 » 8. Okt 2019, 08:25 Re: ext. Programme starten (VLC)

Warf hat geschrieben:Indy ist wie Chemotherapie, funktioniert wenn nix anderes mehr hilft, macht aber im allgemeinen mehr kaputt als es hilft. Ich halte mir mittlerweile eine eigene Lazarus version vor für Indy

Kann ich unterschreiben. Bei mir hat es an einer Datei gehangen, die man immer wieder händisch builden musste, nach einem clear Build. Das ist echt öde, wenn das komplette Lazarus rekompilieren wegen so einem Paket abbricht. Vor allen, wenn man DirextX und Indy in einem Projekt benötigt kann es toxisch werden, bis hinunter das der FPC ohne Patch (mit 3.2 behoben) nicht mehr linken kann.

Ich habe mir ein eigens Indy-Paket gebastelt wo nur die Teile drinnen sind die ich für ein anderes Projekt (Modbus Master/Slave) wirklich nur benötige.
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
af0815
 
Beiträge: 3801
Registriert: 7. Jan 2007, 10:20
Wohnort: Niederösterreich
OS, Lazarus, FPC: FPC 3.2 Lazarus 2.0 per fpcupdeluxe | 
CPU-Target: 32Bit (64Bit)
Nach oben

Beitragvon reiter » 8. Okt 2019, 09:00 Re: ext. Programme starten (VLC)

Guten. Morgen,
Ok gut zu wissen das ich wenn ich mal auf ein neues Lazarus aktualisiere das mit indy im Hinterkopf habe...
Aber hilft mir momentan auch nicht weiter mit der Listbox und einlesen der Liste ..

Wie kann ich den die Einträge der Reihe nach einlesen in die Listbox...?
Das was ich gefunden habe ist
Code: Alles auswählen
idftp1.List(listbox1.items.add(´*.tsˋ,false));


Da muss ich aber jede Zeile eingeben , was ich aber nicht weiß Wieviele Zeilen in der Liste sind, also müsste das dynamisch gehen..
Kann mir da mal einer bitte helfen
reiter
 
Beiträge: 129
Registriert: 18. Nov 2017, 16:58

Beitragvon fliegermichl » 8. Okt 2019, 13:17 Re: ext. Programme starten (VLC)

reiter hat geschrieben:Guten. Morgen,
Ok gut zu wissen das ich wenn ich mal auf ein neues Lazarus aktualisiere das mit indy im Hinterkopf habe...
Aber hilft mir momentan auch nicht weiter mit der Listbox und einlesen der Liste ..

Wie kann ich den die Einträge der Reihe nach einlesen in die Listbox...?
Das was ich gefunden habe ist
Code: Alles auswählen
idftp1.List(listbox1.items.add(´*.tsˋ,false));


Da muss ich aber jede Zeile eingeben , was ich aber nicht weiß Wieviele Zeilen in der Liste sind, also müsste das dynamisch gehen..
Kann mir da mal einer bitte helfen


Das verstehe ich nicht so ganz. Hast du in Listbox1 eine Liste von Dateiendungen und die sollen dann eine nach der anderen an idftp1.list übergeben werden?
Wie liefert Tidftp.list die Ergebnisse?
fliegermichl
Lazarusforum e. V.
 
Beiträge: 416
Registriert: 9. Jun 2011, 08:42
Wohnort: Echzell
OS, Lazarus, FPC: Winux (L 2.0.7 FPC 3.04) | 
CPU-Target: 32/64Bit
Nach oben

Beitragvon reiter » 8. Okt 2019, 14:39 Re: ext. Programme starten (VLC)

Ja genauso wie Du es geschrieben hast , soll es von statten gehen, ich wollte auch noch mehr Filter setzten wie *.avi und *.mp4 gleichzeitig mit *.ts ...das geht aber auch nicht .
Das einzigste was ich gefunden hatte zu idftp.List war halt das mit der Listbox.
Das Problem ist halt, sobald ich den Filter raus nehme und die Liste größer wird , das da das einlesen abgeschnitten wird. Wie in dem Foto hier im Thread schon gepostet auf der ersten Seite . Das das einlesen irgendwie abgebrochen wird?

Das was ich gefunden habe ist das hier:

https://www.delphi-treff.de/tutorials/n ... et/indy/4/
reiter
 
Beiträge: 129
Registriert: 18. Nov 2017, 16:58

Beitragvon wp_xyz » 8. Okt 2019, 18:16 Re: ext. Programme starten (VLC)

Die Frage ist also: Wie kann man (mit Indy o.ä.) eine Liste aller *.ts, *.avi,*.mkv, *.mp4-Dateien von einem FTP-Server laden?
wp_xyz
 
Beiträge: 3006
Registriert: 8. Apr 2011, 08:01

Beitragvon reiter » 8. Okt 2019, 18:19 Re: ext. Programme starten (VLC)

ja genau...

das beste Beispiel war halt dafür genau das..

Aktuellen Server-Verzeichnisinhalt in Listbox anzeigen
Zum Auslesen eines Verzeichnisinhalts wird die Methode List verwendet, die in verschiedenen Varianten existiert. Am flexibelsten ist die Variante ohne Parameter. Anschließend findet man alle Daten in IdFtp1.DirectoryListing. Dabei handelt es sich um eine Liste von TIdFtpListItems, über die man iterieren kann. Jedes Element besitzt z.B. die Eigenschaft FileName, die man in eine ListBox einfügen kann:

var
I: Integer;
begin
ListBox1.Clear;
if IdFTP1.Connected then
begin
IdFTP1.List();
for I := 0 to IdFtp1.DirectoryListing.Count - 1 do
ListBox1.Items.Add(IdFtp1.DirectoryListing.Items[I].FileName);
end;
reiter
 
Beiträge: 129
Registriert: 18. Nov 2017, 16:58

Beitragvon fliegermichl » 9. Okt 2019, 07:32 Re: ext. Programme starten (VLC)

Genauso sollte das doch funktionieren.
Nur das du das eben für jede Dateiendung separat aufrufen musst.
Ich gehe hier jetzt mal davon aus, daß es ein Memo gibt in dem pro Zeile eine Dateiendung drinsteht also z.B.
*.ts
*.avi
...

Code: Alles auswählen
 
procedure GetFiles;
var i, e : integer;
begin
 Listbox1.Clear;
 for e := 0 to Memo1.Lines.Count - 1 do
 begin
  idFTP1.List(Memo1.Lines[e], False);
  for i := 0 to idFTP1.DirectoryListing.Count - 1 do
   if IdFTP1.DirectoryListing.Items[i].ItemType = ditFile then
    ListBox1.Items.Add(idFTP1.DirectoryListing[i].FileName);
 end;
end;
 
fliegermichl
Lazarusforum e. V.
 
Beiträge: 416
Registriert: 9. Jun 2011, 08:42
Wohnort: Echzell
OS, Lazarus, FPC: Winux (L 2.0.7 FPC 3.04) | 
CPU-Target: 32/64Bit
Nach oben

Beitragvon reiter » 9. Okt 2019, 07:47 Re: ext. Programme starten (VLC)

Na ob das n Memo ist weiß ich nicht, wird halt vom FTP abgefragt.
Und wo deklariere ich in deinem Beispiel die Endung ?

Vielleicht kann ich die Endungen als Variablen deklarieren und so mit aufrufen
Var
A: *.ts;
B: *.mp4;
C: *.avi;

Usw

Bis jetzt habe ich das nur so abgefragt wie hier..

Code: Alles auswählen
idftp1.List(Listbox1.items '*.ts',fasle);

So funktioniert das auch aber halt nur mit einer Endung , mehrere kann ich da nicht einfügen
Und wenn ich die Endung Weg lasse, (*),false; dann wird die Liste wahrscheinlich so groß das ein timeout kommt und das einlesen abbricht.
Den Timeout habe ich auch schon hoch gesetzt, aber kein Erfolg

Gruß
Reiter
reiter
 
Beiträge: 129
Registriert: 18. Nov 2017, 16:58

Beitragvon fliegermichl » 9. Okt 2019, 08:29 Re: ext. Programme starten (VLC)

Ok, ich formuliere es mal um.

Code: Alles auswählen
 
procedure GetFiles;
var i, e : integer;
 Dateiendungen : TStringlist;
begin
 Dateiendungen := TStringlist.Create;
 try
  // Hier befüllen wir die Liste der Dateiendungen mit allen gewünschten Werten
  DateiEndungen.Add('*.ts');
  DateiEndungen.Add('*.avi');
 // usw.
 
  Listbox1.Clear;
  for e := 0 to Dateiendungen.Count - 1 do
  begin
   idFTP1.List(Dateiendungen[e], False);
   for i := 0 to idFTP1.DirectoryListing.Count - 1 do
    if IdFTP1.DirectoryListing.Items[i].ItemType = ditFile then
     ListBox1.Items.Add(idFTP1.DirectoryListing[i].FileName);
  end;
 finally
  Dateiendungen.Free;
 end;
end;
 
fliegermichl
Lazarusforum e. V.
 
Beiträge: 416
Registriert: 9. Jun 2011, 08:42
Wohnort: Echzell
OS, Lazarus, FPC: Winux (L 2.0.7 FPC 3.04) | 
CPU-Target: 32/64Bit
Nach oben

» Weitere Beiträge siehe nächste Seite »
VorherigeNächste

Zurück zu Einsteigerfragen



Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 3 Gäste

porpoises-institution
accuracy-worried