Servus Leute
ich möchte gerne in meinem Prgram nicht nur einzelne Dateien, sondern eine bestimmte Sorte von Dateien aus einem Ordner einlesen.und nicht jede Datei einzeln.
Beispiel: ich möcht aus einem Ordner nur Mp3 Dateien auslesen und den Namen der Datei dann in einer Memo kompnente anzeigen
hab keinen Plan wie man ganze Ordner einlesen kann.
vielleicht kann mir ja jemand helfen
gruß gewup
Seite 1 von 1
Einlesen Von Ordnern Borland C++
Anzeige
#2
geschrieben 03. Mai 2006 - 14:02
Moin,
hier findest du ein sehr gutes Tutorial (mit Source-Code), hat mir damals auch sehr geholfen:
Arbeiten mit Verzeichnissen
Ist allerdings Englisch, ist hoffentlich kein Problem.
hier findest du ein sehr gutes Tutorial (mit Source-Code), hat mir damals auch sehr geholfen:
Arbeiten mit Verzeichnissen
Ist allerdings Englisch, ist hoffentlich kein Problem.
#3
geschrieben 30. Mai 2006 - 13:14
Hi Leute
ich hab mal rumgeforscht und hab folgendes gefunden
habe mir gedacht dass dies irgendwie vorprogramiert ist, so wie die opendialog komponente vom BorlandBuilder
Weiß jemand wie man darauf zugreifen kann?(mit opendialog funktioniert es leider nicht!!)
vielleicht kann mir ja jemand helfen....
gruß gewup
ich hab mal rumgeforscht und hab folgendes gefunden
habe mir gedacht dass dies irgendwie vorprogramiert ist, so wie die opendialog komponente vom BorlandBuilder
Weiß jemand wie man darauf zugreifen kann?(mit opendialog funktioniert es leider nicht!!)
vielleicht kann mir ja jemand helfen....
gruß gewup
#4
geschrieben 30. Mai 2006 - 13:25
dir *.mp3 > mp3list.txt und die textdatei kannst dann ja auslesen wie du lustig bist...
Dieser Beitrag wurde von ThreeM bearbeitet: 30. Mai 2006 - 13:27
Chuck Norris kann auch bei Winfuture klein geschriebene Themen erstellen!
#5
geschrieben 30. Mai 2006 - 13:38
Moin,
steht eigentlich alles in dem Link, den ich gepostet hatte. Die Funktion "SHBrowseForFolder" in Verbindung mit dem "BROWSEINFO" struct tut doch genau das, was du willst.
steht eigentlich alles in dem Link, den ich gepostet hatte. Die Funktion "SHBrowseForFolder" in Verbindung mit dem "BROWSEINFO" struct tut doch genau das, was du willst.
#6
geschrieben 30. Mai 2006 - 13:39
Kann vielleicht auch jemand von euch so ein Tool mal hier Online stellen? Oder per PM zukommen lassen?
Danke
Danke
#8
geschrieben 28. Juni 2006 - 13:13
Hi
wenn ich die Klasse
einfüge, kommt bei mir folgender Fehler:
Das sind ja fehler in der Klasse selber oder mache ich etwas Falsch?
thx gruß
wenn ich die Klasse
<Shlobj.h>
einfüge, kommt bei mir folgender Fehler:
Zitat
[C++ Fehler] Shlobj.h(1762): E2238 Bezeichner 'FVSHOWINFO' mehrfach deklariert
[C++ Fehler] Shlobj.h(1936): E2238 Bezeichner 'FOLDERSETTINGS' mehrfach deklariert
[C++ Fehler] Shlobj.h(3717): E2238 Bezeichner 'DESKBANDINFO' mehrfach deklariert
[C++ Fehler] Shlobj.h(4808): E2238 Bezeichner 'SHELLFLAGSTATE' mehrfach deklariert
[C++ Fehler] Unit1.cpp(39): E2268 Aufruf der undefinierten Funktion 'SearchFolder'
[C++ Fehler] Shlobj.h(1936): E2238 Bezeichner 'FOLDERSETTINGS' mehrfach deklariert
[C++ Fehler] Shlobj.h(3717): E2238 Bezeichner 'DESKBANDINFO' mehrfach deklariert
[C++ Fehler] Shlobj.h(4808): E2238 Bezeichner 'SHELLFLAGSTATE' mehrfach deklariert
[C++ Fehler] Unit1.cpp(39): E2268 Aufruf der undefinierten Funktion 'SearchFolder'
Das sind ja fehler in der Klasse selber oder mache ich etwas Falsch?
thx gruß
#9
geschrieben 29. Juni 2006 - 16:59
Moin,
der Fehler liegt nicht in shlobj.h (was auch keine Klasse ist, sondern nur ein Header). Die genanntent Symbole sind, vermutlich wegen eines anderen Imports (windows.h ?) doppelt definiert, deswegen zickt der C++-Builder rum. Füge mal
zu den Projekteigenschaften hinzu (ist, glaube ich, unter Projekt > Optionen > Verzeichnisse und Bedingungen > Bedingungen zu finden).
Alternativ gehts auch direkt im Code mit
Das musst du dann VOR die #include-Anweisungen setzen!
der Fehler liegt nicht in shlobj.h (was auch keine Klasse ist, sondern nur ein Header). Die genanntent Symbole sind, vermutlich wegen eines anderen Imports (windows.h ?) doppelt definiert, deswegen zickt der C++-Builder rum. Füge mal
NO_WIN32_LEAN_AND_MEAN
zu den Projekteigenschaften hinzu (ist, glaube ich, unter Projekt > Optionen > Verzeichnisse und Bedingungen > Bedingungen zu finden).
Alternativ gehts auch direkt im Code mit
#define NO_WIN32_LEAN_AND_MEAN
Das musst du dann VOR die #include-Anweisungen setzen!
#10
geschrieben 04. Juli 2006 - 13:49
Hi
danke für den Tipp, jetzt schluckt er es.
danke für den Tipp, jetzt schluckt er es.
Dieser Beitrag wurde von gewup bearbeitet: 04. Juli 2006 - 14:10
#11
geschrieben 04. Juli 2006 - 15:34
Hi
wird diese Funktion nur vom borlandbuilder nicht erkannt oder ist dies ein schwerwiegenderes Problem?
was kann das sein?
gruß gewup
wird diese Funktion nur vom borlandbuilder nicht erkannt oder ist dies ein schwerwiegenderes Problem?
sprintf( path, "%s\\%s", path, FindFileData.cFileName );
SendMessage( m_listbox_hwnd, LB_ADDSTRING, 0, path );
Zitat
[C++ Fehler] Ordner.cpp(38): E2268 Aufruf der undefinierten Funktion 'sprintf'
[C++ Fehler] Ordner.cpp(53): E2451 Undefiniertes Symbol 'm_listbox_hwnd'
[C++ Fehler] Ordner.cpp(53): E2034 Konvertierung von 'char *' nach 'long' nicht möglich
[C++ Fehler] Ordner.cpp(53): E2342 Keine Übereinstimmung des Typs beim Parameter 'lParam' ('long' erwartet, 'char *' erhalten)
[C++ Fehler] Ordner.cpp(53): E2451 Undefiniertes Symbol 'm_listbox_hwnd'
[C++ Fehler] Ordner.cpp(53): E2034 Konvertierung von 'char *' nach 'long' nicht möglich
[C++ Fehler] Ordner.cpp(53): E2342 Keine Übereinstimmung des Typs beim Parameter 'lParam' ('long' erwartet, 'char *' erhalten)
was kann das sein?
gruß gewup
#12
geschrieben 04. Juli 2006 - 23:24
Moin,
also: sprintf gehört zur normalen C-Api, die Funktion sollte eigentlich bekannt sein. Vielleicht den include von <cstdio> vergessen?
Die anderen beiden Fehler: (m_listbox_hwnd an der Stelle undefiniert, path nicht vom Typ long) Da musst du mal gucken, was da schief läuft. Oder du hängst deinen (vollständigen) Code hier mal ran, dann werf' ich 'nen Blick drauf.
also: sprintf gehört zur normalen C-Api, die Funktion sollte eigentlich bekannt sein. Vielleicht den include von <cstdio> vergessen?
Die anderen beiden Fehler: (m_listbox_hwnd an der Stelle undefiniert, path nicht vom Typ long) Da musst du mal gucken, was da schief läuft. Oder du hängst deinen (vollständigen) Code hier mal ran, dann werf' ich 'nen Blick drauf.
#13
geschrieben 05. Juli 2006 - 09:09
Hi
jetzt funktioniert alles, ich schreibe die dateien aus einem bestimmten ordner in eine ListBox ein.habe stdio.h vergessen
möchte jetzt aber nur mp3, wma und wav drinstehen haben, der rest interesiert mich nicht.
an welcher stelle wäre eine solche fallunterscheidung sinnvoll. und wie könnte man das jetzt anstellen?
gruß gewup
jetzt funktioniert alles, ich schreibe die dateien aus einem bestimmten ordner in eine ListBox ein.habe stdio.h vergessen
möchte jetzt aber nur mp3, wma und wav drinstehen haben, der rest interesiert mich nicht.
an welcher stelle wäre eine solche fallunterscheidung sinnvoll. und wie könnte man das jetzt anstellen?
gruß gewup
#14
geschrieben 05. Juli 2006 - 10:07
Moin,
also, nachdem du den einzulesenden Pfad hast, kann man ja mit CFileFind gut über die Dateien iterieren. Gute Beispiele gibbet z.B. hier.
An den WildCard-String müsstest du dann halt deine Endungen ranhängen, also *.mp3 und *.wav usw.
also, nachdem du den einzulesenden Pfad hast, kann man ja mit CFileFind gut über die Dateien iterieren. Gute Beispiele gibbet z.B. hier.
An den WildCard-String müsstest du dann halt deine Endungen ranhängen, also *.mp3 und *.wav usw.
Thema verteilen:
Seite 1 von 1