Командная строка CRW-DAQ


Оглавление


Применение командной строки CRW-DAQ

Программа CRW-DAQ является графическим приложением, и может показаться, что командная строка не имеет для нее особенного значения. Думать так будет ошибкой. Командная строка CRW-DAQ имеет много важных применений, без которых применение пакета было бы затруднено.

Среди этих применений следующие:

  1. Задание в командной строке картинки для отображения ярлыка программы. Особенно важно если на компьютере несколько установок или разных подсистем, которые обслуживаются разными конфигурациями. Каждой конфигурации можно дать свою картинку.
  2. Запуск измерительных DAQ систем через ярлыки на Рабочем Столе с автоматической загрузкой и стартом нужной конфигурации. Ярлыки AdmiLink.Exe позволяют также запускать измерения от имени пользователя с правами Администратора.
  3. Автоматический старт измерений через ярлык в папке Автозагрузка с указанием требуемого конфигурационного файла.
  4. Запуск или открытие файлов для редактирования методом перетаскивания файлов (Draq & Drop) на ярлык CRW-DAQ.
  5. Открытие файлов (возможно, с диалогом ввода имени файла) из программ DaqPascal.
  6. Заметьте, что действия зависят от расширения файлов, что позволяет делать большинство нужных пользователю операций через перетаскивание файлов на один и тот же ярлык CRW-DAQ.

При запуске командной строки CRW-DAQ всегда следует иметь в виду, что программа CRW-DAQ позволяет запускать только одну копию (в данном каталоге установки). Если запустить вторую копию программы, то она увидит, что первая копия уже работает, передаст ей сообщение и параметры командной строки, а затем немедленно завершится. Первая копия программы, получив сообщение, активизирует окно приложения (распахивает его, если было свернуто) и выполняет полученную командную строку так, как будто бы это ее собственная командная строка.

Дальнейшие действия для файла, указанного в командной строке, сводятся в конечном счете к выполнению консольной команды @open с именем файла в аргументах. Действия также зависят от состояния кнопок CTRL,ALT,SHIFT, как описано далее.

Содержание


Параметры командной строки CRW-DAQ

Программа CRW-DAQ имеет следующий формат командной строки:

Например,
  CrwGo.exe /Icon=2 d:\Crw32exe\demo\demo\test.cfg
  CrwGo.exe /Icon=2 /r d:\Crw32exe\demo\demo\test.cfg
  

Все параметры командной строки необязательны.

Настоятельно рекомендуется всегда использовать вызов CrwGo.exe, так как это позволит сократить время на создании ярлыков AdmiLink.Exe. Дело в том, что эти ярлыки привязаны к содержимому файлов. Файл Crw32.exe будет меняться с каждой версией пакета, а файл CrwGo.exe специально сделан как (неизменяемая) оболочка для запуска Crw32.exe. Поэтому со сменой версии пакета ярлыки менять не придется, если они ссылаются на CrwGo.exe.

Необязательный параметр /Icon=n задает картинку для ярлыка программы, которая отображается в заголовке окна программы, а также в области уведомлений (SysTray). Подробности смотрите в описании консольной команды @open.

Необязательные опции /r, /e, /d задают режим открытия следующих за ними в командной строке файлов. Подробности смотрите в описании консольной команды @open.

После параметров запуска идут (необязательные) имена открываемых файлов. Имена файлов должны быть полными, то есть содержать полный путь и расширение. Файлы, имя которых неполное (например, без пути или без расширения) будут проигнорированы.

Обработка параметров командной строки сводится к тому, что для каждого файла, указанного в командной строке, выполняется консольная команда @open:

   @open /opt filename
  
с указанными опциями и именем файла. Открытие файла может оказаться недоступным, например, если уже открыт диалог ввода имени файла. В этом случае команда открытия файла будет проигнорирована (с выдачей сообщения в главную консоль). Вот, собственно, и все.

Не надо также забывать, что режим "перетаскивания" файлов фактически эквивалентен вызову программы с именем "брошенного" на ярлыке файла. Так что режим перетаскивания также сводится в конечном счете к выполнению команды @open. Роль опций при перетаскивании играют кнопки CTRL (/r), ALT (/e), SHIFT (/d).

Остается прочитать подробности этой очень непростой и исключительно важной команды @open, а также посмотреть примеры.

Содержание


Режим перетаскивания (Draq & Drop)

