Программа основывается на работе с командами, которые пользователь отправляет в программу. Команды вводятся в специально отведенную для этого строку, затем по нажатию на [Enter], отправляются. Каждая команда состоит из:
- ссылки (команды),
- аргументов команды
Команда поделена на ссылки и аргументы при помощи пробела, то есть схема вида command arg arg1 arg2
, отправленная в
консоль, значит следующее:
- command (ссылка),
- arg, arg1, arg2 (аргументы команды)
Системные команды начинаются с символа ~
, не могут быть выполнены при обычном вводе команды.
Мультипробелы удаляются автоматически так, что все пробелы будут заменены одним.
Начиная с версии 0.1.8 стало возможно менять цветовую схему консоли программы. Для этого существует специальная команда - color
. Цвет состоит из двух чисел, разделенных знаком :
, например 3:14
. Первое число (до знака :
) означает цвет заднего фона, а второе - цвет текста на этом фоне. Таким образом, командой color 3:14
можно задать цвет текста белым (число 14), а цвет фона темно-синим (число 3).
Кроме этого, цветовая схема будет сохранена в файле last_color.tmp
, что дает при загрузке программы автоматически выбрать ваш предпочитаемый цвет консоли.
С версии 0.4.1 данная функциональность была полностью убрана из основного кода программы и перенесена в файл extcon.dll.
Программа использует многочисленные конфигурации, которые доступны к редактированию пользователям, дабы сделать программу более открытой и позволить расширить ее многие возможности. Именно для этого существует данная система.
Файл конфигурации имеет имя config.txt
. Программа По-умолчанию заблокирована для изменения конфигураций,
однако когда данный файл будет создан в папке с программой, она попытается прочитать его и применить параметры.
В файле конфигурации должна находится строка, которая имеет вид: ?arg1=par1&arg2=par2
...
При такой системе, каждому аргументу соответствует свой параметр. Это дает возможность для элементарной настройки.
Программа имеет несколько параметров для конфигурации. Практически в каждой версии они разные, поэтому узнать актуальные
параметры вы сможете при помощи команды cfg par
.
С версии 0.3.5 нахождение символа ?
в файле не обязательно. Также первым символом может находиться &
. Оба этих символа, находясь в начале строки будут проигнорированы при считывании файла.
Начиная с 0.1.5 в программе присутствует система логирования. Ее задача - сохранять информацию о ключевых действиях программы в специальный файл, который мог бы быть прочитанным человеком. Это файл lastlog.txt
, который хранится в корневой директории программы.
Когда в файле lastlog.txt
будет содержаться более 511 строк, он будет перемещен в папку logs
и получит случайное наименование.
Программа использует текстовый файл для хранения будильников и взаимодействия с ними. Путь до файла можно изменить в настройках конфигурации и он может быть любым по формату и весу. Изначально этот файл обозначается как alarms.txt. Важно то, чтобы файл имел права для чтения и записи содержимого.
Во время запуска программы без данного файла, будет срабатывать триггер "первый запуск", появится приветственное сообщение и краткая инструкция по пользованию программой. Если файла не существует при обращении к нему, он будет создан автоматически.
Информация о каждом будильнике хранится в каждой новой строке файла, нумерация строк используется для удаления/редактирования нужного будильника программой. Это используется многими командами. При чтении списка будильников, важно чтобы аргументы были указаны правильно. Разделителем для данных служит обычный, одинарный пробел.
Информация о будильнике имеет следующую структуру:
1 08.03.2019 0:10 0JHRg9C00LjQu9GM0L3QuNC6IDEyMw== 1
Слева направо:
- Статус будильника (1 или 0). Если 0, то будет проигнорирован при чтении файла.
- Дата в формате ДД.ММ.ГГГГ ЧЧ:ММ
- Имя будильника (зашифровано в Base64), будет раскодировано при чтении
- Тип сигнала будильника.
Ancshell - это необходимый системный модуль, который находится в файле _ancshell.dll
. Используется в программе для осуществления двух вещей:
- Динамическую загрузку .DLL библиотек, указанных в специальном файле.
- Обработку команд с учетом подключенных библиотек (опрашиваются при выполнении команды).
Программа поддерживает возможность запуска с некоторыми аргументами.
Стандартные аргументы запуска разделяются символом пробела, и выглядят:
ConsoleAlarm64.exe Агрумент1 Аргумент2 Аргумент3
...
Консольный будильник использует первый аргумент как основное тело команды. Все последующие аргументы используются определенной (уже выбранной) командой.
-
Аргумент "Cmd" может применяться для выполнения каких-либо команд во время запуска программы, например: для автоматической настройки или установки будильника на нужное время или в каких-либо других служебных целях. Вторым аргументом должен передаваться какой-либо набор команд (без ограничений). Важно понимать, что любые пробелы заменяются на символ "_", а сами команды разделяются при помощи ":". Таким образом, формат набора команд будет таким: команда1:команда2:команда3 и т.д..
-
Аргумент "Cfg" применяется для настройки временной конфигурации. В этом случае полностью игнорируется настройки, сохраненные в файле конфигурации. Вторым аргументом используется сама строка конфигурации, например может передаваться такой вариант:
Cfg ?log=1&file=alarm.txt
.