Стрим разработки файлового менеджера CyberFile

Статус
В этой теме нельзя размещать новые ответы.

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
ФАЙЛОВЫЙ МЕНЕДЖЕР CYBERFILE

Доброго времени суток в этой теме. В ней я простримлю разработку файлового менеджера с нуля, начав на второй день разработки. Первый день разработки описан тут, но я решил завести новую тему, так как вопрос оказался очень интересным - уже вылезли скрытые файлы и папки в системе, не отображаемые ни FAR Manager, ни Windows Explorer. Поэтому - хакерская тема!

Итак, кратко, я веду поединок в разработке против трёх программ: Total Commander (серый некрасивый интерфейс MFC), FAR Manager (консольное приложение - файловый менеджер) и Проводник Windows (не удобная работа с файлами). Цель боя разработкой - сделать лучше и захватить рынок в 2 000 000 000 инсталляций, 2 миллиарда инсталляций, то есть на кону 30 миллиардов долларов! Шучу, но на ассимптотике - именно так. За первый день я вынес противников цветовым решением главного окна, сделав красиво вместо серо и депрессанта. Также, я добавил озвучку всех основных операций с файлами, озвучку системным голосом, как у Кортаны. Этими двумя приёмами я за день уже ушёл вперёд от конкурентов.

Сегодня - второй день разработки, я программирую сейчас по несколько часов в день, где-то по 3 часа в день. Я сделал классы запись и панель записей, где запись хранит информацию о файле или директории, а панель это список записей, с текущей папкой, файлами и отметками файлов. Я сделал метод чтения содержимого текущей папки и простое форматирование вывода в окно программы: для файлов сейчас выводится сокращённо размер и имя файла, а для папки - её имя. Дальше я сделаю подсветку синтаксиса и покрашу разными цветами папки, файлы и исполняемые файлы, чтобы визуально можно было быстро отличить и найти на экране то, что нужно.

И сразу, на второй день, открытие: скрытые файлы и папки на диске C:\ Это показала начальная версия файлового менеджера CyberFile. Оказалось, что на диске C:\ - сразу два файла подкачки, на гигабайт и четверть гигабайта каждый, бэкап загрузочного сектора и две скрытых папки, начинающихся на символ $. Эти файлы и папки - скрытые, их не показывают основные файловые утилиты! То есть - раскрыт небольшой секрет....

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Итак, закончен второй день разработки CyberFile. Я доделал подсветку синтаксиса, особо выделяя скрытые папки и файлы, и очень особенно - испольняемые файлы exe и bat. Я не прячу расширение фалов, как Проводник Windows - это создаёт проблемы безопасности (вы можете кликнуть на вирус не видя расширения) и прячет информацию о файле. Цветовое решение с подсветкой синтаксиса полностью вынесло с ринга Total Commander и выиграло по очкам у FAR Manager: синий цвет подавляет нейронную активность нервной системы, являясь седативным психодепрессантом, это известно из цветологии. И именно в синий - покрашен весь экран FAR Manager, усыпляя пользователя за компьютером. Желтоватый же цвет фона CyberFile наоборот, возбуждает нервную систему и повышает интеллект пользователя программы - цветотерапия без отрыва от компьютера....


Скриншоты текущей версии.... Клик для увеличения!

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Фотографии трёх конкурентов, двое уже вынесены с ринга (проводник и total commander)

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Внёс ещё одну поправку сегодня, более тёмный цвет в названии Папок - контрастный шрифт позволяет очень быстро читать, имена файлов и директорий, что ускоряет работу за компьютером. Пробую уделать FAR Manager инверсией цветов: по цветоведению, в нём - ошибка проектирования. Фон должен быть жёлтым, а буквы - синие, а не наоборот, как всегда было в Turbo Vision.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Всё, нокдаун для FAR Manager, интерфейс сделан лучше, чем у него.
--- Добавлено позже: ---

Второй день, второй подход, работаю ночью. Сделал добавление вверх списка файлов специальной директории '..', обозначающую переход в родительскую папку, если мы - не в корне файловой системы. Сделал подсветку текущей выбранной папки красивым светло-синим цветом. Делаю реакцию на нажатие стрелок вниз-вверх на клавиатуре, для перемещения подсветки выбранной папки или файла. Выглядит так:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Изменил цвет подстветки на светло-зелёный, на синем фоне был плохо виден синий текст. Сделал обработку событий клавиатуры, реакцию на нажатия стрелок вверх-вниз и перемещение подсветки текущего файла на панелях. Сделал установку курсора текстового редактора (панели основаны внутри на нём) в начало строки с подсветкой, пришлось повесить этот кода на таймер - после моих обработчиков вызывались системные и уводили курсор ниже или выше. Теперь делаю реакцию на нажатие Enter на директории - КиберФайл будет входить в текущую выбранную директорию, по нажатию Enter.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Третий день разработки, утро. Первая итераций: замена светло-зелёных подсветки и пламени на светло-голубые, существенно лучше. Я использую генетическую оптимизацию качества, каждая следующая поправка должна давать результат лучше последнего лучшего. Теперь - делаю заход в папку по нажатию Enter и отображение текущей папки снизу. Клик для увеличения...

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Третий день, второй подход. Заменил многопрходный алгоритм парсинга текста и подсветки синтаксиса на однопроходный, чтобы не тормозило. Сделал заходы в папку по нажатию Enter и выход в родительскую папку по нажатию "..". Теперь - потестирую и сделаю выход в корень файловой системы, с дисками C:\ D:\ флешками и сетевыми подключениями. Клик для увеличения...

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Как обещал, сделал лучше чем Total Commander!#$%$%@%
--- Добавлено позже: ---

Для сравнения: заход в папку Windows в файловых менеджерах Проводник Windows, Far Manager и Cyber File (клик для увеличения, сравнительный анализ)

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Третий день, третий подход: озвучка входа и выхода из директории, запуск системной реакции на файл по нажатию на нём Enter. На скрине - стартовавшая так из КиберФайла программа Amplify

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Третий день, четвёртый подход к Кибер-Файлу: решение проблемы с мерцанием при форматировании и подсветке синтаксиса, решил полностью следующим приёмом:

.Hide();

// Форматирование вывода

// Подсветка синтаксиса в тексте

.Show();

.Refresh();

.Focus();