Программа CRW-DAQ позволяет при помощи командной строки запускать или открывать для редактирования файлы методом перетаскивания (Draq & Drop).

Это делается элементарно. "Хватаете" файл мышкой, например, в стандартном Проводнике или в любимом Total Commander. Затем "тащите" его и "бросаете" на ярлык CRW-DAQ, который, например, помещен на панели быстрого запуска. При этом происходит вызов программы с именем "брошенного" на ярлык файла. При этом программа CRW-DAQ выполняет команду @open по следующим правилам:

  1. При нажатой кнопке CTRL "бросание" файла эквивалентно
           вызову программы
              Crw32.exe /r FileName
           или консольной команды
              @open /r FileName
           
    с полным именем файла FileName и действием RUN.
    Подробности смотрите в описании консольной команды @open.

  2. При нажатой кнопке ALT "бросание" файла эквивалентно
           вызову программы
              Crw32.exe /e FileName
           или консольной команды
              @open /e FileName
           
    с полным именем файла FileName и действием EDIT.
    Подробности смотрите в описании консольной команды @open.

  3. При нажатой кнопке SHIFT "бросание" файла эквивалентно
           вызову программы
              Crw32.exe /d FileName
           или консольной команды
              @open /d FileName
           
    с полным именем файла FileName и действием DIALOG.
    Подробности смотрите в описании консольной команды @open.

  4. Если указанные кнопки не нажаты, "бросание" файла эквивалентно
           вызову программы
              Crw32.exe FileName
           или консольной команды
              @open FileName
           
    с полным именем файла FileName и действием DEFAULT.
    Подробности смотрите в описании консольной команды @open.

Содержание


Команда @open

Команда служит для открытия файлов, подобно меню File\Open.

Формат вызова примерно такой:

   @open [/l] [/u] [ /Icon=n ] [/r | /e | /d] [FileName]
    /l - lock   @open command (not available from command line)
    /u - unlock @open command (not available from command line)
    n  - icon number (0..5) or *.ico file name
    /r - force RUN,    skip File\Open dialog
    /e - force EDIT,   skip File\Open dialog
    /d - force DIALOG, run  File\Open dialog
   Example:
    @open /Icon=1                     set yellow Crw32 icon
    @open c:\Daq32\Demo\Demo.cfg      open Demo.cfg - mode DEFAULT
    @open /r c:\Daq32\Demo\Demo.cfg   open Demo.cfg - mode RUN
    @open /l                          lock   command to prevent Drag\Drop execution
    @open /u                          unlock command to enable  Drag\Drop execution
    @open /ule c:\Daq32\Demo\Demo.cfg unlock, open file to edit, then lock (again)
  

Полный синтаксис команды можно получить, вызвав консольную команду @open без аргументов.

Все параметры команды необязательны.

