Cooper3210
Grünschnabel
Hallo
Ich hänge beim Coden fest und suche alle Hifle die ich bekommen kann.
1. Ich kann machen was ich will ich verstehe einfach nicht warum oder wie ich Unterordner Durchsuchen kann. Ich habe das mehrfach versucht hänge dort aber einfach fest.
Das geht soweit aber eben Ohne Unterordner .Könnte mir einer von Euch denn weg zeigen wie ich auch gleich die unterordner mit durchsuchen kann ?
2. Ich möchte dieses später fast gleich noch mal so übernehmen aber die Bit einer Mp3 datei suchen lassen.
Wie macht man das?
Ich möchte gern alle Mp3´s haben die unter 50 Bit sind .
Würde mich sehr über Hilfe freuen
Mfg cooper
Ich hänge beim Coden fest und suche alle Hifle die ich bekommen kann.
1. Ich kann machen was ich will ich verstehe einfach nicht warum oder wie ich Unterordner Durchsuchen kann. Ich habe das mehrfach versucht hänge dort aber einfach fest.
Code:
// kleine Dateien suchen
bool SearchForSmallFiles(int iSize) {
// Beginn - Ordnerdialog
char display[MAX_PATH];
BROWSEINFO bi;
bi.hwndOwner = GetDesktopWindow();
bi.pidlRoot = NULL;
bi.pszDisplayName = display;
bi.lpszTitle = "Ordner auswählen:";
bi.ulFlags = BIF_EDITBOX|BIF_VALIDATE;
bi.lpfn = NULL;
bi.lParam = 0;
bi.iImage = 0;
LPITEMIDLIST res = SHBrowseForFolder(&bi);
if (!res)
return true;
char dir[MAX_PATH];
BOOL ret = SHGetPathFromIDList(res, dir);
if (ret == FALSE) {
ErrorMessage("Der Pfad \"%s\" konnte nicht gefunden werden!", display);
return false;
}
// Ende - Ordnerdialog
// dir enthält den Ordnerpfad
// Beginn - Dateien suchen
sprintf(g_szDirectory, dir);
WIN32_FIND_DATA wfd;
char filename[MAX_PATH];
sprintf(filename, "%s\\*.mp3", dir);
HANDLE hFind = FindFirstFile(filename, &wfd);
if (hFind == INVALID_HANDLE_VALUE) {
DWORD dwError = GetLastError();
if (dwError != ERROR_FILE_NOT_FOUND) {
char errmsg[1024];
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError, GetUserDefaultLangID(), errmsg, 1024, NULL);
ErrorMessage("%s\nFehlercode: %d", errmsg, dwError);
return false;
}
return true;
}
if (wfd.nFileSizeLow < iSize) {
char* buffer = new char[strlen(wfd.cFileName) + 1];
sprintf(buffer, "%s", wfd.cFileName);
g_lSmallFiles.push_back(buffer);
}
BOOL found = FindNextFile(hFind, &wfd);
do {
if (found == FALSE) {
DWORD dwError = GetLastError();
if (dwError != ERROR_NO_MORE_FILES) {
char errmsg[1024];
FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, NULL, dwError, GetUserDefaultLangID(), errmsg, 1024, NULL);
ErrorMessage("%s\nFehlercode: %d", errmsg, dwError);
FindClose(hFind);
return false;
}
}
if (wfd.nFileSizeLow < iSize) {
char* buffer = new char[strlen(wfd.cFileName) + 1];
sprintf(buffer, "%s", wfd.cFileName);
g_lSmallFiles.push_back(buffer);
}
found = FindNextFile(hFind, &wfd);
} while (found != FALSE);
FindClose(hFind);
return true;
// Ende - Dateien suchen
}
2. Ich möchte dieses später fast gleich noch mal so übernehmen aber die Bit einer Mp3 datei suchen lassen.
Wie macht man das?
Ich möchte gern alle Mp3´s haben die unter 50 Bit sind .
Würde mich sehr über Hilfe freuen
Mfg cooper