Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Список файлов, не могу получить 
:(
    Опции темы
Aline
Дата 22.1.2009, 16:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Для получения списка файлов из директории использую:
Код

::SendMessage(CSdiDialog::m_listbox, LB_DIR, DDL_READWRITE | DDL_READONLY | DDL_HIDDEN | DDL_SYSTEM | DDL_DIRECTORY | DDL_DRIVES | DDL_ARCHIVE, (LPARAM)((LPSTR)"C:\\*.*"));


Но почему на экран выводится только список дисков, типа:
[a]
[c]
[d]
[e]

Что не так?
PM MAIL   Вверх
voov
Дата 22.1.2009, 18:49 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


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

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



Похоже все так.
Цитата

DDL_DIRECTORY
    Includes subdirectories. Subdirectory names are enclosed in square brackets ([ ]).
DDL_DRIVES
    All mapped drives are added to the list. Drives are listed in the form [-x-], where x is the drive letter.

Т.е. у тебя выводится не список дисков, а список всех файлов, но от самого корня. А в корне у тебя только диски.

Возможно неправильно задаешь путь. Попробуй поексперементировать с последним параметром.
Вот нашел такой вариант
Код

SendMessage(ListBox1.Handle,LB_DIR,DDL_DIRECTORY or DDL_ARCHIVE or DDL_HIDDEN or DDL_READONLY or DDL_SYSTEM or DDL_READWRITE,Integer(PChar('C:\*.*'))); 

PM MAIL   Вверх
Aline
Дата 23.1.2009, 08:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



voov, путь я вроде правильно задаю. Твой вариант в качестве примера не подходит, он в MFC не работает
PM MAIL   Вверх
voov
Дата 23.1.2009, 11:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


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

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



Да я же не настаиваю на своем примере. Я предлагаю тебе 
Цитата(voov @  22.1.2009,  18:49 Найти цитируемый пост)
поексперементировать с последним параметром

попробуй, например, вместо "C:\\*.*" дать "*.*" и посмотри как отработает.

Для получения списка файлов в лист бокс есть еще такая функция
Цитата

DlgDirList Function
--------------------------------------------------------------------------------
Replaces the contents of a list box with the names of the subdirectories and files in a specified directory. You can filter the list of names by specifying a set of file attributes. The list can optionally include mapped drives

PM MAIL   Вверх
Aline
Дата 23.1.2009, 11:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



voov, я изначально поставила последним аргументом "*.*" и он мне выдал список дисков, я порадовалась, что работает, указала другой путь, а он мне всё правно список дисков выдал smile
Спасибо за информацию, попробую ещё другую функцию
PM MAIL   Вверх
voov
Дата 23.1.2009, 12:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


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

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



 smile 

Aline, мне никогда ранее не приходилось получать список файлов таким способом, хотя уже видел подобные примеры. И вот глядя на эту тему меня замучило любопытство. После недолгих раздумий и переборов лень, сделал тестовый проектик и вставил строку кода один в одни из твоего первого поста (поменял только первый парамерт) и... неповеришь, но у меня выводит полный список файлов и каталогов на диске С + список дисков.
PM MAIL   Вверх
Aline
Дата 27.1.2009, 16:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



voov, может быть это у меня какие то настройки в Windows другие, специфические? smile
PM MAIL   Вверх
voov
Дата 27.1.2009, 16:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Патамушта мы пилоты
**


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

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



Aline, не могу сказать наверняка. Выкладываю свой тестик - после запуска в листбоксе справа отображается содержимое диска С. Проверь. Если будет работать как твоя программа, значит проблема не в коде. Если иначе - значит сравним код.

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  dialog.exe.ggg 94,50 Kb
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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