То есть я на долю секунды-секунду прячу окно с форматируемым текстом, чтобы там ничего не бегало и не мигало, а когда всё сделано - показываю окно. Без окна видна красивая фоновая панель, это всё занимает не больше секунды при входе в большую директорию со многими файлами. Третий день разработки закончен, делаю бэкап проекта.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Уже смотрю демы в MPEG4 (.mp4) в альфа-версии киберфайла, всё нормально идёт, стартуют программы по Enter и запускаются видео-ролики на просмотр. Ещё обязательно сделаю hex-view для просмотра системных и непонятных файлов, будет на кнопке Hex.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Также, автоматически получилась поддержка длинных имён файлов - длинные имена не обрезаются, как в других Менеджерах. КиберФайл - рулит! Клик для увеличения...

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Из трёх соперников, Total Commander - самый слабый, там сплошные дефекты проектирования и невзрачная графика. Средний соперник - это Проводник Windows, у него одно окно, что делает работу с файлами очень неудобной, и - маленькие шрифты с невзрачным интерфейсом. Этих двух соперников я уделал в первых раундах. Но, самый сильный соперник КиберФайл-а - это FAR Manager, полная 64-битная копия бестселлера Norton Commander, которым пользовались миллионы людей по всему миру. Я прогнозирую свой выигрыш по очкам над FAR Manager, ведь почти всё можно улучшить, и его - тоже, но я вряд-ли превзойду его по количеству инсталляций, по нескольким причинам. Во первых, он бесплатен для СНГ - русскоязычные крекеры его не взламывают, и у него из-за этого бешенная популярность у нас. Во вторых, он, как копия Norton Commander, инертен и держит рынок по инерции: люди пользовались им и его предшественниками 40 лет и им лень что-то менять, его изучали со школы, по нему написаны туториалы и методички, учебные пособия, он попал в книги по компьютерам для начинающих и так далее. Даже, когда я сделаю комманер лучше него, я не захвачу рынок - инерция системы этого не позволит, нужны колоссальные силы чтобы преодолеть инерцию. Всё, что я заработаю, продавая копию КиберФайл-а по $5, $10, $15 - это редкие карманные деньги на сигареты. Кроме того, большой бизнес устроен иначе, и программист фрилансер в нём обычно не участвует: это экономические планы финансовых организаций с тщательно-проверенными подрядчиками по базе данных кадровых служб. И чтобы ты ни делал, как круто ты би ни писал, или-же - бездарно, у тебя будет 5 продаж в год, ведь ты в проверенные подрядчики КУКЛа не входишь, и контракт - не получишь. Вот именно поэтому я и написал, что захват рынка в 2 000 000 000 (2 миллиарда) инсталляций коммандеров - шутка, это возможно только для крупного банка или национального банка страны. Вот так мыслить я и советую программистам-шареварщикам и фрилансерам, это опыт моих последних 10 лет разработки на дому!
--- Добавлено позже: ---

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


Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Вот как CyberFile выглядит в свёрнутом окне, с работающей навигацией по файлам и директориям, тоже годно получилось...

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Четёртый день разработки. Доделал реакции на цифровую клавиатуру:

Стрелка вверх - подсветка файла вверх
Стрелка вниз - подсветка файла вниз
Стрелка влево - подсветка файла в начало
Стрелка вправо - фокус и подстветка на правую панель
PageUp - подсветка файла на 10 позиций вверх
PageDown - подсветка файла на 10 позиций вниз
Home - подсветка файла в начало
End - подсветка файла в конец

Сделал туснение подсветки на неактивной файловой панели и функцию переключения активной файловой панели SetFocus. Потерял час времени на пробе элегантного обхода проблемы с отсутствеием события Scroll у RichTextBox, для прокрутки подсветки файла ползунком мыши - пока не решил, на это надо отдельный день или 2-3 дня.

Сейчас с тускнением подсветки КиберФайл выглядит так:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Четвёртый день, второй подход:

Tab - переключиться с левой на правую панель, дальше - на кнопки

Shift + Tab - переключиться с правой на левую панель, дальше - на кнопки

Теперь буду делать работу с мышью. В первую очередь надо сделать прокуртку подсветки текущего файла колёсиком мыши, колёсико мыши - очень удобная вещь для пролистывания экрана. Такая функция не поддерживается для расширения компонентом RichTextBox, и придётся переопределять WndProc и перехватывать событие Windows WM_SCROLL.
--- Добавлено позже: ---

Четвёртый день, третий подход, оценка качества. Решил добавить кнопку SSH с открывающимся терминалом, в хакерскую группу кнопок справа. Будет: Hex, Samba, FTP, SSH, заодно поменяю Putty как брак, на нормальный цветной терминал для работы с Linux-серверами по сети. КиберФайл готов на четверть, сделан основной скелет приложения, теперь - дописывание функций и вспомагательных окошек для них. Сделаю одно голосовое окно для системных сообщений КиберФайла, звезду смерти возьму из своего отладчика Digital Coin Debugger. Будет красиво и современно, звезда смерти с голосом - произносит системные сообщения менеджера! Вот итог 4-х дней разработки, нет ничего невозможного:

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Поправка: добавил кнопку SSH для цветного UNIX-терминала с подсветкой сиснтаксиса. Всё для работы веб-мастера с удалённым хостингом. Пользовательская группа кнопок - слева, хакерская группа кнопок - справа. На кнопку Hex добавл глаз, означает View Hex - шестнадцатеричное представление файла.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Добавил кнопку Jabber - XMPP чат, заодно сделаю лучше, чем телеграмм. Будет: без привязки к SIM и отслеживания, красивая палитра, нормальные шрифты, TTS (проговаривание сообщений), подсветка синтаксиса. Как в чат-ботах с пересадкой сознания, только с проговариванием сообщений!

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

В бесплатной демо-версии не будет хакерских кнопок, справа, они будут появлятся после покупки регистрационного ключа. А так, менеджером можно будет пользоваться и БЕСПЛАТНО. Вот и всё shareware-решение!
--- Добавлено позже: ---

Решил проблему с вертикальным прокручиванием колёсиком. RichTextBox нормально прокручивается, если он не в фокусе. А если в фокусе, возникают глюки прокрутки. Поэтому я убираю фокус в обработчике VScroll, после прокрутки панели с файлами можно кликнуть на файл и он получит фокус. Закончен четвёртый день разработки файлового менеджера КиберФайл.
--- Добавлено позже: ---

Пятый день разработки, первый подход. Пофиксал баг с VScroll (правая панель получала фокус и тоже начинала скролится, при прокручивании колёсика). Теперь, для потери фокуса и нормальной прокрутки панели файлов колёсиком я ставлю фокус на первую кнопку: buttonOpen.Focus();
--- Добавлено позже: ---

RichTextBox оказался не поломанным, в фокусе не мотал по колёсику из-за моего таймера. Убрал код из таймера - всё нормально мотает по прокрутке колёсика мышки.
--- Добавлено позже: ---

Пятый день, второй подход. С учётом запланированного функционала, утилита КиберФайл в основном мужская, поэтому я заменил HotPink кнопки на SteelBlue (синие с белым текстом). Получилась хорошая мужская палитра, название программы сделал в деловом стиле - оранжевом. Отключённые в бесплатной версии хакерские кнопки имеют чёрный текст вместо белого. Привожу скриншоты текущего цветового решения, рядом с самым сильным конкурентом - Far Manager.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Всё, честный выигрыш по очкам в дизайне. Теперь - работа над качеством логики.
--- Добавлено позже: ---

