• Читаемое за неделю
  • Последние ответы
  • Новые темы

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

Talomir

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

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
7
Реакции
143
ФАЙЛОВЫЙ МЕНЕДЖЕР 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
Сообщения
7
Реакции
143
Третий день, второй подход. Заменил многопрходный алгоритм парсинга текста и подсветки синтаксиса на однопроходный, чтобы не тормозило. Сделал заходы в папку по нажатию 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
Сообщения
7
Реакции
143
Четёртый день разработки. Доделал реакции на цифровую клавиатуру:

Стрелка вверх - подсветка файла вверх
Стрелка вниз - подсветка файла вниз
Стрелка влево - подсветка файла в начало
Стрелка вправо - фокус и подстветка на правую панель
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
Сообщения
3
Реакции
12
Интересено, что будет, если открыть папку с 10к файлами... Или 100к. Или если файл/папка будет содержать недопустимое название...
 

Talomir

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

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
7
Реакции
143
Интересено, что будет, если открыть папку с 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
Сообщения
7
Реакции
143
А вот - первая часть спектакля, файл 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
Сообщения
7
Реакции
143
Седьмой день разработки. Решил проблему с некорректным запуском некоторых программ - делаю 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
Сообщения
7
Реакции
143
Восьмой день. Сделал контекстное меню мыши по правому клику на одну из панелей. При выборе 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
Сообщения
7
Реакции
143
Второй подход: продублировал функцию выделения файлов и папок нажатием клавиши Insert, двойное выделение - снимает выделение. Добавил кнопку Size и пункт меню по правому клику мышки Total Size - подсчёт суммарного объёма, занимаемого выделенными папками и файлами, самая нужная вещь при работе с файлами, например - при бэкапе на флешку.


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

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



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

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

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

 
Последнее редактирование:

Talomir

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

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
7
Реакции
143
Десятый день, второй подход. Сделал окно прогресса удаления уже, чтобы форма окна была более правильной. Сделал изменение состояния прямоугольника прогресса 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
Сообщения
7
Реакции
143
Одиннадцатый день, второй подход. Сделал рекурсивный подсчёт общего размера выделенных папок и файлов, по правому клику мышки в меню и по нажатию кнопки Size. Очень часто надо узнать, сколько места занимает папка или набор папок! На скриншоте ниже - 22 Гигабайта бэкапов на моей флешке!


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

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


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

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

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


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

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


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

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

 
Последнее редактирование:

Talomir

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

Talomir

Местный
Местный
Статус
Offline
Регистрация
20 Мар 2021
Сообщения
7
Реакции
143
Тринадцатый день, первый подход. Существенно улучшил интерфейс, сделав более контрастную тему на базе 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
Сообщения
7
Реакции
143
И, для сравнения, окно прогресса сильнейшего из конкурентов КиберФайла - 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
Сообщения
7
Реакции
143
Пятнадцатый день разработки, неимоверная жара. Первый подход: сделал форму показа простых атрибутов файла и директории, типа времени создания, времени последнего доступа и времени последней записи. Навёрнутые атрибуты и пермишины будут уже во второй версии, так как это - не основной функционал, а дополнительная фишка программы, я планирую успеть сделать файловый менеджер КиберФайл до осени и осенью добиться массовых инсталляций программы. Выглядит окно атрибутов сейчас так:


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

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

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

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


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

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

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


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

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

 
Последнее редактирование:

Talomir

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

Talomir

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


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

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


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

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

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


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





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

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



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

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










 
Последнее редактирование:

Talomir

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

Talomir

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



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

Убрал поиск файлов по подстроке: это редкая и ОЧЕНЬ медленная процедура. Так, у меня 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
Сообщения
7
Реакции
143
Восемнадцатый день, третий подход. После двух недель работы с КиберФайл-ом стало понятно, что от жёлтого хаки устают глаза - я поменял фон панелей на белый, и фон главного окна - на матовый белый. Так палитра стала контрастнее, тексты - отчётливее, а программа - красивее.





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

Например, для вычисления маршрута к 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
Сообщения
7
Реакции
143
Девятнадцатый день. Сделал день перерыва после трёх недель работы без выходных, чтобы не тронуться умом окончательно, просто - проспал целый день, тем более была жара. Вечером взял литр энергетика, пришёл в норму и принял решение откатиться и не вставлять кастомный 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
Сообщения
7
Реакции
143
Двадцатый день, третий подход. Закончил окно помощи с разделами:

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

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

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

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





Осталось сделать логику кнопки 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! :)





 
Последнее редактирование:

Сверху