Делюсь подборкой разных задач

Обсуждение программы xStarter
Ответить
SergeK
Пилотируем с автопилотом
Сообщения: 22
Зарегистрирован: Чт янв 26, 2023 8:40 pm
Благодарил (а): 0
Поблагодарили: 0

Делюсь подборкой разных задач

Сообщение SergeK » Пт мар 10, 2023 7:15 pm

Доброе время суток, уважаемые участники форума!

Спешу сообщить, что мой xStarter до сих пор работает и облегчает мою жизнь, выполняя часть рутинных (и не только) задач как дома, так и на работе, несмотря на то, что в Windows 10 часть функционала не работает, либо работает не совсем корректно.
Пользуюсь версией 1.9.4.100. Дома xStarter установлен как положено. На работе, ввиду отсутствия прав администратора, пользуюсь копией папки с установленной дома программой. При этом основной функционал xStarter сохранён.

Предлагаю вашему вниманию подборку из некоторых задач, реализованных мною за время использования xStarter.

К сожалению не могу прикрепить заархивированный файл с задачами из-за его размера 9,55 МБ (максимальный доступный размер для вложений на форуме мне не известен). Поэтому кидаю файл "Задачи.rar" в облако:
https://disk.yandex.ru/d/Ww0KAjYA_QGXDg
Кроме того, хотелось бы поместить данную тему в раздел "Комплексные задачи", т.к. все задачи в подборке являются реально работающими. Однако для этого у меня не хватает прав. Прошу модераторов, если это возможно, перенести эту тему в указанный раздел. Можно и архив с задачами перекинуть туда.

Для извлечения файлов из архива требуется WinRAR версии не ниже 5.0. Все задачи в данной подборке реализованы в виде исполняемых файлов. Внутри архива имеется подробное описание всех задач.
Мой выбор именно исполняемых файлов для публикации своих задач основан на предположении,что на форуме могут оказаться участники, на компьютере которых отсутствует xStarter. Формат исполняемых файлов позволит воспользоваться представленными задачами более широкому кругу пользователей. Кроме того, некоторыми задачами удобнее пользоваться именно как исполняемыми файлами. Однако такой формат не отменяет возможности для более опытных пользователей открыть задачи в xStarter для исследования их кода, либо других целей.

Часть задач, которые я использую, неудобно либо невозможно использовать в отрыве от среды xStarter и реализовать в виде исполняемых файлов, поэтому в данной подборке они отсутствуют.
Возможно, позже я опубликую их здесь.

Данная подборка будет наиболее полезна начинающим пользователям xStarter (надеюсь, такие ещё существуют :D ), для которых я постарался достаточно подробно комментировать код своих задач.
Возможно, что и опытным пользователям найдётся что-то, что можно взять на заметку, либо какая-то из моих задач подтолкнёт к новым идеям по использованию xSarter, ведь его возможности ограничены только нашей фантазией ;).
Все задачи в подборке упорядочены по соответствующим разделам.

Если кто-то ещё не разобрался, как открыть в xStarter исполняемый файл, вот краткая инструкция:
1. Нужно проследовать по пунктам меню программы Файл -> Загрузить из файла -> Задача.
2. В правом нижнем углу окна "Открытие" в выпадающем списке выбрать пункт "Исполняемые файлы (*.exe)".
3. После этого можно выбрать и открыть исполняемый файл задачи, созданной в xStarter. Задача откроется в текущей выбранной секции.
Не следует пытаться открывать исполняемые файлы, не созданные в xStarter, т.к. подобные действия приведут к ошибке.

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


Перечень предлагаемых задач:

1. Простые задачи

Дата_Время
- Календарь на месяц (открывается в Блокноте)
- Календарь на месяц (открывается в браузере)
- Календарь на год (открывается в браузере)
- Разница между датами
- Таймер с отображением
- Таймер универсальный
- Алгоритм расчёта числа дней в месяце и дня недели

Инфо (справочная информация)
- Действия ДатаВремя
- Информация о дисках
- Переменные
- Разрешение экрана
- Свойства файла
- Справочник функций xStarter

Разное
- Бегущая строка
- Бегущая строка крупным шрифтом
- Блокнот-часы
- Вывод текста крупным шрифтом
- Отложенная перезагрузка
- Поиск файлов xStarter
- Поиск файлов
- Хэш MD5
- Хэш файла
- Чтение бинарных файлов

Говорящие часы

2. Приложения