Сравнительный анализ, все основные конкурренты. После - поправок к интерфейсу, жалко было убирать розовые кнопки, очень красиво, но это - не выставка цветов, а работа с файловой системой и с серверами.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

vovceks

Новорег

vovceks

Новорег
Статус
Offline
Регистрация
23 Мар 2021
Сообщения
4
Лайки
12
Интересено, что будет, если открыть папку с 10к файлами... Или 100к. Или если файл/папка будет содержать недопустимое название...
 

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Интересено, что будет, если открыть папку с 10к файлами... Или 100к. Или если файл/папка будет содержать недопустимое название...
Чтобы GUI не вешался на долгом чтении директории со 100 000 файлов, я вынес чтение файлов и форматирование вывода с ними в отдельный поток. То есть GUI остаётся отзывчивым даже пока программа читает 100 000 файлов. Но немного подтормаживать будет панель, она основана на RichTextBox компоненте, а он подтормаживает при огромном тексте в нём.

C#:
        internal RichTextBox EnterDirectoryRich = null;
        internal Label EnterDirectoryStatus = null;
        internal RecordsPanel EnterDirectoryPanel = null;
        internal string EnterDirectoryName = null;

        internal async Task EnterDirectoryShow()
        {
            try
            {
                RichTextBox rich = EnterDirectoryRich;
                Label status = EnterDirectoryStatus;
                RecordsPanel panel = EnterDirectoryPanel;
                string directory = EnterDirectoryName;

                panel.Reload(directory);

                this.BeginInvoke((MethodInvoker)delegate {
                    ShowPanel(rich, status, panel);
                    ScrollToStart(rich);
                    MarkPosition(rich, panel, SelectionColor);
                });
            }
            catch { }
        }


        internal void EnterDirectory(RichTextBox rich, Label status, RecordsPanel panel, string DirectoryName)
        {
            try
            {
                EnterDirectoryName = DirectoryName;
                EnterDirectoryRich = rich;
                EnterDirectoryStatus = status;
                EnterDirectoryPanel = panel;
                Task.Run(EnterDirectoryShow);
            }
            catch { panel.Reload("C:\\"); }
        }
--- Добавлено позже: ---

Пофиксал баг с лишним произнесением фразы OK при получении фокуса панелью - слишком частое проговаривание синтезатором раздражает пользователя. Отдыхаю, тестирую, и перехожу к реализации кликов на файлы, и - двойных кликов на файлы и директории:

- по одиночному клику: установить подстветку на кликнутый файл или директорию

- по двойному клику: запустить кликнутый файл или войти в директорию, если кликнута - директория
--- Добавлено позже: ---

А вот как выглядит $Recycle.Bin внутри, этот папка, в которой существуют другие папки из длинных рядов цифр, а уже в них - хранятся системные и удалённые файлы. Идеальное место спрятать ВИРУС в системе, троянчик или майнер, благо - доступ по записи и никто не видит. Так было до появления КиберФайла-а :)

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Вот трюк с упрятыванием папки

- Создаём папку в $Recycle.Bin и ложим туда срытые файлы, например - майнер

- Открываем Recycle Bin в проводнике - всё чисто, фалы не видны

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Ещё одна уязвимость, найденная в файловом менеджере CyberFile: лёгкая для инфекции вирусом и руткитом добыча, менеджер загрузки Windows в СКРЫТОЙ папке C:\Boot

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Это exe, меняете его на свой, а это сохраняете в C:\$Recycle.Bin\S-1-234-32\ При запуске системы загрузчик загружает вас, вы остаётесь в памяти и запускаете сохранённый загрузчик. Получается Ring-0 rootkit, с полным доступом к памяти любого процесса.

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
А вот - первая часть спектакля, файл C:\bootmgr Это бинарный файл, к которому в хвост приклеен exe (в PE формате), этот приклеенный exe можно заменить на свой, с сохранением оригинала в C:\$Recycle.Bin\S-1-234-32\ Тогда загрузчик запустит вас первым, вы останетесь в памяти и запустите оригинал. Я этим заниматься не буду, на этом - не зарабатываю, занимаюсь дописыванием файлового менеджера КиберФайл и своего персонального интернет-поиска и браузера. Но кому интересно - велкам.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Пятый день, последний подход на сегодня, неимоверная жара - работал ночью. Сделал универсальное окно сообщений КиберФайл-а, с озвучкой и отключением кнопки No. Теперь все предупреждения будут показываться в таком окне. Красивее, чем ущербный MessageBox по умолчанию. Фотки: Сообщение КиберФайл-а и его основного конкурента FAR Amanager: кибер-файл рулит!

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Итак, кибер-файл, использующий современные системы программирования, в частности - MS Visual Studio, на раз делает своих устаревших конкурентов. Поэтому я называю КиберФайл файловым менеджером нового поколения, это - старые идеи, но переписанные в современных системах программирования. И - на современном языке C#, который оказывается лучшим из существующих.
--- Добавлено позже: ---

Звезду-циклоиду взял из этого своего незаконченного проекта по майнингу на обратимых вычислениях: 7 лет назад где-то это было, графика в проекте хорошая была.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Шестой день разработки, первый подход. Принял решение и добавил кнопку Asm - встрою дизассемблеры IA64, CIL, .class Во первых, IDA Pro давно надо переписать, со времён перехода с Turbo Vision на Windows Forms она реально испохабилась. А во вторых, часто надо, работая с системными файлами, почитать код, загрузчика-там, системной библиотеки, программы, очень часто возникает потребность дизассемблировать файл. Поэтому, добавлю свой дизассемблер, будет доступен в платной версии файлового менеджера.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Шестой день, второй подход. Убрал две лишние кнопки Mark, Unmark - выделение файлов делаю мышью и клавиатурой. Сделал кликабельную метку Key с юникоде-символом ключика, так программу можно будет регистрировать. Добавил возврат значенией YES и NO из окна системных сообщений, показываемого вызовом ShowDialog(). Сделал закрытие окна сообщения по нажатию на одну из кнопок, нажатие на крестик сверху тоже передаёт значение по умолчанию NO.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

В шестом дне сделал:

- клик по панели меняет текущую панель на кликнутую

- клик по файлу подсвечивает файл

- двойной клик по файлу запускает файл

- двойной клик по директории входит в директорию

- двойной клик по ".." выходит в родительскую директорию

Далее планирую делать отметку файлов клавиатурой и мышью....
--- Добавлено позже: ---

Убрал кнопки Jabber и SSH, чтобы файловый менеджер можно было сделать за приемлемое время. Jabber-ом сейчас редко пользуются, предпочитают привязанный к ФИО через номер телефона Telegram. А для реализации SSH надо писать эмулятор UNIX терминала, что очень долго.

