Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск файла по расширению, файл exe 
:(
    Опции темы
evgovs1991
Дата 2.11.2015, 18:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 9.10.2014

Репутация: нет
Всего: нет



Помогите найти ошибку
Код

String S;
    //Структура описывает файл
    WIN32_FIND_DATA FindFileData;
    //дескриптор потока
    HANDLE hf=FindFirstFile((Form5->Edit2->Text).c_str(), &FindFileData);//путь указываем где искать
    INT i=0;
    if (hf==INVALID_HANDLE_VALUE){ShowMessage("Папка не найдена"); return 1;}
        do{
            if (strstr((char*)FindFileData.cFileName,".exe") != NULL)//не работает условие..файлы есть но не находит
            {
                S=Form5->ListBox1->Items->Strings[Form5->ListBox1->ItemIndex];
                ShowMessage("Нашел");
            }
        }
        while (FindNextFile(hf,&FindFileData));
        FindClose(hf);

PM MAIL   Вверх
volatile
Дата 2.11.2015, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 3
Всего: 85



Цитата(evgovs1991 @  2.11.2015,  18:56 Найти цитируемый пост)
HANDLE hf=FindFirstFile((Form5->Edit2->Text).c_str(), &FindFileData);

что в этой строке?

Добавлено через 9 минут и 9 секунд
в общем там должны быть wildcards

а если таковими будет *.exe, то и нижнего условия не нужно вовсе.
PM MAIL   Вверх
evgovs1991
Дата 2.11.2015, 19:37 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 9.10.2014

Репутация: нет
Всего: нет



Цитата(volatile @ 2.11.2015,  19:21)
Цитата(evgovs1991 @  2.11.2015,  18:56 Найти цитируемый пост)
HANDLE hf=FindFirstFile((Form5->Edit2->Text).c_str(), &FindFileData);

что в этой строке?

Добавлено @ 19:30
в общем там должны быть wildcards

а если таковими будет *.exe, то и нижнего условия не нужно вовсе.

там указан путь к каталогу
PM MAIL   Вверх
volatile
Дата 2.11.2015, 19:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 3
Всего: 85



Цитата(evgovs1991 @  2.11.2015,  19:37 Найти цитируемый пост)
там указан путь к каталогу 

там должно быть "путь_к_каталогу\*.*"

или лучше

"путь_к_каталогу\*.exe"
тогда
Цитата(volatile @  2.11.2015,  19:21 Найти цитируемый пост)
нижнего условия не нужно вовсе. 


PM MAIL   Вверх
evgovs1991
Дата 2.11.2015, 19:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 9.10.2014

Репутация: нет
Всего: нет



Цитата(volatile @ 2.11.2015,  19:42)
Цитата(evgovs1991 @  2.11.2015,  19:37 Найти цитируемый пост)
там указан путь к каталогу 

там должно быть "путь_к_каталогу\*.*"

или лучше

"путь_к_каталогу\*.exe"
тогда
Цитата(volatile @  2.11.2015,  19:21 Найти цитируемый пост)
нижнего условия не нужно вовсе. 

я так и пишу путь к каталогу...сперва нахожу все файлы в каталоге заношу их названия в ListBox а затем мне нужно открыть exe файл из этого каталога название которого выберу в Listbox/
Ну вот идея такая найти файл с расширением exe а потом сравнить с выбраным в Listbox если совпадают то открыть.

Добавлено через 2 минуты и 34 секунды
Цитата(volatile @ 2.11.2015,  19:42)
Цитата(evgovs1991 @  2.11.2015,  19:37 Найти цитируемый пост)
там указан путь к каталогу 

там должно быть "путь_к_каталогу\*.*"

или лучше

"путь_к_каталогу\*.exe"
тогда
Цитата(volatile @  2.11.2015,  19:21 Найти цитируемый пост)
нижнего условия не нужно вовсе. 

user posted image
PM MAIL   Вверх
volatile
Дата 2.11.2015, 19:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 3
Всего: 85



evgovs1991,  просто выведи что в той строке, у вас там вообще пробелы

и не надо пользователей заставлять писать *.*
добавляйте это сами, если их нет

PM MAIL   Вверх
evgovs1991
Дата 2.11.2015, 19:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 48
Регистрация: 9.10.2014

Репутация: нет
Всего: нет



Цитата(volatile @ 2.11.2015,  19:53)
evgovs1991,  просто выведи что в той строке, у вас там вообще пробелы

и не надо пользователей заставлять писать *.*
добавляйте это сами, если их нет

http://pixs.ru/showimage/SnimokPNG_3171858_19361719.png
PM MAIL   Вверх
volatile
Дата 2.11.2015, 20:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2107
Регистрация: 7.1.2011

Репутация: 3
Всего: 85



evgovs1991, смотрите в дебагере,
В коде не вижу причину почему не находит.
походу, ошибки где-то в другом месте.

Добавлено через 51 секунду
например, уберите вообще условие strstr, посмотрите что найдет в этом случае

PM MAIL   Вверх
feodorv
Дата 3.11.2015, 10:42 (ссылка) |  (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2214
Регистрация: 30.7.2011

Репутация: 1
Всего: 45



Цитата(evgovs1991 @  2.11.2015,  18:56 Найти цитируемый пост)
strstr((char*)FindFileData.cFileName,".exe") != NULL
У Вас там не юникод, случайно? Зачем (char *)?



--------------------
Напильник, велосипед, грабли и костыли - основные инструменты программиста...
PM MAIL   Вверх
chaeman
Дата 30.11.2015, 20:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 30.11.2015

Репутация: нет
Всего: нет



так а в чем сложность, то? это основа
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0742 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.