Специальные директивы Define и Include


     Директива  DEFINE.  Она  может  использоваться  в  файлах   t-mail.ctl ,
 events.ctl  и  subst.lst . Синтаксис директивы:

          Define  substring newstring

     С помощью данной директивы осуществляется макроподстановка, то есть, в
значениях  переменных  или  описаниях  событий  и маршрутизации substring
заменяется на newstring.

     Пример ( t-mail.ctl )
     ~~~~~~~~~~~~~~~~~~~
          Define mynet  5030
          Define mynode 15
          
          Address 2:mynet/mynode.0
          
          Freq_Nodes   mynet/mynode.*
          
     Пример ( events.ctl )
     ~~~~~~~~~~~~~~~~~~~
          Define    hubs  /2 /6 /35 /27 /108
          
          Direct    hubs
          Priority  hubs  11:00-13:00

     Директивы  define  в   t-mail.ctl ,   events.ctl ,   subst.lst   независимы.
Максимальное  количество  таких  директив  в  каждом  из  этих файлов - 50.
Вложенность не допускается. Макросы, определенные этими директивами, ищутся
и заменяются только "справа", т.е. в поле "значение" для  t-mail.ctl , правее
поля "директива" в  events.ctl  и правее адреса в  subst.lst . В макросах можно
задавать  символы  в  шестнадцатиричном  виде,  используя служебные символы
'\x'. Это, например, единственный способ  задать символы "точка с запятой",
CR, LF в значимых полях конфигурационных файлов.

     Пример ( t-mail.ctl )
     ~~~~~~~~~~~~~~~~~~~
    define  semicolon  \x3B
    ...
    Init   AT+fclass=2 semicolon FAA=1     ; init string

    Пример ( t-mail.ctl )
    ~~~~~~~~~~~~~~~~~~~
    define cr      \x0d
    define login   login:\x0d
    ...
    Extern_Mail   hrumhrumcr   hrum.bat
    Extern_Mail   login        uuuu.bat

     Директива  INCLUDE.  Она  может  использоваться  в  файлах  t-mail.ctl ,
 events.ctl  и  subst.lst . Синтаксис директивы:

          Include  filename

     С помощью данной директивы в  тело файла конфигурации могут включаться
другие текстовые  файлы как фрагменты. Включаемые  файлы по своей структуре
должны соответствовать  синтаксическим правилам того  файла, в который  они
помещаются. Вместо filename может быть  указано полное имя файла, если же
в имени файла  не указан путь  - файл будет  искаться в том  же каталоге, в
котором находится  файл с соответствующей  директивой include. Максимальная
глубина вложения - 10. Число директив Include не ограничено.

     Примеры:
     ~~~~~~~~
          Include  emsi.ctl
          Include  answer.ctl
          [4] Include  c:\t-mail\my_ctls\hmm.ctl