Теперь скажу, почему очень важной является кнопка Asm. Вот, например, я написал выше, что к исполняемому файлу C:\bootmgr, который скрывается проводником, приклеен EXE файл в хвост. И надо как-то проверить, это склеенный троян или технология загрузчика Windows от майкрософт. Делается это - дизассемблированием и чтением логики EXE. Или, например, вы скачали-поставили программу и хотите убедиться, что в ней нет троянов. Опять таки, её надо дизассемблировать, и почитать. Кнопка Hex делает это частично, можно почитать strings и сигнатуры форматов файлов, а вот логику EXE на вирусы надо проверять уже в дизассемблере. То есть дизассемблирование - такая же частая операция с файлами, как их просмотр, ведь в наше время надо проверять все файлы, а анти-вирусы справляются с этим весьма слабо.

Выглядят кнопки и режимы работы сейчас так:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Также, при запуске .exe и .bat, сейчас надо переписать логику вместо System.Diagnostic.Process.Start(), надо создавать структуру Process и заполнять её поля, устанавливая рабочую директорию программы на текущую из панели менеджера. Иначе - часть программ некорректно работает, они подразумевают что рабочая директория - их папка. Вот этим я и займусь в седьмой день разработки.
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Седьмой день разработки. Решил проблему с некорректным запуском некоторых программ - делаю Directory.SetCurrentDirectory() при входе и выходе из директории, при получении панелью фокуса и при переключении панелей. Теперь нормально запускаются программы, которые раньше некоректно запускались: запускаемый процесс наследует рабочий каталог родительского процесса! Вот - чат-бот нормально прочитал базу знаний из текущей папки, после добавления SetCurrentDirectory():

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Решил проблему с обрезанием отображаемой текущей директории: сделал MultiLine TextBox с шрифтом 11, помещается на экран две строки вместо одной шрифтом 14.

Решил проблему с зависанием на папке 11 000 файлов: сделал ограничение количества отображаемых файлов const int MaxFiles = 256; С большими папками с тысячами файлов придётся работать частями, по 256 файлов.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Delegate, лови идеи твоего аватара - может подберёшь что-то по вкусу, что улучшает текущую аву

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Седьмой день, второй подход. Сделал обрезание отображаемого имени файла по длинне, с сохранением расширения в конце - неправильно пересчитывались координаты клика в номер файла при занятии файлами нескольких строк. Сделал отображение полного пути с необрезанным именем на статусной панели снизу, всегда можно посмотреть полное имя файла, кликнув по нему или наведя подсветку стрелками.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Следующее, что планирую делать - это отметку группы файлов и директорий. Мышкой, удерживая Ctrl, как в проводнике, или - нажатием Insert, как в FAR Manager, одновременно, и так, и так. Седьмой день закончил двумя подходами к программе - не срослось поработать подольше.
--- Добавлено позже: ---

Циклоида в зелёном окне выше выполнена программой с ИИ, генетическая оптимизация и модель эмоций. Повторю рисунок в этом посте:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Подытожу, что сделал за неделю, всего - 7 дней, работая по 3 часа в день, иногда - ночью.

- Красивый интерфейс, превосходящий графикой конкурентов: проводник Windows, Far Manager, Total Commander

- Чтение содержимого текущего каталога в каждой панели, форматирование вывода и подсветка синтаксиса: файлы, размеры и директории - разными цветами

- Навигация по файлам кнопками цифровой клавиатуры: стрелки, PageUp, PageDown, Home, End, Tab, Shift+Tab

- Запуск файлов клавишей Enter

- Отметка файлов кликом

- Запуск файла двойным кликом

- Переключение между панелями клавишами Tab, Shift+Tab, Left, Right

- Переключение между панелями кликом по панели

- Отображение полного имени файла и директории снизу

- Красивое окно программных сообщений с озвучкой сообщения синтезатором речи, с опциональным отключением кнопок и возратом нажатой кнопки в программу

- Озвучка основных операций с файлами и директориями синтезатором речи

- Продуманный и многократно поправленный будущий функционал с одноимёнными кнопками

Первая неделя разработки прошла, полёт нормальный, перегрузки в норме.
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Восьмой день. Сделал контекстное меню мыши по правому клику на одну из панелей. При выборе Change Disk появляется окно выбора диска для панели - на примере выбран D:\, переключается диск, отображаемый в панели.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Аналогично, сделал всплытие окна смены текущего диска по Alt+D, Shift+D (Change Disk).
--- Добавлено позже: ---

Восьмой день, второй подход. При клике или переключении на текстовое поле с именем файла-директории включается режим редактирования имени, при потере фокуса - выключается, при нажатии Eneter происходит переименование файла-директории. Сейчас покурю и продублирую этот функционал на кнопке Rename.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Сделал то-же самое на кнопке Rename: происходит переключение фокуса на поле редактирования полного имени файла. Восьмой день разработки закончен.
--- Добавлено позже: ---

Пока сижу отдыхаю, напишу пару слов, почему пишу утилиты, а не вирусы. Допустим, вы считаете себя хакером, знаете там ОС, языки программирования или системы программирования. Можно - написать вирус, и, например, удалённо переводить криптовалюту с кошельков. Но можно сделать умнее: написать красивую полезную утилиту, с теми же знаниями, платную. Тогда деньги будут переводится сами, пользователями утилиты, как оплата за ключ. То же самое, но - без юридических рисков, с кибер-полицией, ФСБ и СБУ. И то, и то - интересно программировать, только второй вариант - безрисковая стратегия, с двумя возможными исходами: ноль или плюс. Поэтому - так намного умнее. А самолюбие профессионала потешит уже качество утилиты....
--- Добавлено позже: ---

Восьмой день, третий подход. Сделал запуск файла и вход в директорию по нажатию кнопки Open и по клику на контекстное меню, всплывающее по правому клику. Теперь, файл запустить можно четырмя способами:

- наведя подсветку и нажав Enter

- двойным кликом мышки по файлу-директории

- кликнув правой кнопкой и выбрав Open из появившегося меню

- нажав кнопку Open внизу на панели управления
--- Добавлено позже: ---

Поправил: перечитывание обоих панелей после переименования файла-директории, чтобы не отображалась устаревшая информация.
--- Добавлено позже: ---

