![]() |
Модераторы: Poseidon, Snowy, bems, MetalFan |
![]() ![]() ![]() |
|
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
Допустим у меня еть combobox1 в нем у меня все диски и локальные и остальные которые сушествуют в системе. И мне надо чтобы написать что то похожее на TotalComander(конечно это очень грубо сказаноо...)то есть когда я выбираю диск из списка в listview появлялся список фалов и папок(скрытые системны вобщем все(но также не помешало бы сделать эту опцию отдельно показывать или нет скрытые и системные файли и папки) потом появлось 2 колонки:
1-имя файла или папки 2-размер файла, сно что размер папки не нужен ну и также когда открылся список допустим диск с и там директория виндовз я в нее захожу и тоже чиается спиок фалов и папок! Помогите пожалуста! Заранее благодарен! p.s. вроде похожих тем не было! Это сообщение отредактировал(а) JokeR.StR - 1.3.2008, 17:15 |
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Ну и? Сам пробовал хоть? Что не получается? Получить список файлов? Папок? Отобразить это все в listview? Все эти вопросы освещены в drkb
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
в drkb этого нету я смотре там только файлы ! (( ну помоги плз
|
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Папки - это такие же записи как и файлы, только с атребутом faDirectory
-------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
А как насчет вкладки Samples? Компоненты Shell...
|
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
Мне не нужны эти shell мне надо свой составить!
|
|||
|
||||
THandle |
|
|||
![]() Хранитель Клуба ![]() Награды: 1 Профиль Группа: Админ Сообщений: 3639 Регистрация: 31.7.2007 Где: Moscow, Dubai Репутация: 65 Всего: 372 |
JokeR.StR, в DRKB есть. Поищи по FindFirst, FindNext.
|
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
так это я сделал, но как мне получить из listview название папки допустим... чтобы я мог перейти по заданному пути??
|
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Для того чтобы тебе осуществлять навигацию(вперед, назад, вверх) придется хранить все пути, по которым ты "ходил". При клике да listview к текущему пути добавляешь выбранную папку и заново заполняешь listview.
|
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
да это я понял..... как мне сделать... вот допустим я нажал на папку windows, но как узнать куда я нажал, как получить имя??
|
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
|
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
спс
|
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
а почуме когда я в FindFirst использую faDirectory он ищет и находит не только дирректории но и CONFIG.SYS, AUTOEXEC.BAT, dk2.mem эти файлы находятся на диске С и не находит скрытые папки?? как мне сделать чтобы нходил отдельно папки отдельно фалйы???????
|
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
я сделал это! но кокда у меня читается список папок у меня не читается папка System Volume Information?? то есть как ее добавить в список??
Это сообщение отредактировал(а) JokeR.StR - 5.3.2008, 20:42 |
|||
|
||||
lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
да кстати... Папки у которых в качестве изображения свои иконки не являются faDirectory, у них другие атрибуты, нужно это учитывать, т.к. множество примеров при рекурсивном поиске файлов это не учитывают...
Это сообщение отредактировал(а) lukas - 5.3.2008, 21:38 -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
||||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
так как быть??
|
|||
|
||||
Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
Может задать вопрос нормально ? Например, в
мне не понятно: что именно ты сделал ? что значит "не читается папка System Volume Information" ? Ее нет среди перечисляемых FindFirst ? (не верю). Или не идет перечисление ее содержимого ? Какая ошибка возвращается в том или другом случае ? Ты учитываешь, что у директории кроме faDirectory могут быть и другие атрибуты ? Почему ведешь себя как партизан на допросе и все надо вытаскивать клещами ? ![]() |
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
так как мне быть??
|
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Перечитать пост Riply и сделать выводы.
|
|||
|
||||
Poseidon |
|
|||
![]() Delphi developer ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 5273 Регистрация: 4.2.2005 Где: Гомель, Беларусь Репутация: 53 Всего: 133 |
Ты сам-то проверял? Если установлена своя иконка, то в этой папке всего-лишь содержется скрытый файл Desktop.ini в котором присутствует параметр IconFile. Но атребут у такой папки faDirectory! -------------------- Если хочешь, что бы что-то работало - используй написанное, если хочешь что-то понять - пиши сам... |
|||
|
||||
Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
Я бы выразилась осторожнее: атрибут такой директории должен содержать faDirectory. ![]() |
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
ну когда я пишу в findfirst faDirectory то папка system volume information не назодится в списке!!
|
|||
|
||||
Doga |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 115 Регистрация: 20.12.2007 Где: Россия, Обнинск Репутация: нет Всего: нет |
Привет.
А как насчёт флагов: faReadOnly (Read-only files), faHidden (Hidden files), faSysFile (System files) ? А вообще с System Volume Information не всё так просто: http://www.windxp.com.ru/reg1.htm |
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
спс
|
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
только причем тут то что ты дал ссылку не по теме! мне надо добавить папку System Volume Information в listview в delphi!
|
|||
|
||||
VICTAR |
|
|||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Фильтр = faDirectory or faHidden or faSysFile
так находит? |
|||
|
||||
lukas |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 771 Регистрация: 23.2.2007 Репутация: 3 Всего: 15 |
дело в том что в XP Папка может не являться Директорией, к примеру папка шрифтов, заданий и т.п., лично у меня полно примеров когда не находились папки со значками, а так взять тот же просмотрщик файлов и папок из закладки Win 3.1, он не воспринимает директории со значками, т.к. это уже не директории с точки зрения NT, нужно узнавать числовой атрибут папки, или просто проверять на ее существование...
P.S. Поместив Desktop.ini в папку мы еще не дадим ей значок, нужно поменять ее атрибут помоему на 22, это уже наверное говорит о чем то... -------------------- http://code.google.com/p/orionphp/ - opensource скриптовой язык Orion (аналог PHP) для freepascal/delphi. |
|||
|
||||
JokeR.StR |
|
|||
Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 7.1.2008 Репутация: нет Всего: нет |
а по моему нет... достаточно поместить desktop.ini
|
|||
|
||||
Riply |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Комодератор Сообщений: 572 Регистрация: 27.3.2007 Где: St. Petersburg Репутация: 3 Всего: 32 |
А что такое "папка" и чем она отличается от директории или файла ? Буду говорить об NTFS, ибо обсуждаючтся характеристики ей присущие ![]() В FS (файловой системе) есть только файловые объекты, нет директорий и уж подавно нет никаких "папок". Я пишу "файловый объект", что бы избежать путаницы, на самом деле это файл. Стого говоря, - любое "образование" в FS - это файловый объект (обзовем FSObj). У FSObj есть набор базовых атрибутов, определяющих не столь его сущность или природу, сколь то какие группы других атрибутов он может содержать и как их надо "понимать" ![]() Хамелеон - ничто по сравнению с FSObj ![]() FSObj может быть и директорий и файлом и потоком и еще черт знает чем ![]() FSObj одновременно может содержать в себе обычные, сжатые и разряженные области. То что мы привыкли называть директориями это, грубо говоря FSObj, содержащий кроме всего прочего, и атрибут AT_INDEX_ROOT. (его можно понимать как индексированный список других FSObj). Все. В остальном директория почти файл. Например, как и файл, может содержать кучу потоков. Когда мы строим дерево, мы просто смотрим есть ли у FSObj атрибут AT_INDEX_ROOT. Если да, то обзываем его директорией и начинаем перебирать элементы из AT_INDEX_ROOT, иначе обзываем его файлом. Может или нет FSObj содержать AT_INDEX_ROOT можно определить из "базовых атрибутов" объекта. Базовый атрибут FILE_ATTRIBUTE_DIRECTORY (faDirectory равен ему по значению) это "переименованный" FILE_ATTR_I30_INDEX_PRESENT (они не равны по значению), который указывает на возможность содержания атрибутов типа AT_INDEX_ROOT, которые можно читать как индексированный список FSObj. (Во как завернула ![]() Соответственно никакие "значки" не влияют на то, содержит ли даный FSObj атрибуты типа AT_INDEX_ROOT или нет. (Кстати Tasks - сожержит, т.е. "директория" ![]() Путаница происходит от введения дополнительных, никому не нужных, названий (например папка). От непонимания, что файловый объект кроме FILE_ATTRIBUTE_DIRECTORY может содержать и кучу других атрибутов. Что "директория" - тот же файл, у которого есть дополнительные атрибуты и лишенный (не факт !) некоторой части других свойств. |
|||
|
||||
VICTAR |
|
||||
Эксперт ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1108 Регистрация: 6.10.2006 Репутация: 37 Всего: 80 |
Я думаю все непонимание от того,
И следовательно надо проверять не на строгое равенство
а проверять флаг
|
||||
|
|||||
![]() ![]() ![]() |
Правила форума "Delphi: Общие вопросы" | |
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |