Форум программистов, компьютерный форум, киберфорум
Наши страницы
Бета-тестирование
Войти
Регистрация
Восстановить пароль
 
 
Рейтинг 4.53/32: Рейтинг темы: голосов - 32, средняя оценка - 4.53
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
1

Файловый менеджер Lunatic Explorer

17.06.2012, 15:37. Просмотров 5871. Ответов 75
Метки нет (Все метки)

Представляю файловый менеджер, имеющий некоторые функции, которые отсуствуют хотя бы в Проводнике .
Возможности:
  • Многооконный интерфейс с вкладками, как в браузере Firefox;
  • Достаточно высокая скорость загрузки содержимого папок;
  • При вводе пути в текстовом поле вверху окна отображается список папок, содержащихся в последней набранной
    Название: 2.PNG
Просмотров: 445

Размер: 8.8 Кб;
  • Можно открыть любую папку, в том числе системную, к которой запрещен доступ (однако эта фича заключается в добавлении прав доступа для админа к этой папке, о чем Вы будете уведомлены при попытке открыть такую папку);
  • Специальное окно "Системная корзина" позволяет управлять корзиной Windows;
  • Quick Link -- централизованное хранилище ярлыков (как закладки в браузере).
  • Программа копирования и перемещения файлов MultiCopy позволяет скопировать и переместить файлы и папки с заданием различных настроек. В ходе процесса в случае совпадения имен предлагается выбрать операцию из списка:
    "Копировать/переместить файл с заменой";
    "Переименовать копируемый/перемещаемый файл";
    "Не копировать/перемещать файл";
    "Переместить существующий файл";
    "Переименовать существующий файл".
(Примечание к самому файловому менеджеру. Левая панель с папками используется только для навигации, и все кнопки управления (перемещения, копирования, удаления) работают только для правой панели.)
Скриншоты:
Файловый менеджер Lunatic Explorer

Файловый менеджер Lunatic Explorer

Файловый менеджер Lunatic Explorer

Файловый менеджер Lunatic Explorer

В прикрепленном архиве -- программа, специальный файл для Quick Link и справка по Quick Link.
При запуске программы будет уведомление UAC, поскольку прога работает с правами админа. Никакого вреда системе программа не приносит.

Программа пока еще на стадии ранней беты, есть некоторые баги.

Хочу узнать ваше мнение о том, нужно этот проект развивать дальше.
4
Вложения
Тип файла: zip LE.zip (908.4 Кб, 79 просмотров)
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2012, 15:37
Ответы с готовыми решениями:

Файловый менеджер
Может у кого-то есть исходники, кому не жалко скинуть, делать думаю на visual.

Файловый менеджер
Здравствуйте! Не подскажете, какой компонент используется в тотал командере,...

Файловый менеджер на Си
Ребят помогите реализовать вот с такими функциями Набор функций: create,...

Файловый менеджер
Подскажите помню давно находил файловый менеджер и там было представление...

файловый менеджер
помогите пожауйста!!! задание: написать программу файловый менеджер. желательно...

75
freeba
22.06.2012, 23:57     Файловый менеджер Lunatic Explorer
  #21

Не по теме:

Это так к слову:D Вспоминаются войны с UAC и активным извратом с COM-портами. вАистину Win7 x64 шайтан-ось, никогда не угадаешь что там откажется работать:declare:

2
Tolias28
24.06.2012, 02:25
  #22

Не по теме:

Наверное не в тему, просто мои размышления. Но всегда такие проблемы и пляски с ошибками наталкивают меня на одну и ту же мысль. .NET вроде разрабатывался в сторону кроссплатформенности и непривязанности к какой-то оси. Но на практике разработчикам довольно часто не хватает заложенных возможностей в среду Framework и приходится прибегать к использованию прямого виндового API, что ставит крест на всей кроссплатформенности и программисту нужно всеравно тестить программу на разных осях и играться с появляющимися проблемами. Именно это я наблюдаю в этой теме. А самому лично ведь тоже часто приходится использовать виндовые extern-библиотеки, так как не хватает возможностей среды .NET. дот нет хоть и очень упрощает жизнь программисту, но все же как он еще далеко от Java... Да и о какой кросплатформенности может идти речь....

0
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
25.06.2012, 19:44  [ТС] 23
Большое спасибо всем за участие в развитии проекта! Я сейчас работаю над программой копирования файлов, уже удалось в разы увеличить скорость копирования за счет использования буфера.

freeba:
желательно погонять прогу на:
-WinXP x86 SP2
-Win7 x86/(x64 обязательно)
-Win7 x64 с правами пользователя и включенным UAC
Я гонял программу на Win 7 x86 и на XP. x64 у меня, к сожалению, нет , но программа пока вообще под эти системы не адаптирована. Сейчас допилю основной функционал и буду работать над совместимостью.

Ice_and_Fire:
Win7 со всеми обновлениями и .net
1.При запуске пустое окно и при любых действиях ошибка "устройсво не готово"
2.Хелп не отображается
1. Сообщите, пожалуйста, какие устройства хранения информации у Вас в системе установлены.
2. Если скопировать файл справки в корневую папку любого диска (C:\), справка отображается? Если в пути к файлу справки есть знак "#", то содержимое справки не будет отображено.

Savvy
интерфейс программы понравился, да и видно что ты не делаешь на "тяп ляп", а стараешься изначально делать всё основательно.
Есть пожелания:
1. ежели хочешь сделать что-то толковое из этого проекта, то рекомендую сменить название. Объясню: текущее название, ну мягко скажем, не очень мне представляется в рекламе\бигбордах\и т.п. . (Я могу предложить название Luna. Недалеко от первоисточника, но уже довольно интересно, да и запоминается. Да я знаю что такая тема в винде была, но ФМ все равно для форточек, так что думаю можно).

2. знаешь до какого момента лично я не буду пользоваться твоим ФМ? ДО того момента, когда ты сможешь доказать мне, что файлы которые я буду перемещать (именно перемещать) с диска на диск (или неважно каким способом), останутся в целостности и сохранности в случае каких-то сбоев. Это не означает что ты должен всё бросить, и вылизывать функционал отвечающий за работу с файлами, но не забудь об этом! Это главное и пользователь должен быть уверен, что если твоя прога и вылетит с ошибкой, то не заберет с собой очень важные данные.

А так, всё нравится, но пока стремно менять эту прогу на ТК.
1. Я решил не связываться Вдруг мелкомягкие уже и это название запатентовали?
А вообще название проги очень подходит под ее содержимое -- скопление безумных идей, ИМХО.
2. Программа копирования файлов устроена так, что файлы и папки в ней не перемещаются, а копируются, а потом уже удаляются из первоначальных расположений. Поэтому в случае какого-то сбоя файлы сохранятся в старом месте. (Хотя, Вы мне подали идею: нужно программно не допустить удаления файлов в случае сбоя. Поработаю над этим.)
2
Tolias28
206 / 127 / 8
Регистрация: 18.08.2010
Сообщений: 1,017
25.06.2012, 22:29 24
Цитата Сообщение от iprog Посмотреть сообщение
Если в пути к файлу справки есть знак "#", то содержимое справки не будет отображено.
Можно поинтересоваться, чем вызвано столь странное ограничение?
0
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
25.06.2012, 22:45  [ТС] 25
Не знаю, в программе, которой я собирал файл справки, было написано, что этот символ должен отсутствовать в пути к файлу. Видимо, из-за того, что в URL такой знак означает начало названия закладки в документе.
0
Tolias28
206 / 127 / 8
Регистрация: 18.08.2010
Сообщений: 1,017
25.06.2012, 22:49 26
Если бы я стал собирать файл справки в такой программе, а потом прочитал об этом ограничении, то лично я бы выкинул такую программу и больше не смотрел в ее сторону
Глупое ограничение. Зачем ограничивать пользователей определенными путями, если "#" - довольно безобидный символ для файловых систем.
0
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
27.06.2012, 14:23  [ТС] 27
Программа называется html2chm. Когда я задал путь для компилируемого файла справки, прога выдала сообщение "Некорректный путь", и я не сразу нашел, что виновато название папки "C#.NET", в которой у меня все проекты.

Но вообще я попробую найти другой путь создания файла справки (не обязательно CHM).

Добавлено через 15 часов 46 минут
Подготовка новой версии идет полным ходом!
Только что удалось выяснить, что программа нормально работает на Windows 8 Release Preview!

В новой версии будет введено (то есть уже введено) ведение лог-файла. Если Вы будете находить какие-нибудь баги, просьба выкладывать файлик err.log, который будет в папке с программой.
1
Vedma
Охотница на ведьм
311 / 93 / 8
Регистрация: 26.11.2011
Сообщений: 2,783
Записей в блоге: 4
06.07.2012, 06:10 28
Станд. набор функции
ставлю 4
0
Avazart
Эксперт С++
7791 / 5691 / 560
Регистрация: 10.12.2010
Сообщений: 25,918
Записей в блоге: 17
16.08.2012, 22:49 29
Проверил...

Довольно быстро продвесил программу ...
Достаточно было быстро кликать по элемента дерева каталогов, после чего программа безвозвратно подвисла...


А чем достигается отображение папок/файлов?
0
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
16.08.2012, 23:05  [ТС] 30
Про подвесы я знаю, вот сейчас как раз доделываю следующую версию. Файлы/папки отображаются через ListView с включенным режимом VirtualMode, причем значки для файлов подгружаются по мере прокрутки списка. Сам список файлов/папок получаю через стандартный System.IO.
0
Avazart
Эксперт С++
7791 / 5691 / 560
Регистрация: 10.12.2010
Сообщений: 25,918
Записей в блоге: 17
16.08.2012, 23:07 31
ListView из Windows Forms я полагаю?
0
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
17.08.2012, 20:40  [ТС] 32

Не по теме:

Ну да, а Вы думали, я буду использовать сторонние компоненты?
Кажется, я уже писал, что прога делается на C#. Вон Tolias28 тоже ваяет скриншотер на C#. И все потому, что сначала делаешь для себя, а потом видишь, что "продукт" неплохой получается.


Может, Вы посоветуете другой метод отображения, работающий быстрее?
1
Avazart
Эксперт С++
7791 / 5691 / 560
Регистрация: 10.12.2010
Сообщений: 25,918
Записей в блоге: 17
17.08.2012, 20:45 33
В Builder-е в своей проге я вообще на TImage липил свои объекты.

В принципе там свой ListView но с ним разбираться надо чтоб реализовать как мне именно хотелось с перетаскиваниями и фиксированным положением
0
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
17.08.2012, 22:15  [ТС] 34
Тема не заглохла!

Представляю новую версию 1.5.0.0!