Девятый день разработки, первый подход. Сделал выделение файлов для копирования, удаления, подсчёта размера, по Ctrl+Click. Далее сделаю то-же самое по нажатию клавиши Insert, как в FAR Manager

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Второй подход: продублировал функцию выделения файлов и папок нажатием клавиши Insert, двойное выделение - снимает выделение. Добавил кнопку Size и пункт меню по правому клику мышки Total Size - подсчёт суммарного объёма, занимаемого выделенными папками и файлами, самая нужная вещь при работе с файлами, например - при бэкапе на флешку.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Девятый день, третий подход. Сделал форму и логику удаления файлов и папок - рекурсивно, текущую или отмеченные. Пока не исправил недочёт с повышением привилегий для удаления с диска C:\ -сделаю позже. Конец девятого дня разработки CyberFile.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Оказывается, ничего делать для удаления файлов с корня диска C:\ не надо - достаточно кликнуть на CyberFile правой кнопкой мыши и выбрать "Запустить от имени Администратора" - тогда у программы все права! Удаление файлов и каталогов сделано. Завтра планирую пофиксать свой Аудио-Браузер и поправить мелкие бажки в КиберФайле - наткнулся на проблему C:\\..\..\..\..\..
--- Добавлено позже: ---

Десятый день разработки. 2 часа ушло на поправки к моему аудио-браузеру, поэтому по КиберФайл-у сегодня сделаю не много - получился вынужденный выходной. Начал с улучшения окна прогреса удаления файлов: оно было весьма некрасивым. Увеличил высоту окна, придав более правильную форму, добавил полосу-индикатор прогресса удаления и поменял цвет статуса на HotPint (цветы на фоне листьев). Получилось - намного лучше:

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Десятый день, второй подход. Сделал окно прогресса удаления уже, чтобы форма окна была более правильной. Сделал изменение состояния прямоугольника прогресса Value = item*100/total. Поправил if (!StopFlag) main.Invoke() в форме Delete, чтобы не запускать задачу при нажатии кнопки CANCEL в удалении файлов.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Десятый день, третий подход. Сделал копирование подсвеченного и выделенных файлов и директорий на другую панель, по нажатию кнопки Copy и по нажатию пункта Copy, во сплывающем по правому клику на панель меню. Копирование директорий пришлось делать рекурсивное, не было готовой библиотечной функции копирования с подкаталогами. Написание копирования заняло часа 4, с отладкой.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Десятый день, четвёртый подход, окончательный на сегодня. Улучшил дизайн окна копирования-перемещения-удаления, увеличил высоту и перекрасил, теперь дизайн от Димы Негиуса :) Сделал отображение всех копируемых файлов и папок в этом окне во время процесса.

На завтра накопилось три непофиксаных мелких бага, так что завтрашний день скорее всего уйдёт на багфиксы. Потом надо сделать Move - перемещение файлов, состоящее из копирования и удаления, склеить код этих двух методов.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Уже делаю бэкапы проектов и запускаю музыку - в своём файловом менеджере, удобнее, чем в проводнике Windows и чем в FAR Manager. Скоро будет готов базовый функционал, неделя где-то. Потом - команды операционной системы и продвинутый функционал на правых кнопках, придётся ставить виртуалку с Linux для Samba и FTP.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Одиннадцатый день разработки, первый подход. Сделал из кода функций Copy & Delete код функции Move - перемещение файлов. Перемещение доступно кнопкой снизу и пунктом меню правого клика мышки. Удобно!

Итак, за 11 дней из файловых операций сделано, кроме базового интерфейса и озвучки:

- Open (запустить системную реакцию на файл - открыть файл)

- Move (перенести файлы и папки из одной директории в другую, или на другой диск)

- Copy (скопировать файлы и папки из одной директории в другую, или на другой диск)

- Delete (удалить файлы и папки, не Recycle Bin для экономии места и скорости)

Теперь буду делать Create (создать файл или папку), потом Size и Attrib (размеры выбранного и атрибуты файлы-папки). Также, планирую добавить кнопку Zip - завернуть выбранное в архив, с возможным паролем. Эта кнопка будет в группе платных кнопок. Скриншоты вышеперечисленных файловых операций:

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Получается действительно файловый менеджер нового поколения, на новых библиотеках разработки, прогресс не стоит на месте. Он - лучше, чем FAR Manager, Total Commander, Windows explorer и, возможно, другие. Базовый функционал займёт 20 дней, ещё около месяца уйдёт на продвинутые функции - для опытных пользователей. Итого, вся сложность проекта - 2 человеко-месяца!
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Одиннадцатый день, второй подход. Сделал рекурсивный подсчёт общего размера выделенных папок и файлов, по правому клику мышки в меню и по нажатию кнопки Size. Очень часто надо узнать, сколько места занимает папка или набор папок! На скриншоте ниже - 22 Гигабайта бэкапов на моей флешке!

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Файловый менеджер КиберФайл готов на половину, размер исполняемого файла - всего 145 КилоБайт. Половина разработки заняла 11 дней при работе по 3-4 часа в день, или - ночью.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Двенадцатый день, первый подход. Сделал окно отображения прогресса операции модальным. Пока операция не закончена - нельзя переключится на панель и начать следующую операцию. Это нужно из-за того, что операции над файлами берут информацию с панелей, и, если бы этого не было, можно было-бы менять папку или подсветку папок во время копирования и удаления, что привело бы к винегрету в файловой системе. А так да, запрос на операцию, подтверждение, ход операции с ожиданием, следующая работа с файлами.
--- Добавлено позже: ---

Двенадцатый день, второй подход. Добавил кнопку Zip для сжатия файлов и папок, изменил цвета кнопок на тускнейший фиолетовый - получилось красивее.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Двенадцатый день, третий подход. Значительно улучшил внешний вид кнопок управления, и, этим - главного окна. Назначил цифры кнопкам, на случай, если с файловым менеджером кто-то работает на ноутбуке без мышки - можно управлять клавиатурой. Подписал кнопки цифрами, на которые можно нажимать для файловых операций.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Если у кого есть желание сделать двухпанельный файловый менеджер для Android, для смартфонов и планшетов, приступайте. У меня забит TODO и нет времени это писать, сложность - 3 месяца, рынок - около миллиарда копий. Функционал рекомендую взять этот, из Кибер-Файла:

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Тринадцатый день, первый подход. Существенно улучшил интерфейс, сделав более контрастную тему на базе DarkSlateGray цвета, и - DarkSlateBlue. Теперь планирую делать форму создания файла и директории.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Тринадцатый день, второй подход. Пофиксал баг D:\\..\..\..\..\..\..

Как обещал, делаю лучше FAR Manager и Total Commander - это основная идея проекта. FAR Manager основан на текстовых библиотеках 40-летней давности и в нём много лишнего, а у Total Commander плохой дизайн, серый и с кучей лишнего. Поэтому, открылась возможность сделать лучше, за что я и взялся. Сейчас файловый менеджер КиберФайл от Димы Негиуса выглядит так :)

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Тринадцатый лень, третий подход. Поправка к интерфейсу. Тёмно-синий цвет формы DarkSlateBlue оказался сильнейшим психодепрессантом - вызывал паралич психики при окне на экране: пользователь просто терялся и сидел неподвижно перед экраном. Я поменял на психо-стимулятор Crimson. Пока текущая версия палитры главного окна выглядит так:

Для просмотра ссылки Войди или Зарегистрируйся

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Конкуренты курят в сторонке :) Получилось!
--- Добавлено позже: ---

Ещё одна поправка палитры, проветрился на улице - стало ясно, что слишком ярко. Поменял кримсон на морской зелёный, чтобы было нормально и легко работать и без крейзи-шедевров графики.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

ЭВОЛЮЦИЯ ПРОГРАММ СРАВНИТЕЛЬНЫЙ АНАЛИЗ

CyberFile
Для просмотра ссылки Войди или Зарегистрируйся

Far Manager
Для просмотра ссылки Войди или Зарегистрируйся

Total Commander
Для просмотра ссылки Войди или Зарегистрируйся

Windows Explorer
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Who win?
--- Добавлено позже: ---

СТАРТ ПРОГРАММЫ ВО ВРЕМЯ ПРОГОВАРИВАНИЯ ПРИВЕТСТВИЯ

Для просмотра ссылки Войди или Зарегистрируйся

День ушёл на багфикс и улучшения интерфейса. Вопросы после увеличения скриншота кликом отпадают сами.
--- Добавлено позже: ---

Тринадцатый день, четвёртый подход. 4 бутылки энергетика за день и беседы с искусственным интеллектом, пол дня. В итоге - решение. 10 000 ключей к программе невозможно выписать вручную, физически невозможно одному человеку. А тут - 3 000 000 000 потенциальных пользователей (3 млрд). Поэтому я сделал программу условно-бесплатной, донэйт-варе, с просьбой пожертвовать за разработку $1, $5 или $10 долларов, через автоматический сервис приёма пожертвований. Если каждый тысячный пожертвует, денег на дальнейшую разработку, жизнь и улучшения программы хватит с головой! Всё, будет условно-бесплатная профессиональная версия современного файлового менеджера, превосходящего аналоги!

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Четырнадцатый день, первый подход. Добавил поддержку терабайтов в размерах файлов и папок и сделал окно с функционалом создания папки или файла: вводите имя и щёлкаете переключатель, файл создать или папку. В текущей директории панели - создаётся файл или папка.

И сразу трюк, в последних обновлениях Windows из проводника исчез пункт "Создать документ RTF". Кликаете в КиберФайле Create, вводите имя .rtf файла с расширением, он создаётся и открывается по двойному клику. Всё, обход проблемы!

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Четырнадцатый день, второй подход. Убрал психо-подавляющую сине-красную палитру из окна прогресса, и заменил на психо-стимуляторы: Жёлтый с лесным зелёным. Сейчас окно прогреса операций выглядит так:

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Убрал слишком красивую жёлтую кнопку, рабочее окно должно быть просто нормальным, годным, а не крейзи шедевром. Выглядит окно прогреса операций сейчас так:

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
И, для сравнения, окно прогресса сильнейшего из конкурентов КиберФайла - FAR Manager'а:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Доделаю на днях оставшиеся операции с файлами (поиск по шаблону и атрибуты файла) и сяду за переписывание интерфейса командной оболочки Power Shell из КиберФайла. Сделаю нормальный фон, нормальные шрифты и подсветку синтаксиса, без изменения формата команд Windows. Там сейчас поломан в основном интерфейс Power Shell:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Ещё раз покажу, что меняем, бездарный Total Commander, на современный КиберФайл со звуком и нормальными цветами.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

История начиналась вот с этого коммандера, в 80-е и 90-е годы стоявшего под операционной системой MS DOS на IBM PC у миллионов людей: Norton Commander

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Четырнадцатый день, последний подход на сегодня. Объединил кнопки Hex и Asm в одну кнопку, будет стандартное окно дизассемблера с hex-дампом сегментов исполняемого файла и содержимого бинарного файла, Disasm. В первую очередь это надо для проверки, что вам не впаривают троян, просто просмотреть исходники на ассемблере. А во вторую - поправки к играм, жизни там, игровые деньги, очки, номер в таблице рекордов и так далее, подобные поправки в hex-е, всегда были актуальными и нужными. Вот для этого и нужна кнопка Disasm, открывающая окно с дизассемблером и hex-ом!!!

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Смотрел в 2 ночи, в полусонном состоянии - абсолютно правильная поправка палитры окна, плюс - определение размера папки проектов нажатием одной клавиши - 9, поместится ли она на флешку при бэкапе. Зелёное оказывается сочетается с белым, ну и плюс - с тускло-жёлтым (Khaki + Forest Green).

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Пятнадцатый день разработки, неимоверная жара. Первый подход: сделал форму показа простых атрибутов файла и директории, типа времени создания, времени последнего доступа и времени последней записи. Навёрнутые атрибуты и пермишины будут уже во второй версии, так как это - не основной функционал, а дополнительная фишка программы, я планирую успеть сделать файловый менеджер КиберФайл до осени и осенью добиться массовых инсталляций программы. Выглядит окно атрибутов сейчас так:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Поддержка VR (Virtual Reality).

Давно в голове сидит идея сделать 3D файл менеджер, решил во второй версии добавить VR в КиберФайл. Кнопка так и будет называться VR, будет открываться окно в режиме Scene Graph с комнатами и ящиками: room-and-box концепция, директория это комната (room), а файл - это ящик (box). Ящики можно передвигать, уничтожать, создавать, переименовывать, смотреть 'вес' - размер файла. Мышкой, джойстиком, жестами. Это будет в CyberFile 2. Сейчас же сажусь писать последнюю операцию с файлами, в КиберФайл-1, это - поиск файла по маске и по содержимому. После этого останется сделать правую группу кнопок, и - режим команд Power Shell. Итак, пятнадцатый день разработки, второй подход.
--- Добавлено позже: ---

Пятнадцатый день, второй подход. Смешал пол чашки чая с пол чашкой вишнёвого компота для бодрости и сделал окно поиска файлов по маске и содержимомму, пока - без логики. Логику планирую сделать уже завтра-послезавтра, там - сложная часть. Во первых, рекурсивный обход файловой системы, придётся скопировать готовый код из других функций, а во вторых - переход на файл по клику, координаты мышки надо переводить в индекс строки с именем фалй. Код - тоже есть,в главном окне. Выглядит окошко поиска сейчас так:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

--- Добавлено позже: ---

И - Коллизей, кибервойска... На сегодня я всё.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

