Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 20.02.2012, 17:42   #1
aank10
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 81
По умолчанию Поиск пути к файлу

Нашел кучу примеров про поиск файлов но ни один из них не подходит, одни слишком медленные другие работают как функция и не могу вытащить путь к нему. Может ли кто то дать готовый пример поиск файла (и в подпапках тоже), но при этом можно было при удачком поиске сразу прервать процедуру и вывести в лейбл путь к файлу или же передать его другой функции.
aank10 вне форума Ответить с цитированием
Старый 20.02.2012, 20:01   #2
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Цитата:
Нашел кучу примеров про поиск файлов но ни один из них не подходит
С FindFirst тоже не подходит?
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 20.02.2012, 23:59   #3
aank10
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 81
По умолчанию

Цитата:
Сообщение от Stilet Посмотреть сообщение
С FindFirst тоже не подходит?
С FindFirst тоже находил но они почему то не работали , если не сложно , можешь скинуть примерчик , при условии что он у тебя есть ?
aank10 вне форума Ответить с цитированием
Старый 21.02.2012, 02:10   #4
microbit
Форумчанин
 
Аватар для microbit
 
Регистрация: 26.09.2011
Сообщений: 176
По умолчанию

бородатая рекурсивная функция поиска файлов
Код:
void FileSearch(CHAR* pszPatch)
{
	WIN32_FIND_DATA File;
	CHAR fPath[MAX_PATH],result[MAX_PATH];

	strcpy(fPath,pszPatch);
	strcat(fPath,"\\*");

	HANDLE hFile = FindFirstFile(fPath,&File);

	if(hFile != INVALID_HANDLE_VALUE)
	{
		do
		{
			if(File.cFileName[0] != '.')
			{
				strcpy(fPath,pszPatch);
				strcat(fPath,"\\");
				strcat(fPath,File.cFileName);
				if(File.dwFileAttributes != FILE_ATTRIBUTE_DIRECTORY)
				{
					if(strcmp(strpbrk(File.cFileName,".txt"),".txt") == 0)
					{
						//fPath имя
					}
					if (File.dwFileAttributes&FILE_ATTRIBUTE_DIRECTORY)
						FileSearch(fPath);
				}
			}
		}while(FindNextFile(hFile,&File));
		FindClose(hFile);
	}
}
microbit вне форума Ответить с цитированием
Старый 21.02.2012, 08:46   #5
Stilet
Белик Виталий :)
Старожил
 
Аватар для Stilet
 
Регистрация: 23.07.2007
Сообщений: 57,097
По умолчанию

Угу. У меня так же выглядит...
I'm learning to live...
Stilet вне форума Ответить с цитированием
Старый 21.02.2012, 11:27   #6
aank10
Пользователь
 
Регистрация: 12.02.2011
Сообщений: 81
По умолчанию

А каким образом можно вызвать эту функцию? я писал
Код:
void __fastcall TForm1::Button1Click(TObject *Sender)
{
void FileSearch(CHAR* pszPatch);
ShowMessage(fPath);

}
выбивало ошибку, также пытался выбить в диалоговое окно в самой функции


Код:
if(strcmp(strpbrk(File.cFileName,".txt"),".txt") == 0)
					{
						fPath 
                                                ShowMessage(fPath);
}
но опять же её надо вызвать.
aank10 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отображение пути к файлу процесса Stipower Общие вопросы Delphi 4 08.05.2019 15:22
Пробелы в пути к файлу royun Общие вопросы Delphi 5 28.10.2011 05:02
VB. Определение пути в файлу KillJoy Помощь студентам 2 08.10.2010 20:51
изменение пути к файлу Обыватель Microsoft Office Excel 2 30.09.2008 13:16
Определение пути к файлу Pinya Общие вопросы Delphi 1 07.08.2008 12:22