- Визуализация монохромных графических BMP-файлов
- Дни Рождения
- Конвертор графических файлов из формата .avif в форматы .png, .tif или .jpg
- Напоминалка о различных событиях
- Рисование по точкам

SergeK
Пилотируем с автопилотом
Сообщения: 22
Зарегистрирован: Чт янв 26, 2023 8:40 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Делюсь подборкой разных задач

Сообщение SergeK » Пт апр 28, 2023 11:49 am

Обновлен и дополнен архив с различными задачами.
Архив с тем же именем и расположен по той же ссылке, опубликованной выше.

Изменения, связанные с улучшением функционала, настигли следующие задачи:

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

2) Вывод текста крупным шрифтом
- Добавлен ввод пользователем знака, из которого будет формироваться крупный шрифт.
Если введён пустой знак, то для формирования каждого крупного символа используется знак, соответствующий этому символу.
- Введено ограничение на длину исходной строки в 146 символов. Если было введено больше, то строка урезается до указанного значения.
Максимальная длина строки в Блокнот - 1024 символа. Если длина больше, то с 1025 символа строка переходит на новую строку.
Это может "ломать" выводимую крупным шрифтом строку, поэтому исходная строка ограничена 1024 / 7 = 146 символами.
- Добавлен код для сохранения/восстановления содержимого буфера обмена для исключения его порчи при выполнении программы, т.к. вывод в Блокнот реализован через буфер обмена.

3) Хэш файла
- Добавлено сохранение всех введённых пользователем параметров (кроме имени файла), чтобы не задавать их повторно.

Также в архив в раздел "Разное" добавлена задача "Окружность по Брезенхему", реализующая с помощью xStarter алгоритм Брезенхема для построения окружности. Алгоритм разработан именно для машинной графики. Подробности работы алгоритма см. в Интернете.


Серьёзные, хотя не всегда заметные на первый взгляд изменения коснулись следующих приложений:

1) Визуализация файлов BMP
- Добавлена возможность задать цвет точек из выпадающего списка.
- Исправлена ошибка с определением начала блока графических данных в файле, зависящего от версии формата файла, что в редких случаях приводило к неверному отображению изображения, а также к неверному чтению палитры ввиду некорректного определения её адреса.
- Исправлена зависимость установки точки от цвета, заданного в палитре.
Было: если в 1-м байте палитры код 0, то устанавливаем на экране точки, с индексом 0, иначе - с индексом 1.
На самом деле в палитре может быть задан любой цвет для точек с индексами и 0, и 1.
Теперь: суммируем по три составляющие цвета из палитры для каждого индекса и выбираем тот код индекса для чёрного цвета, у которого полученная сумма меньше.

2) Дни Рождения
- Добавлена возможность в файле с описанием дней рождения в строке ФИО использовать код \n для её принудительного разделения на отдельные строки при выводе напоминания.
- Все модули приложения теперь запакованы в практически профессиональный установщик "Дни Рождения.Установщик.exe", реализованный с помощью WinRAR!
Установщик копирует все модули приложения в заданную папку,создаёт необходимые ярлыки и выполняет первоначальный запуск основного модуля приложения.
Теперь приложение включает в себя модуль "Удалить Дни Рождения.exe" для корректного и безопасного удаления приложения с компьютера.

3) РисованиеПоТочкам
- Добавлена возможность выбора размера кисти (толщины линий).
- Добавлена возможность выбора цвета линий из выпадающего списка.
- Добавлен флаг автоматической установки максимального размера листа с отключением лишних элементов Paint. При этом меняются координаты точки отсчёта на (6,53).
Функция экспериментальная. Для её работы потребовалось определять размеры дочерних окон Paint. Здесь реализована попытка сделать это с помощью скрипта в PowerShell.
- Реализована автоматическая корректировка нижнего предела координаты Y в зависимости от наличия/отсутствия ленты инструментов для исключения попадания на панель инструментов Paint.
- Добавлен цикл с проверкой исходных данных, возвращающий к окну ввода имени файла в случае нефатальных ошибок.

Кроме того, реализована ещё одно развлекательное приложение :) "Текстовая анимация" для воспроизведения заранее подготовленной анимации, представленной в виде набора изображений, сформированных из текста.
Подробности о программе - в файле "ReadMe.txt", расположенном в папке "2. Приложения\Текстовая анимация" архива.


Как и ранее, все исполняемые файлы задач можно открыть в xStarter для исследования их кода. Комментарии кода также присутствуют в каждой задаче.

SergeK
Пилотируем с автопилотом
Сообщения: 22
Зарегистрирован: Чт янв 26, 2023 8:40 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Делюсь подборкой разных задач

