
/**

\mainpage  Пояснительная записка проекта Args
\date 2014-2017

\section Введение
Пояснительная записка к проекту args - библиотеки ввода и разбора параметров приложения
и выдачи подсказки - страницы использования приложения (usage).
Параметры приложения могут вводится как аргументы командной строки
либо как поля автоматически генерируемого диалогового окна.


Разработчики  А.Г.Пискунов, Д.И.Гись, О.С.Мисуна.  




В пояснительной записке используются следующие термины:
-                                  
  аргумент командной строки - 
  элемент массива args из
          `static void Main(string[] args)`;
 
-
ключ, это аргумент командной строки, начинающийся на символ '-' или '/'.
Библиотека игнорирует регистр букв; 
-
синоним ключа, далее - синоним. Библиотека игнорирует регистр букв;
-
описание ключа;
-
параметр ключа.


например,
на следующей странице использования приложения для тестирования библиотеки

----

    to test command line arguments (ver:2.10.0)
    usage:
     a [-?] [-d] [-v] [-ln NNN] [-l LLL] [-p PPP] -f FLNM  -t1 | -t2 | -t3
    options:
      -?                : to see this help: True
      -d                : debug mode: False
      -v                : additional info: True
      -ln NNN       : log level names:{Spam Debug Warning Stats Error FatalError Info Ignore}: Error
      -l LLL        : log level (1..8): 1
      -p PPP        : percent for something (..100): 0.05
      -f FLNM       : data file: somefile.dat
      -t1               : to do some work: False
      -t2               : to do another work: False
      -t3               : to show dialog window: False
    '?' means the same as 'help'
    'd' means the same as 'debug'
    'v' means the same as 'verbose'
    'ln' means the same as 'logName'
    'l' means the same as 'log'
    'p' means the same as 'percent'
    'f' means the same as 'file'
    't1' means the same as 'workOne'
    't2' means the same as 'workNext'
    't3' means the same as 'window'
              
----
-
ключами являются символы: -?, -v, -l.
-
синонимами:   help, verbose, log.
-
описаниями: 'to see this help',   'additional info', 'log level'.
-
параметрами ключа:  LLL, PPP, FLNM.

Родительским классом для
разбора аргументов является
[Arg](@ref Args.Arg).

Страница подсказки выдается
-
в случае консольного приложения - в стандартный вывод ошибок,
-
в случае приложения Win32 - в  диалоговое окно.
Свойство приложения, которое позволяет ему выдавать подсказку толи в стандартный
вывод ошибок, толи в диалоговое окно, 
появилась в библиотеке благодаря помощи
участника форума 
[sql.ru](http://www.sql.ru/forum/memberinfo.aspx?mid=152853)

При генерации диалогового окна для различных полей ввода можно задавать

-
признак того, что поле не надо редактировать.
-
признак того, что поля используется для ввода пароля и не надо отображать текст.
-
метод - делегат для проверки корректности введенного в поле значения. 
В случае некорректного ввода, блокируются возможность вводить что либо в другие поля
и нажимать кнопку Ок.
-
набор корректных альтернатив для ввода в поле.



Файл был создан утилитами 
[Doxygen](http://doxygen.org)
и
[Microsoft's HTML Help Workshop] (http://www.microsoft.com/en-us/download/details.aspx?id=21138).
С утилитой 
[Doxygen](http://doxygen.org)
можно познакомится документе 
[DOXYGEN И GRAPHVIZ : ДОКУМЕНТИРОВАНИЕ ПРОЕКТОВ НА C#](http://agp1.hx0.ru/dgIntro.html). 

При создании текущей Пояснительной записки
использовались следующие параметры файла конфигурации утилиты 
[Doxygen](http://doxygen.org):

-
DOXYFILE_ENCODING      = CP1251;

-
GENERATE_HTMLHELP      = YES.
Параметр для 
создания CHM файла - файла подсказки из упакованного HTML.
В каталог, где строится документация
выводится файл index.hhp, который потом используется
утилитой hhc.exe
из [Microsoft's HTML Help Workshop] (http://www.microsoft.com/en-us/download/details.aspx?id=21138).
для построения файла подсказки;

-
CHM_FILE               =  report.chm.
Задать имя CHM файла;

-
CHM_INDEX_ENCODING     =  CP1251;

При кодировке UTF-8 не удалось получить корректного
отображения   CHM файла.

Кроме того, были использованы следующие команды форматирования текста и синонимы для них
(в оригинале markdown):


-
 элемент списка (markdown)  начинается с символа минус '-' или плюс '+';


- 
новый параграф (markdown) - начинается пустой строкой;

-
 символ обратная кавычка '\`' начинает и заканчивает небольшой 
 фрагмент кода (текст, который не надо форматировать);
-
три минуса подряд  с дополнительными символами новой строки (markdown) - начинают и заканчивают
неформатированный текст, вокруг которого рисуется линии;
-
текст `[Doxygen](http://doxygen.org)` вставляет в документ 
внешние гиперссылки;

-
текст `[Arg](@ref Args.Arg)` вставляет в документ 
внутренние гиперссылки;

-
'\\mainpage'  - изменение начальной страницы документа.


\section Тестирование

    
Для тестирования библиотеки используется специальный 
[Тестюнит](@ref test.Program).



*/
/*
--
._ ua.NAU.args-0.01/1.08.04 81
===
*/