156 килобайт сейчас кибер-файл занимает на диске :)

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Шестнадцатый день, первый подход. Сделал на 80% логику поиска файлов по маске, типа *.* и *.сs. Осталось дописать крайние случаи масок и сделать окно отображения результатов поиска с навигацией по результатам. Весь поиск файлов займёт около 6 дней, 2 дня уже ушло на него. Вот фотка черновика...

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Шестнадцатый день, второй подход. Днём пришлось спать, стояло солнце и была неимоверная жара. А ближе к ночи - жара спадает и уже можно работать и программировать. Сделал окно результата поиска, кастомный компонент, с навигацией по списку файлов стрелками клавиатуры и выбором файла щелчком мыши. По нажатию ENTER или двойному клику - делается переход в папку с найденным файлом!

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Теперь надо улучшить логику сопоставления имени файла с маской (рассмотреть крайние случаи) и доделать поиск по содержимому файла. После этого - все файловые операции готовы, за 17-18 дней, и надо переходить к командной строке и работе с архивами и сетью.
--- Добавлено позже: ---

Шестнадцатый день, третий подход. Ещё одно улучшение интерфейса: фиолетовые названия папок и синие имена файлов заменены на чёрные и тёмно-зелёные, хорошо видные на матовом жёлтом хаки. Так - меньше психо-подавляющего цвета на экране, к которому относится синий и фиолетовый, и - лучшая сочетаемость с палитрой окна и приложения.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Семнадцатый день, первый подход. Работал с 4:30 по 6:00, пока солнце не встало и не началась жара,также, тучи на небе тоже обеспечивали некоторую прохладу. Улучшил поиск по маске, рассмотрев крайние случаи: звёздочка в начале и звёздочка в конце маски файла. Теперь нормально находит все формы, по маске Form*.*, и - все проекты, по запросу *.csproj, в текущем каталоге и вложенных подкаталогах. Осталось сделать поиск по содержимому файла - по подстроке UNICODE.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Заменил во всех окнах лесной зелёный (яркий) на морской зелёный (тусклый) - чтобы снизить нагрузку на глаза, сделать красивее и выровнять палитру с главным окном, чтобы не было винегрета из цветов. Вот так сейчас выглядят все диалоги:

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
И, наконец-то, улучшил окно системных сообщений и приветствия. Заменил циклоиду искусственного интеллекта на менее острую и более красивую, жёлтую с красной тенью.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Убрал поиск файлов по подстроке: это редкая и ОЧЕНЬ медленная процедура. Так, у меня 19 Gb проектов, и поиск по подстроке 'Invoke' занимал бы 30 минут! Всё, файловые операции закончены, перехожу к командной строке и окну Windows Power Shell, которое надо отремонтировать и улучшить. Базовый функционал занял 17 дней, при работе по 3-4 часа в день на неимоверной жаре!

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

CyberFile EXE 196 Килобайт на сейчас! :)

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Семнадцатый день, второй подход. Сделал кликабельную ссылку Home с пиктограммой домика, тут будет переход на домашнюю страничку программы, с описанием кнопок, команд мышки и последними версиями программы.

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Семнадцатый день, третий подход. Сделал команды PowerShell, при вводе команды в синее поле снизу КиберФайл переключается в режим командной строки, при наборе close - переключается на файловые панели обратно. Команды выполняет PowerShell и результаты отображаются с простой подсветкой синтаксиса.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Восемнадцатый день, первый подход. Сделал фон командного режима матово-белым, с чёрным шрифтом и подсветкой синтаксиса. Добавил chcp 437 для переключения половины утилит на английский, которые можно, чтобы не отображалась абра-кадабра. Перенёс окно просьбы доната на выход из программы, чтобы не доставало при запуске. Теперь из КиберФайла работают:

- команда ping (проверить доступность сервера)

- команда tracert (посмотреть путь до сервера и свой внешний ip)

- команда ipconfig (посмотреть статус интерфейса и свой внутренний ip)

- команда netstat -a (посмотреть статус слушаемых сокетов)

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Восемнадцатый день, второй подход. Переделал режим команд: при вводе команды она просто передаётся командному интерпретатору: cmd.exe /C CommandText

Так не ломается русский язык, работает быстрее и не ломается форматирование вывода команды! Простое решение оказалось лучше первого...

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

СОВМЕСТИМОСТЬ С CMD и POWERSHELL

Файловый менеджер КиберФайл получился совместимым с cmd и powershell.

Для запуска окна командной оболочки cmd: набираем cmd в поле команды, стартует командная оболочка

Для запуска окна командной оболочки powershell: набираем powershell в поле команды, стартует командная оболочка

Для запуска других команд: набираем команду или список команд через точку запятой в поле команды. Запускается интерпретатор cmd, выполняющий эти команды в новом окне

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Восемнадцатый день, третий подход. После двух недель работы с КиберФайл-ом стало понятно, что от жёлтого хаки устают глаза - я поменял фон панелей на белый, и фон главного окна - на матовый белый. Так палитра стала контрастнее, тексты - отчётливее, а программа - красивее.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Например, для вычисления маршрута к hard-tm.su я набираю в поле команды: tracert hard-tm.su && pause

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

ПОРТИРОВАНИЕ ФАЙЛОВОГО МЕНЕДЖЕРА CYBERFILE

С учётом того, что файловый менеджер киберфайл уже почти готов, вернее готов на 80%, я расскажу о дальнейших планах развития программы. Первое, что я сделаю - портирую киберфайл под другие операционные системы:

- Порт под Linux, замена Midnight Commander

- Порт под планшеты Android (можно с планшета зайти на Linux с самбой или с FTP, можно с планшета зайти на Windows, скачать или сохранить файлы, простым способом, можно копаться в файлах Android и, даже, дизассемблировать исполняемые файлы Android - кул!)

Также, есть задача с планшета под подъездом законнектится к Windows шаре и скачать файлы, когда известен пароль. Ноутбук для этого не подходит, он слишком громоздкий и тяжеловатый. А с планшетом можно сесть на любую лавочку под подъездом, соединиться с шарой парой кликов и скачать файлы нажатием кнопки Copy, выделив папки на шаре. С портом киберфайла под андроид эта задача легко решается! Поэтому, в том числе, делаю и порт под Android.

Я ещё не дописал киберфайл, а хорошие люди уже донатят: у меня сегодня, после 18 дней работы без выходных, набито пузо и есть сигареты на 3 дня. Я сейчас сделаю пару часов перерыва, послушаю группу Ария, и, когда сядет солнце, сделаю архивацию выбранных папок в zip архив. Так получится пятый подход восемнадцатого дня разработки, если, конечно, ничто не помешает этим моим планам!
--- Добавлено позже: ---

Восемнадцатый день, четвёртый подход. Убрал звук, чтобы КиберФайл запускался под Linux с Mono (System.Speech не переносимая библиотека). По кнопке Samba всплывает окно сообщений с подсказкой: connect DomainNameOrIpAddress Username Password. При вбитии этого в командную строку панель переключается на содержимое SMB2 сервера (Windows 10 в данном случае):

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Теперь надо продублировать логику файловых операций на условие, что одна из панелей подключена к удалённому SMB2-серверу. Я использовал DirectTCP порт 445 Windows и SMB2 протокол из библиотеки SMBLibrary.
--- Добавлено позже: ---