Сообщение SergeK » Чт сен 28, 2023 7:09 pm

Если у Вас в xStarter куча задач, разбросанных по разным секциям (прямо, как у меня :-D ), то иногда полезно знать некую статистику о том, сколько всего задач имеется, по каким секциям и в каком количестве они раскиданы, а также подробную информацию по отдельным секциям.
Всё это делает предлагаемая небольшая задача (в приложении).
Вложения
Все задачи xStarter.xstk
(19.98 КБ) 48 скачиваний

SergeK
Пилотируем с автопилотом
Сообщения: 22
Зарегистрирован: Чт янв 26, 2023 8:40 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Делюсь подборкой разных задач

Сообщение SergeK » Пт сен 29, 2023 8:00 pm

Ещё одна служебная задача.
Предназначена для автоматического сохранения всех задач xStarter в папки с названием секций.
Программа имитирует действия пользователя по сохранению задач, т.е. с помощью мыши и комбинаций клавиш проходит по дереву секций/задач и сохраняет каждую задачу в файл с расширением xstk в соответствующую папку.
В следствие этого до окончания работы нельзя трогать клавиатуру и мышь!

Перед использованием необходимо указать свой путь для сохраняемых задач в строке с действием "Установить переменную1".
Если ничего не менять, то будет создана папка "Задачи по секциям" в системной папке "Документы".

Задачу лучше запускать по клавише F9 ("Запустить задачу").

К именам сохраняемых файлов добавляется текущая дата, что позволяет ежедневно сохранять новые копии (либо версии) своих задач.
Вложения
Сохранение задач xStarter.xstk
(37.89 КБ) 37 скачиваний

SergeK
Пилотируем с автопилотом
Сообщения: 22
Зарегистрирован: Чт янв 26, 2023 8:40 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Делюсь подборкой разных задач

Сообщение SergeK » Пт сен 29, 2023 8:46 pm

При интенсивной работе по созданию задач для xStarter полезно делать ежедневные копии не отдельных задач, а секций целиком.
Для этого предназначена следующая задача.
Она выполняет автоматическое создание резервных копий секций с задачами xStarter при его запуске.
Резервная копия создаётся только один раз при первом запуске xStarter на текущий день.
В качестве имени файла резервной копии используется предыдущая дата работы компьютера, и данные резервируются именно за эту дату.
Задача требует наличия установленного в системе архиватора WinRAR, так как он используется задачей для упаковки нескольких файлов секций в один файл.

Перед использованием необходимо указать свой путь для сохраняемых резервных копий в строке с действием "Установить переменную1".
Если ничего не менять, то будет создана папка "Секции" в системной папке "Документы".
Вложения
Резервное копирование секций xStarter.xstk
(22.97 КБ) 39 скачиваний

SergeK
Пилотируем с автопилотом
Сообщения: 22
Зарегистрирован: Чт янв 26, 2023 8:40 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Делюсь подборкой разных задач

Сообщение SergeK » Вс окт 01, 2023 9:27 pm

Сделал очередное обновление архива с подборкой разных задач.
Обновления несущественные (за исключением приложения "Рисование по точкам") и коснулись нескольких задач.
Описание есть в архиве.

На всякий случай повторю ссылку на архив:
https://disk.yandex.ru/d/Ww0KAjYA_QGXDg

SergeK
Пилотируем с автопилотом
Сообщения: 22
Зарегистрирован: Чт янв 26, 2023 8:40 pm
Благодарил (а): 0
Поблагодарили: 0

Re: Делюсь подборкой разных задач

Сообщение SergeK » Ср фев 14, 2024 7:45 pm

Ещё одно обновление архива с подборкой разных задач.

Довёл до ума напоминалку "Дни Рождения". Она теперь напоминает не только о днях рождения, но и о любых событиях, привязанных к определённой дате.
Кроме того, вывод напоминаний теперь идёт в правильном порядке сверху вниз, а не наоборот, как было раньше :)

Дополнил программу "Рисование по точкам" (в архиве 3 версии с разным функционалом) небольшой утилитой "КоординатыИзPaint", которая позволяет комфортно подготавливать данные для отрисовки, сохраняя по клику мыши координаты точек изображения, открытого в Paint.
К сожалению, мне не удалось из xStarter получить доступ к стандартной строке состояния окна Paint, поэтому утилита реализована с помощью программы "AutoHotkey".

Подробное описание всех задач - в архиве.
Ссылка на скачивание есть выше.

Ответить