Необязательные опции /l, /u позволяют блокировать (/l=Lock) и разблокировать (/u=Unlock) команду @open. Опции работают по таким правилам:

  1. Команда @open имеет внутренний флаг блокировки LOCK, запрещающий ее исполнение.
    Заблокированная команда ничего не делает, она только выдает сообщение в консоль.
  2. Начальное значение флага LOCK при запуске программы - OFF (т.е. команда разрешена).
  3. Опции (/l,/u) устанавливают значение флага блокировки LOCK в (ON,OFF) соответственно.
  4. Разблокировка /u делается ДО, а блокировка/l - ПОСЛЕ выполнения текущей команды @open.
  5. Обе опции /l,/u доступны только изнутри CRW-DAQ и не доступны из командной строки.
    Это предохраняет конфигурации ответственных DAQ-систем от внешних воздействий. Например, конфигурация DAQ-системы может блокировать команду @open и не опасаться снятия блокировки командной строкой.
  6. Опция /l приводит к блокировке следующих вызовов команды @open. Это значит, что выполнив текущую команду @open, программа установит флажок блокировки. При последующих вызовах заблокированнная команда @open не будет ничего выполнять, а просто выдаст в консоль сообщение. Команду блокировки, например, можно вызвать в начале выполнения конфигурации ответственной DAQ-системы, чтобы защитить систему от запуска (посторонних) программ путем перетаскивания файлов (Drag and Drop) на ярлык CRW-DAQ.
  7. Опция /u приводит к снятию блокировки текущего и следующих вызовов команды @open. Это значит, что программа снимает флажок блокировки, и затем выполняет текущую команду @open. При последующих вызовах команда @open (также) не будет заблокирована. В частности, будет разрешен запуск программ путем перетаскивания файлов (Drag and Drop) на ярлык CRW-DAQ.
  8. Комбинация опций /l /u может применяться для выполнения команды @open изнутри DAQ-системы. Поскольку разблокировка делается ДО, а блокировка ПОСЛЕ выполнения текущей команды, то вызов
    @open /u /l /e c:\Daq32\Demo\Test.cfg
    приведет к открытию указанного файла (даже в заблокированном состоянии!) и последующей блокировке команды. Такая возможность существует только при вызове @open изнутри CRW-DAQ и не снижает защищенности от (нежелательного) выполнения команды @open путем перетаскивания файлов (Drag and Drop) на ярлык CRW-DAQ.
  9. Для ответственных конфигураций надо:
    1. Выполнять блокировку @open /l при старте.
    2. Выполнять защищенный вызов @open /u /l ... для открытия файлов в процессе работы конфигурации.
    3. Выполнять разблокировку @open /u при остановке.

    Необязательный параметр /Icon=n задает картинку для ярлыка программы, которая отображается в заголовке окна программы, а также в области уведомлений (SysTray). При этом параметр n - это либо номер в диапазоне от 0 до 5, задающий картинку из набора:
    0=Icon 0,   1=Icon 1,   2=Icon 2,   3=Icon 3,   4=Icon 4,   5=Icon 5
    либо это имя файла с картинкой *.ICO. Например:

      @open /Icon=3
      @open /Icon=c:\Crw32exe\Resource\Icon\Crw32-3.ico
      

    Необязательные опции /r, /e, /d задают режим открытия следующего за ними в командной строке файла:

    При отсутствии указанных параметров файл открывается в режиме DEFAULT ("по умолчанию"), действие которого зависит от расширения файла (см.далее).

    После параметров запуска идет (необязательное) имя открываемого файла. Имя файла должно быть полным, то есть содержать полный путь и расширение. Файлы, имя которых неполное (например, без пути или без расширения) будут проигнорированы. Надо также отметить, что кроме регулярных (дисковых) файлов могут использоваться специальные файлы, начинающиеся на DAQ:\, которые позволяют вместо дисковых файлов редактировать свойства устройств DAQ-системы, как описано ниже.

    Сложность команды @open состоит в том, что имеется много типов файлов (тип файла ассоциируется с его расширением), и для каждого из них определено 4 действия:

    1. DEFAULT - при отсутствии опций открытия файлов.
    2. RUN - при наличии опции /r.
    3. EDIT - при наличии опции /e.
    4. DIALOG - при наличии опции /d.

    Режим DIALOG делает всегда одно и то же - вызывает стандартный диалог ввода имени файла с начальным значением, заданным в аргументе команды. Это действие эквивалентно вызову меню File/Open (с предварительным заданием имени файла). В дальнейшем мы не будем рассматривать этот режим - с ним все ясно.

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

    В случае, когда файл существует и является полным (с путем и расширением, без маски), действие команды @open представляется такой таблицей:

    Расширение DEFAULT RUN EDIT
    CRW
    DAQ
    Открывает файл данных. Показывает диалог для выбора одного из сохраненных в файле окон. После выбора окна загружает его. Открывает файл данных. Показывает диалог для выбора одного из сохраненных в файле окон. После выбора окна загружает его. Открывает файл данных. Показывает диалог для выбора одного из сохраненных в файле окон. После выбора окна загружает его.
    DAT Открывает файл данных. Показывает диалог для выбора сохраненных в файле кривых. После выбора кривых загружает их в окне с графиком. Открывает файл данных. Показывает диалог для выбора сохраненных в файле кривых. После выбора кривых загружает их в окне с графиком. Открывает файл данных как текст для просмотра\редактирования.
    TXT
    LOG
    OUT
    PIK
    Открывает окно для редактирования текста файла. Открывает окно для редактирования текста файла. Открывает окно для редактирования текста файла.
    CFG Открытие конфигурационного файла для редактирования текста (для обычных конфигураций), либо запуск конфигурации (в случае указания основного конфигурационного файла). Признаком основного конфигурационного файла являются один из следующих:
    1. Имя файла начинается с !, например: !demo.cfg.
    2. Имя файла начинается с #, например: #demo.cfg.
    3. Файл содержит непустую секцию [DAQ].
    Запуск конфигурации, то есть загрузка указанного файла и старт DAQ системы. Открывает окно для редактирования текста файла.
    INI
    PAS
    MAC
    C
    CPP
    C++
    H
    HPP
    H++
    ASM
    BAS
    Открывает окно для редактирования текста файла. Открывает окно для редактирования текста файла. Открывает окно для редактирования текста файла.
    CRC Открывает диалог с запросом требуемого действия (открыть как мнемосхему или как текстовый файл). Открывает файл как мнемосхему, то есть в графическом виде. Удобно для проверки мнемосхем. Открывает окно для редактирования текста файла.
    CAL Открывает диалог с запросом требуемого действия (открыть как калибровку или как текстовый файл). Открывает файл как калибровку, в диалоге для редактирования калибровок. Открывает окно для редактирования текста файла.
    SPD Если активно спектрометрическое окно, загружает спектр для обработки в этом окне. В противном случае открывает окно для редактирования текста файла. Если активно спектрометрическое окно, загружает спектр для обработки в этом окне. В противном случае открывает окно для редактирования текста файла. Открывает окно для редактирования текста файла.
    DPR Открывает окно для редактирования проекта Delphi с встроенными функциями компиляции и запуска программ. Открывает окно для редактирования проекта Delphi с встроенными функциями компиляции и запуска программ. Открывает окно для редактирования проекта Delphi с встроенными функциями компиляции и запуска программ.
    HTM
    HTML
    Открывает диалог с запросом требуемого действия (открыть как гипертекст HTML или как текстовый файл). Открывает файл как гипертекст HTML, в обозревателе (обычно Internet Explorer). Открывает окно для редактирования текста файла.
    BAT
    CMD
    Открывает диалог с запросом требуемого действия (выполнить командный файл или открыть как текстовый файл). Выполняет командный файл при помощи командного процессора, обычно cmd.exe. Открывает окно для редактирования текста файла.
    DOC
    RTF
    PDF
    PS
    WAV
    MP3
    M3U
    AVI
    VOB
    MPG
    HLP
    CHM
    PPT
    PPS
    Открывает файл при помощи Shell, то есть так же как Explorer. Фактически файл передается программе, которая ассоциирована в системе с этим расширением файла. Открывает файл при помощи Shell, то есть так же как Explorer. Фактически файл передается программе, которая ассоциирована в системе с этим расширением файла. Открывает файл при помощи Shell, то есть так же как Explorer. Фактически файл передается программе, которая ассоциирована в системе с этим расширением файла.
    BMP
    GIF
    JPG
    PNG
    Открывает изображение в редакторе Paint. Открывает файл при помощи Shell, то есть так же как Explorer. Фактически файл передается программе, которая ассоциирована в системе с этим расширением файла. Обычно это программа просмотра изображения. Открывает изображение в редакторе Paint.
    EXE
    COM
    MSI
    Запуск программного файла на выполнение. Запуск программного файла на выполнение. Запуск программного файла на выполнение.
    NSI Открывает окно для редактирования проекта NSIS с встроенными функциями компиляции и запуска инсталлятора. Запуск файла NSIS на выполнение. При условии инсталляции NSIS это означает компиляцию инсталлятора. Открывает окно для редактирования проекта NSIS с встроенными функциями компиляции и запуска инсталлятора.
    *.*
    Любые
    файлы
    кроме
    этих
    Открывает диалог с запросом требуемого действия (выполнить файл или открыть как текстовый файл). Открывает файл при помощи Shell, то есть так же как Explorer. Фактически файл передается программе, которая ассоциирована в системе с этим расширением файла. Открывает окно для редактирования текста файла.

    Специальные файлы, начинающиеся на DAQ:\, позволяют редактировать свойства устройств DAQ-системы. Например:

        1)Вызов диалога редактирования калибровки 0 для DAQ устройства по имени &Mv2Pu:
          @open DAQ:\DeviceList\&Mv2Pu\Calibration#0
        2)Вызов текстового окна редактирования калибровки 0 для DAQ устройства по имени &Mv2Pu:
          @open /e DAQ:\DeviceList\&Mv2Pu\Calibration#0
        3)Вызов диалога редактирования свойств DAQ устройства по имени &Mv2Pu:
          @open DAQ:\DeviceList\&Mv2Pu\PropertyDialog
        4)Вызов диалога редактирования общих свойств DAQ устройства по имени &Mv2Pu:
          @open DAQ:\DeviceList\&Mv2Pu\CommonPropertyDialog
      

    Содержание


    Примеры

    Примеры командной строки:

        Запуск программы с указанием картинки по номеру (0..5):
         CrwGo.exe /Icon=2
         
        Запуск программы с указанием картинки по имени файла:
         CrwGo.exe /Icon=d:\Crw32exe\demo\demo.ico
         
        Запуск программы с автоматическим стартом DAQ:
         CrwGo.exe /Icon=2 d:\Crw32exe\demo\!demo.cfg        (файл начинается с !)
         CrwGo.exe /Icon=2 d:\Crw32exe\demo\#demo.cfg        (файл начинается с #)
         CrwGo.exe d:\Crw32exe\demo\demo.cfg                 (файл содержит секцию [DAQ])
         CrwGo.exe /r d:\Crw32exe\demo\demo.cfg              (принудительный старт /r)
         
        Запуск программы с редактированием файла конфигурации:
         CrwGo.exe d:\Crw32exe\demo\demo.cfg                 (файл не начинается с !,# и не содержит [DAQ])
         CrwGo.exe /e d:\Crw32exe\demo\demo.cfg              (принудительное редактирование /e)
    
        Запуск программы с редактированием имени файла:
         CrwGo.exe /d d:\Crw32exe\demo\demo.cfg              (принудительное редактирование имени файла /d)
      

    Примеры консольных команд (в том числе из DaqPascal):

        Вызов @open из DaqPascal:
        r:=eval('@system @async @open ...');             (вызов команды @open из среды DaqPascal)
        
        Запуск редактирования файла конфигурации:
         @open /e d:\Crw32exe\demo\demo.cfg              (принудительное редактирование /e)
         
        Запуск диалога с редактированием имени файла:
         @open /d d:\Crw32exe\demo\demo.cfg              (принудительное редактирование имени файла /d)
         
        Открыть файл данных:
         @open d:\Crw32exe\demo\demo.crw                 (появляется диалог выбора окна с графиками)
         @open d:\Crw32exe\demo\demo.dat                 (появляется диалог выбора кривых для ввода)
         @open /d d:\Crw32exe\demo\demo.dat              (ввод данных с диалогом выбора имени файла)
         
        Блокировка\разблокировка команды @open:
         @open /l                                        (блокировать команду @open, при старте DAQ)
         ...                                             (командная строка, Drag\Drop теперь запрещены)
         @open /l /u /e d:\Crw32exe\demo\demo.cfg        (защищенное выполнение @open из среды DAQ)
         ...                                             (командная строка, Drag\Drop все еще запрещены)
         @open /u                                        (разблокировать команду @open, при останове DAQ)
         ...                                             (командная строка, Drag\Drop теперь разрешены)
      

    Примеры перетаскивания (Drag & Drop):

        Хватаем-бросаем d:\Crw32exe\demo\demo.cfg - эквивалент:
         CrwGo.exe d:\Crw32exe\demo\demo.cfg             (действие по умолчанию для указанного файла)
         
        Хватаем-бросаем d:\Crw32exe\demo\demo.cfg c удержанием CTRL - эквивалент:
         CrwGo.exe /r d:\Crw32exe\demo\demo.cfg          (принудительный запуск конфига на исполнение)
         
        Хватаем-бросаем d:\Crw32exe\demo\demo.cfg c удержанием ALT - эквивалент:
         CrwGo.exe /e d:\Crw32exe\demo\demo.cfg          (принудительное редактирование конфига)
         
        Хватаем-бросаем d:\Crw32exe\demo\demo.cfg c удержанием SHIFT - эквивалент:
         CrwGo.exe /d d:\Crw32exe\demo\demo.cfg          (принудительный диалог ввода имени конфига)
      

    Примеры редактирования свойств DAQ системы:

        Вызов диалога редактирования калибровки 0 для DAQ устройства по имени &Mv2Pu:
         @open DAQ:\DeviceList\&Mv2Pu\Calibration#0
         
        Вызов текстового окна редактирования калибровки 0 для DAQ устройства по имени &Mv2Pu:
         @open /e DAQ:\DeviceList\&Mv2Pu\Calibration#0
         
        Вызов диалога редактирования свойств DAQ устройства по имени &Mv2Pu:
         @open DAQ:\DeviceList\&Mv2Pu\PropertyDialog
         
        Вызов диалога редактирования общих свойств DAQ устройства по имени &Mv2Pu:
         @open DAQ:\DeviceList\&Mv2Pu\CommonPropertyDialog
      

    Содержание