ChangeLog:
-- Добавлен инструмент поиска Turbo Search.
-- Маленько изменен интерфейс утилиты MultiCopy.
-- В Explorer'е добавлен режим просмотра "Эскизы" (пришлось делать разные реализации для Windows XP и Vista/7).
-- В области отображения файлов/папок (ListView) налажен показ нормальных по размеру значков (режимы Таблица, Список, Маленькие значки - значки 16х16, режим Большие значки - 32х32, Эскизы - 100х100).
-- Добавлено оригинальное контекстное меню Проводника для файлов/папок/дисков и пункты "Переименовать" и "Другие действия" в это меню.
-- Отлажена полностью неработавшая система мониторинга изменений в файловой системе путем отказа от использования FileSystemWatcher'а. Теперь мониторинг осуществляет WndProc через всякие PInvoke'и и Shell.
-- Добавлена поддержка Drag&Drop из LE в Проводник и другие программы, способные принимать листинг файлов из Проводника, и из Проводника в LE.
-- Quick Link отключен. Он пока еще не исключен совсем из программы, но запустить его невозможно. Это сделано из-за слишком долгой загрузки программы. Судя по тому, что на два раза заданный мной вопрос "Как вам нравится Quick Link" никто не ответил, задумка этой тулзы получилась неудачной.
-- Немного изменен интерфейс основного окна, теперь новое окно Explorer'а можно открыть комбинацией клавиш Alt+E, новое окно MultiCopy - Alt+C, Turbo Search - Alt+S, или соответствующие пункты меню "Старт".
-- Добавлена примитивная система плагинов.
Система плагинов
Все плагины - это файлы XML, имеющие такую структуру:
XML
1
2
3
4
5
6
7
8
9
<root>
    <OAEntries>
        <OAEntry allowmultiselect="0" allowfiles="1" allowdirs="0" allowdrives="0">
            <Text>Искать расширение в Google</Text>
            <Command>http://google.ru/search?q=%fileext%</Command>
            <CLParams></CLParams>
        </OAEntry>
    </OAEntries>
</root>
Это пример плагина, который позволяет искать инфу о расширении выбранного файла через гугл.
В одном XML-файле может быть объявлено несколько "плагинов". В данном случает плагин - пункт меню "Другие действия" и отображается в этом меню на панели инструментов и в контекстном меню.

Используемые теги:
<OAEntries> - внутри этого тега прописываются все добавляемые пункты меню "Другие действия".
<OAEntry> - внутри этого тега задаются параметры пункта меню.
<Text> - отображаемый текст пункта.
<Command> - запускаемая пунктом меню программа. Здесь может быть написан и Веб-адрес, в общем, все, что поддерживает функция ShellExecute .
<CLParams> - параметры командной строки. Разумеется, если внутри <Command> задана Веб-страница, этот тег нужно оставить пустым.

У тега OAEntry есть несколько атрибутов, они определяют отображение этого пункта меню.
allowmultiselect - если задано "1", пункт выводится и в тех случаях, когда выбрано больше одного элемента в списке файлов/папок, иначе только при выборе одного элемента. В первом случае отображением пункта руководят остальные атрибуты по правилу: "если в списке выбранных элементов есть хотя бы один (например) файл и allowfiles="0", пункт не показывается". Если же пункт отображается, то при его выборе заданная программа будет выполнена столько раз, сколько было выбрано элементов, каждый раз для следующего элемента.
allowfiles - при "0" не выводить пункт, если выбран хотя бы один файл.
allowdirs - при "0" не выводить пункт если выбрана хотя бы одна папка.
allowdrives - при "0" не выводить пункт, если выбран хотя бы один диск.

Внутри тегов <Command> и <CLParams> можно использовать специальные слова (гм... переменные?), которые при выполнении команды (при выборе пользователем этого пункта меню) замещаются, например, текущими именами файлов:
-- %filename% возвращает полное имя файла или папки.
-- %filepath% возвращает путь к файлу или папке. Для дисков возвращается пустая строка.
-- %fileext% возвращает расширение файла. Для папок возвращается пустая строка.
-- %safefilename% возвращает имя файла или папки без пути.

В одном файле XML можно объявить несколько пунктов меню в виде блоков <OAEntry>, находящихся в блоке <OAEntries>. В файле должен быть только один блок <OAEntries> и он обязательно должен располагаться внутри блока <root>.

Для включения плагина его нужно скопировать в папку plugins, находящуюся в папке с программой (папку нужно предварительно создать). Программа при запуске просматривает все файлы XML и добавляет объявленные в них плагины.

-- Исправлены мелкие баги.
-- Исправлена ошибка загрузки "Системной корзины" в Windows XP путем компиляции программы из-под этой ОС.
-- И самое главное для тестирования - при возникновении любого необработанного исключения вся инфа об ошибке записывается в файл Err.log в папке с программой (файл создается при первом запуске проги). Также отображается окно с "информацией о баге".