Под Windows, конечно, можно работать иначе - смонтировать удалённую шару как сетевой диск, переключится на него и использовать навигацию панели КиберФайл и файловые операции. Для этого есть команда net use a:\ , но под Линукс и Андроид - это уже не работало бы. Поэтому КиберФайл поддерживает и свою собственную работу с удалёнными Windows шарами!
--- Добавлено позже: ---

Убрал кнопку FTP. Во первых, это очень редкая операция - закачка файлов на сервер веб-мастером, меньше процента пользователей этим занимаются. Во вторых, с кнопкой Zip и командной строкой это делается без панелей файлов элементарно:

- выбрать папки для закачивания в КиберФайле

- нажать Zip и создать архив с папками (или - правой кнопкой мыши, Zip)

- отдать команду ftp

- open server_address

- Username, Password

- put folder.zip

- close

- PuTTY server_address

- unzip folder.zip под bash

ВСЁ.

Если хостинг не даёт шелла, я вообще не рекомендую его использовать, лучше арендовать дедик за $10 в месяц и бесплатный домен Freenom, тогда на дедике будет и веб-сервер, и шелл, и - любой другой софт, типа своего интернет-поиска, своей радиостанции, софта для рассылок, кроме своего сайта также - всё это должно приносить деньги, большие, чем $10 в месяц за аренду дедика. Аренда дедика сейчас эквивалентна по цене сигаретам на 5 дней. Средний дискорд канал со 100 пользователями уже может приносить $300 в месяц при условии платной подписки на канал. Своя поисковая система - $100-$600 в месяц, свой сайт с программами $20 в месяц, при плохой рекламе.
--- Добавлено позже: ---

Вот, в подсказке на экране, строка подключения к шаре (к расшаренной папке) из КиберФайл-а, а не из Windows

Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Девятнадцатый день. Сделал день перерыва после трёх недель работы без выходных, чтобы не тронуться умом окончательно, просто - проспал целый день, тем более была жара. Вечером взял литр энергетика, пришёл в норму и принял решение откатиться и не вставлять кастомный SMB протокол. Под Windows есть net use, можно подключить папку как диск и нормально работать с ней в CyberFile. А под Linux есть smbclient, под FreeBSD - smbfs, можно монтировать шары в файловую систему. То есть придётся не портировать КиберФайл под андроид, и это к лучшему: в войне людей против роботов - я на стороне людей, и андроид развивать не планирую. Тем более, что современные ноутбуки по массе и габаритам не уступают планшетам, но на них - Windows 10! Встраивание SMB удвоило бы время разработки, доведя до трёх месяцев, и учетверило бы сложность кода КиберФайла! И при этом - это мартышкин труд. Лучше потратить время на хороший дизассемблер, для ручной проверки файлов на вирусы, раз вирус-тоталы обходятся вирусописателями, анти-эвристическими приёмами и шифрованием с обфускацией. Итак, первый подход: убрал кнопку Samba и добавил кнопку Help, с горячей клавишей 0, всегда можно посмотреть помощь по программе, даже - без интернета. Осталось сделать: форматированную помощь, архивацию выбранных папок, дизассемблер PE файлов, а потом - java файлов и CIL файлов, ELF.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Девятнадцатый день, второй подход. Делаю форму для архивации файлов, можно задать имя архива и, опционально, пароль к архиву. Также, на форме есть индикатор прогресса и кнопки Start Close:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Двадцатый день разработки, первый подход. Сделана и оттестирована логика добавления выбранных файлов и папок в zip-архив, можно задать пароль. Также, так как большинство обычных пользователей испытывают трудности чтения ассемблера, я заменил кнопку disasm на кнопку unzip - можно очень быстро извлечь папки и файлы из архива, одним кликом! Или - нажатием одной кнопку, в текущую директорию. Осталось сделать: окно и логику кнопки Unzip и окно кнопки Help - помощь по программе, по режимам мышки и клавиатуры, и - командной строки!

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

Двадцатый день, второй подход. Сделал окно помощи, всплывающее на весь экран по нажатию клавиши 0 и кнопки Help. Сделал начало текста, дальше - перечисление клавиш, команд мыши и простых сценариев работы с командной строкой.

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:

Talomir

Местный
Местный

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
17
Лайки
333
Двадцатый день, третий подход. Закончил окно помощи с разделами:

- ОБЩЕЕ НАЗНАЧЕНИЕ ПРОГРАММЫ

- РАБОТА С КЛАВИАТУРОЙ - РЕКОМЕНДУЕМЫЙ РЕЖИМ

- РАБОТА С МЫШКОЙ - МЕНЕЕ РЕКОМЕНДУЕМЫЙ РЕЖИМ

- РАБОТА С КОМАНДНОЙ СТРОКОЙ (с примерами)

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся

Осталось сделать логику кнопки Unzip, я надеюсь сделать файловый менеджер за 21, 22 или 23 дня!
--- Добавлено позже: ---

Свёрнутое окно помощи сейчас выглядит так:

Для просмотра ссылки Войди или Зарегистрируйся
--- Добавлено позже: ---

ФАЙЛОВЫЙ МЕНЕДЖЕР ЗА 21 ДЕНЬ

Сегодня - 21-ый и последний день разработки этой версии файлового менеджера CyberFile. Я продублировал реакцию кнопок Close на крестиках правого верхнего угла диалоговых окон, то есть на событии FormClosing, и поправил баги, обусловленные Invoke на уже закрытых по CANCEL диалоговых окнах.

Итак, разработка простого файлового менеджера заняла ровно 21 день, при этом пол девятнадцатого дня ушло на выходной и разработка велась по 4 часа в день в среднем, по 3-4 подхода по часу-полтора каждый. Пришлось работать именно так, из-за отсутствия сигарет и неимоверной летней жары, на которой плохо себя чувствуешь и быстро утомляешься. Но, работа сделана и программа написана, выглядит, с интерфейсом, как я и обещал, лучше существующих аналогов, типа FAR Manager, Total Commander и Windows Explorer. Теперь, я жду осени для релиза этой программы для массового скачивания, и - перехода к добавлению форматов документов в свою интернет поисковую систему, аналог google. Если же КиберФайл-ом будут пользоваться, и я получу обратную связь и донат, то я сделаю и вторую версию этой программы со следующими запланированными улучшениями:

- SMB FS (навигация и работа с файлами в удалённых расшаренных папках по сети)

- Unzip и навигация по содержимому архивов с использованием файловых панелей

- 3D View для файловой системы - концепция box-and-rooms (комнаты и ящики, как директории и файлы), поддержка Virtual Reality VR, давно планировал

Итак, ждите в сети релиза CyberFile 1 осенью, и, возможно, даже релиз CyberFile 2! :)

Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
Для просмотра ссылки Войди или Зарегистрируйся
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.
Сверху