AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Multimedia Delphi kleiner Mediaplayer für eine Webcam
Thema durchsuchen
Ansicht
Themen-Optionen

kleiner Mediaplayer für eine Webcam

Ein Thema von black_hawk · begonnen am 21. Jun 2005 · letzter Beitrag vom 22. Jun 2005
Antwort Antwort
black_hawk

Registriert seit: 16. Mai 2005
Ort: Worin
14 Beiträge
 
Delphi 2005 Professional
 
#1

kleiner Mediaplayer für eine Webcam

  Alt 21. Jun 2005, 19:56
Moin, ich bin noch Delphi-Neuling und komme jetzt nicht mehr weiter. Habe mir schon ein bischen was aus der DP angelesen und ich hoffe das ihr mir jetzt bei meiner Frage bzw. Fragen helfen könnt.

Was habe ich vor?: Ich will mir einen kleinen Mediaplayer basteln der über ComboBoxen auf verschiedene Verzeichnisse zugreifen kann und mir dann die Dateien (avi) in einer Listbox anzeigt. Als nächstes ist dann geplant das ich über 2 DateTimePicker nur die Dateien für den ausgewählten Zeitraum anzeigen lasse. Aber dafür mache ich dann evtl. einen neuen Thread auf.

Der Mediaplayer und die Listbox funktionieren schon. Allerdings gebe ich im Moment noch ein festes Verzeichnis an. Das will ich aber eigentlich über die ComboBoxen auswählen. Das bekomme ich aber irgendwie nicht hin.
Das Verzeichnis bzw. die Dateien lade ich im Moment über einen Butten in die Listbox.

Meine Frage nun, wie bekomme ich es hin das ich das feste Verzeichnis nicht mehr brauche und ich die Verzeichnisse über die ComboBoxen in die ListBox laden und anzeigen kann?


Ich hoffe das dass relativ verständlich geschrieben ist...

Bin für jeden Tipp dankbar!


mfg black_hawk
  Mit Zitat antworten Zitat
Benutzerbild von turboPASCAL
turboPASCAL

Registriert seit: 8. Mai 2005
Ort: Sondershausen
4.274 Beiträge
 
Delphi 6 Personal
 
#2

Re: kleiner Mediaplayer für eine Webcam

  Alt 21. Jun 2005, 20:46
Hi, hiflt Dir das weiter ? Hier im Forum suchenfindnext AND listbox

z.B:

http://www.delphipraxis.net/internal...=349375#349375
Matti
Meine Software-Projekte - Homepage - Grüße vom Rüsselmops -Mops Mopser
  Mit Zitat antworten Zitat
black_hawk

Registriert seit: 16. Mai 2005
Ort: Worin
14 Beiträge
 
Delphi 2005 Professional
 
#3

Re: kleiner Mediaplayer für eine Webcam

  Alt 21. Jun 2005, 21:51
Moin, das hilft mir leider nicht wirklich weiter. Die Dateisuche an sich habe ich ja schon. Ich habe die Suchfunktion auch schon bemüht, aber nichts zu meinem Problem gefunden.
Ich will ja mit den ComboBoxen die Ordner auswählen und mir den Inhalt der Ordner in der ListBox anzeigen lassen.


mfg black_hawk
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#4

Re: kleiner Mediaplayer für eine Webcam

  Alt 21. Jun 2005, 23:24
Hallo!

Dann musst du den Comboboxen ja irgendwie Pfade zuweisen, ich verstehe nicht genau, was du meinst.

Sollen die Laufwerksbuchstaben ausgewählt werden können, hilft dir das hier.
  Mit Zitat antworten Zitat
black_hawk

Registriert seit: 16. Mai 2005
Ort: Worin
14 Beiträge
 
Delphi 2005 Professional
 
#5

Re: kleiner Mediaplayer für eine Webcam

  Alt 22. Jun 2005, 00:24
Hallo, also ich will in den ComboBoxen als Namen z.B.

Verzeichnis 1
Verzeichnis 2
Verzeichnis 3 etc. zu stehen haben.

Wenn ich dann z.B. auf Verzeichnis 1 klicke soll der Inhalt des Verzeichnisses in einer ListBox angezeigt werden.
Mir geht es nun darum, wie kann ich dem jeweiligen Eintrag in der ComboBox einen String zuweisen der den Pfad enthält und mir dann den Inhalt des Verzeichnisses in der ListBox anzeigt?

Die Rekusrive Dateisuche habe ich schon und der Mediaplayer funzt auch, allerdings mit einem festen Pfad. Das würde ich aber gerne ändern und über die ComboBoxen auswählen.

mfg black_hawk
  Mit Zitat antworten Zitat
Unwissender

Registriert seit: 11. Dez 2003
16 Beiträge
 
#6

Re: kleiner Mediaplayer für eine Webcam

  Alt 22. Jun 2005, 07:22
Hi,

du sagst ja, dass du schon eine fertige Methode zum Durchsuchen hast? Ich nenn die im Folgenden einfach mal durchsuchen und geh davon aus, dass der einzigste Parameter der Verzeichnis-String (bzw Pfad-String) ist.

Dann würde ich mal sagen, möchtest du immer dann etwas neues tun, wenn jmd. den Eintrag in der ComboBox ändert, also kommt der folgende Code in die OnChange-Methode der jeweiligen Combobox.

