niklyadov / console-alarm

Простой консольный будильник, исполняет все базовые вещи!

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Console Alarm - Будильник с текстовым режимом

Консольный ввод команд

Программа основывается на работе с командами, которые пользователь отправляет в программу. Команды вводятся в специально отведенную для этого строку, затем по нажатию на [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. Статус будильника (1 или 0). Если 0, то будет проигнорирован при чтении файла.
  2. Дата в формате ДД.ММ.ГГГГ ЧЧ:ММ
  3. Имя будильника (зашифровано в Base64), будет раскодировано при чтении
  4. Тип сигнала будильника.

AncShell

Ancshell - это необходимый системный модуль, который находится в файле _ancshell.dll. Используется в программе для осуществления двух вещей:

  1. Динамическую загрузку .DLL библиотек, указанных в специальном файле.
  2. Обработку команд с учетом подключенных библиотек (опрашиваются при выполнении команды).

Запуск с аргументами запуска

Программа поддерживает возможность запуска с некоторыми аргументами. Стандартные аргументы запуска разделяются символом пробела, и выглядят: ConsoleAlarm64.exe Агрумент1 Аргумент2 Аргумент3...

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

  1. Аргумент "Cmd" может применяться для выполнения каких-либо команд во время запуска программы, например: для автоматической настройки или установки будильника на нужное время или в каких-либо других служебных целях. Вторым аргументом должен передаваться какой-либо набор команд (без ограничений). Важно понимать, что любые пробелы заменяются на символ "_", а сами команды разделяются при помощи ":". Таким образом, формат набора команд будет таким: команда1:команда2:команда3 и т.д..

  2. Аргумент "Cfg" применяется для настройки временной конфигурации. В этом случае полностью игнорируется настройки, сохраненные в файле конфигурации. Вторым аргументом используется сама строка конфигурации, например может передаваться такой вариант: Cfg ?log=1&file=alarm.txt.

About

Простой консольный будильник, исполняет все базовые вещи!


Languages

Language:Batchfile 100.0%