Может, я что-то упустил из этого списка, т.к. пришлось временно заморозить разработку в конце прошлого месяца (в том числе из-за загвоздки с FileSystemWatcher).

Теперь известные, но неисправленные (или неисправимые?) баги:
-- В режиме "Эскизы" при открытии папки ее содержимое загружается, но не отображается до тех пор, пока не прокрутить список вниз-вверх, не нажать "Обновить" или не выделить элементы. При этом всплывающие подсказки отображаются при проведении мышкой по "пустому" полю. Такое ощущение, что элементы не прорисовываются.

Архивчик прикрепляю. На сайте ссылка пока работает, но там старая версия, а сам сайт сейчас на реконструкции.
LE.zip
0
Avazart
Эксперт С++
7791 / 5691 / 560
Регистрация: 10.12.2010
Сообщений: 25,918
Записей в блоге: 17
17.08.2012, 22:22 35
После блужданий по попкам, почему-то отображение файлов в окне изчезло...
По прежнему страдает перирисовка... не пробавал включить двойную буферизацию ?
(В Builder-e оно как отдельное свойство)
0
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
17.08.2012, 22:25  [ТС] 36
Avazart, извините, что копирую Вашу цитату из Вашего блога, просто не хочется раскидывать обсуждение проги во всему форуму.
А что там за база данных? чет не видел сопровождающих файлов к exe....
В предыдущей версии в архиве с прогой был файл storage.mdb. Можете глянуть, как там все устроено, но только делать это нужно, когда прога закрыта - во избежание несчастных случаев траблов с загрузкой данных БД открывается в монопольном режиме.

Не по теме:

Цитата Сообщение от Avazart Посмотреть сообщение
В Builder-е в своей проге я вообще на TImage липил свои объекты.
В принципе там свой ListView но с ним разбираться надо чтоб реализовать как мне именно хотелось с перетаскиваниями и фиксированным положением
На Image эти объекты нужно прорисовывать... а у меня и так слишком долго грузится содержимое папок.
Хотя для реализации Рабочего стола на фоне LE как раз нужен будет PictureBox :D.



Добавлено через 2 минуты
Цитата Сообщение от Avazart Посмотреть сообщение
После блужданий по попкам, почему-то отображение файлов в окне изчезло...
По прежнему страдает перирисовка... не пробавал включить двойную буферизацию ?
На каком моменте зависло?

DoubleBuffered включен даже в окне "Системная корзина". Перерисовка страдает, потому что, признаюсь, перед загрузкой содержимого папок прога чистит ImageList'ы, которых три штуки (но контент в них грузится только в зависимости от режима).
0
Avazart
Эксперт С++
7791 / 5691 / 560
Регистрация: 10.12.2010
Сообщений: 25,918
Записей в блоге: 17
17.08.2012, 22:29 37
А еще такое после открытия папки
0
Миниатюры
Файловый менеджер Lunatic Explorer  
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
17.08.2012, 22:30  [ТС] 38
Avazart, приложите к сообщению файл Err.log из папки с прогой.
0
Avazart
Эксперт С++
7791 / 5691 / 560
Регистрация: 10.12.2010
Сообщений: 25,918
Записей в блоге: 17
17.08.2012, 22:31 39
Так а где его искать?
0
LapisAlchemist
248 / 160 / 14
Регистрация: 10.03.2012
Сообщений: 544
Записей в блоге: 2
17.08.2012, 22:33  [ТС] 40
Я ж написал: куда Вы распаковали архив с прогой, оттуда и берите.
0
17.08.2012, 22:33
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
17.08.2012, 22:33

Файловый менеджер
Помогите пожалуйста!!! Мне нужен файловый менеджер на Win32... (не знаю как...

Файловый менеджер FAR
Доброго всем времени суток! Пытался несколько раз поставить себе FAR, но каждый...

Файловый менеджер
добрый день, хочу написать фаловый менеджер типа total comander на C#....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
40
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2019, vBulletin Solutions, Inc.
Рейтинг@Mail.ru