Es gibt mehrere Möglichkeiten, so könntest du einfach stupide Vergleiche machen
 if (ComboBox1.text = 'Verzeichnis 1then self.durchsuche('\Verzeichnis1\') Du könntest auch ein Array benutzen, dass genau so groß ist wie die Anzahl deiner Verzeichnisse und dann könntest du so was machen wie
Delphi-Quellcode:
...
verzeichnisse : Array[0..AnzahlVerzeichnisse - 1] of String;
...
if (self.ComboBox1.ItemIndex >=0) AND (self.ComboBox1.ItemIndex < length(AnzahlVerzeichnisse) then
 begin
   self.durchsuche(verzeichnisse[self.ComboBox1.ItemIndex]);
 end;
Oder gar ein TStrings-Objekt, mit einer Wrapper-Klasse für den Pfad, also eine Klasse die einfach nur ein String enthält. Die kann man in ein TStrings-Objekt mit addObject(Bezeichner, Wrapper) packen und dann im OnChange einfach den dieses Objekt als Pfad benutzen (also nicht direkt das Objekt, sondern den String darin. Type-Cast nicht vergessen!).
Ich weiß auch nicht genau wie du das mit den festen Pfaden meinst, aber stehen die zur Design-Zeit fest? Oder wann werden die wie festgelegt?
  Mit Zitat antworten Zitat
black_hawk

Registriert seit: 16. Mai 2005
Ort: Worin
14 Beiträge
 
Delphi 2005 Professional
 
#7

Re: kleiner Mediaplayer für eine Webcam

  Alt 22. Jun 2005, 12:01
@ Unwissender
Danke, das könnte mir schon helfen. Werde es mal ausprobieren.

Mit "festen" Pfaden meine ich - das wenn ich z.B. auf "Verzeichnis 1" in der ComboBox klicke, soll mir z.B. das Verzeichnis "D:\Logitech" in der ListBox angezeigt wird.
Wenn ich auf "Verzeichnis 2" klicke soll z.B. das Verzeichnis "E:\Kamera\Logitech" in der ListBox angezeigt werden. Es soll also hinter jedem Eintrag der ComboBox ein anderes Verzeichnis sein.
Das meine ich mit festen Pfaden.

Muss ich da für jeden Eintrag die Rek. Suche durchführen, oder reicht es wenn ich jeweils nur den angeklickten Eintrag der ComboBox abfrage???

Die Endverzeichnisse stehen noch nicht fest. Aber wenn ich erst mal weiss wie man es macht, dürfte eine spätere Änderung ja kein Problem sein?!

Ich hoffe das jetzt einigermaßen klar ist was ich meine?!

mfg black_hawk
  Mit Zitat antworten Zitat
Unwissender

Registriert seit: 11. Dez 2003
16 Beiträge
 
#8

Re: kleiner Mediaplayer für eine Webcam

  Alt 22. Jun 2005, 12:15
Ok bleibt halt noch die Frage, wann werden denn diese Zuordnungen festgelegt?

Also wer legt fest, das Verzeichnis 1 "C:\Bla" und Verzeichnis 2 "D:\BLubb" entspricht? Wird das geladen oder ist das immer fest?

Gruß Andreas
  Mit Zitat antworten Zitat
black_hawk

Registriert seit: 16. Mai 2005
Ort: Worin
14 Beiträge
 
Delphi 2005 Professional
 
#9

Re: kleiner Mediaplayer für eine Webcam

  Alt 22. Jun 2005, 12:17
Hallo,
also, die Zuodnungen der Verzeichnisse lege ich erst mal fest. Sie werden später nur nochmal angepasst.
Die Verzeichnisse sind immer fest. Es können vielleicht noch ein oder zwei dazu kommen, aber ansonsten ändert sich nichts. Die Verzeichnisse sind also nicht variabel.

mfg black_hawk
  Mit Zitat antworten Zitat
Benutzerbild von DGL-luke
DGL-luke

Registriert seit: 1. Apr 2005
Ort: Bad Tölz
4.149 Beiträge
 
Delphi 2006 Professional
 
#10

Re: kleiner Mediaplayer für eine Webcam

  Alt 22. Jun 2005, 22:02
ich repetiere noch einmal dein problem:

du hast eine Combobox und eine ListBox. wird in der Combobox ein verzeichnis ausgewählt, so willst du den inhalt desselben in der Listbox anzeigen lassen.

1. wenn in der combobox keine pfadangaben sondern nur beliebiege angaben stehen:

Delphi-Quellcode:
const
 directories: array[0..2] of string
 ('C:\','D:\Webcam\','E:\woanders\');
so bekommst du nun im CBDirectories.OnChange mit directories[(sender as TCombobox).ItemIndex] dein Verzeichnis

2. um die Dateien aufzulisten:

Delphi-Quellcode:
function getSubDirs(path:string):TStrings;
var srec:TSearchrec;
begin
result:=TStirngList.create;

findfirst(path+'*.*',faDirectory,srec); //liefert'.';
findnext(srec); // liefert '.'

while findnext(srec) do
 if (srec.Attr and faDirectory) <> 0 then
  result.add(srec.Name);
findclose(srec);
end;
sonst noch was?
wenn du "abtauchen" willst, musst du rekursiv vorgehen, sprich für jedes gefundene verzeichnis noch einmal getSubDirs aufrufen, und die stringlist an die vorhandene anhängen.
Lukas Erlacher
Suche Grafiktablett. Spenden/Gebrauchtangebote willkommen.
Gotteskrieger gesucht!
For it is the chief characteristic of the religion of science that it works. - Isaac Asimov, Foundation I, Buch 1
  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 00:27 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