Программа CRW-DAQ является графическим приложением, и может показаться, что командная строка не имеет для нее особенного значения. Думать так будет ошибкой. Командная строка CRW-DAQ имеет много важных применений, без которых применение пакета было бы затруднено.
Среди этих применений следующие:
При запуске командной строки CRW-DAQ всегда следует иметь в виду, что программа CRW-DAQ позволяет запускать только одну копию (в данном каталоге установки). Если запустить вторую копию программы, то она увидит, что первая копия уже работает, передаст ей сообщение и параметры командной строки, а затем немедленно завершится. Первая копия программы, получив сообщение, активизирует окно приложения (распахивает его, если было свернуто) и выполняет полученную командную строку так, как будто бы это ее собственная командная строка.
Дальнейшие действия для файла, указанного в командной строке, сводятся в конечном счете к выполнению консольной команды @open с именем файла в аргументах. Действия также зависят от состояния кнопок CTRL,ALT,SHIFT, как описано далее.
Программа 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, а также посмотреть примеры.
Программа CRW-DAQ позволяет при помощи командной строки запускать или открывать для редактирования файлы методом перетаскивания (Draq & Drop).
Это делается элементарно. "Хватаете" файл мышкой, например, в стандартном Проводнике или в любимом Total Commander. Затем "тащите" его и "бросаете" на ярлык CRW-DAQ, который, например, помещен на панели быстрого запуска. При этом происходит вызов программы с именем "брошенного" на ярлык файла. При этом программа CRW-DAQ выполняет команду @open по следующим правилам:
вызову программы
Crw32.exe /r FileName
или консольной команды
@open /r FileName
с полным именем файла FileName и действием RUN.
вызову программы
Crw32.exe /e FileName
или консольной команды
@open /e FileName
с полным именем файла FileName и действием EDIT.
вызову программы
Crw32.exe /d FileName
или консольной команды
@open /d FileName
с полным именем файла FileName и действием DIALOG.
вызову программы
Crw32.exe FileName
или консольной команды
@open FileName
с полным именем файла FileName и действием DEFAULT.
Команда служит для открытия файлов, подобно меню 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. Опции работают по таким правилам:
Необязательный параметр /Icon=n задает картинку для ярлыка программы, которая отображается
в заголовке окна программы, а также в области уведомлений (SysTray).
При этом параметр n - это либо номер в диапазоне от 0 до 5,
задающий картинку из набора:
0=,
1=
,
2=
,
3=
,
4=
,
5=
либо это имя файла с картинкой *.ICO. Например:
@open /Icon=3 @open /Icon=c:\Crw32exe\Resource\Icon\Crw32-3.ico
Необязательные опции /r, /e, /d задают режим открытия следующего за ними в командной строке файла:
После параметров запуска идет (необязательное) имя открываемого файла. Имя файла должно быть полным, то есть содержать полный путь и расширение. Файлы, имя которых неполное (например, без пути или без расширения) будут проигнорированы. Надо также отметить, что кроме регулярных (дисковых) файлов могут использоваться специальные файлы, начинающиеся на DAQ:\, которые позволяют вместо дисковых файлов редактировать свойства устройств DAQ-системы, как описано ниже.
Сложность команды @open состоит в том, что имеется много типов файлов (тип файла ассоциируется с его расширением), и для каждого из них определено 4 действия:
Режим DIALOG делает всегда одно и то же - вызывает стандартный диалог ввода имени файла с начальным значением, заданным в аргументе команды. Это действие эквивалентно вызову меню File/Open (с предварительным заданием имени файла). В дальнейшем мы не будем рассматривать этот режим - с ним все ясно.
Для имен файлов, содержащих маску (*,?), а также для несуществующих файлов также всегда используется режим DIALOG, чтобы дать пользователю возможность определить, что надо делать.
В случае, когда файл существует и является полным (с путем и расширением, без маски), действие команды @open представляется такой таблицей:
| Расширение | DEFAULT | RUN | EDIT |
|
CRW DAQ |
Открывает файл данных. Показывает диалог для выбора одного из сохраненных в файле окон. После выбора окна загружает его. | Открывает файл данных. Показывает диалог для выбора одного из сохраненных в файле окон. После выбора окна загружает его. | Открывает файл данных. Показывает диалог для выбора одного из сохраненных в файле окон. После выбора окна загружает его. |
| DAT | Открывает файл данных. Показывает диалог для выбора сохраненных в файле кривых. После выбора кривых загружает их в окне с графиком. | Открывает файл данных. Показывает диалог для выбора сохраненных в файле кривых. После выбора кривых загружает их в окне с графиком. | Открывает файл данных как текст для просмотра\редактирования. |
|
TXT LOG OUT PIK |
Открывает окно для редактирования текста файла. | Открывает окно для редактирования текста файла. | Открывает окно для редактирования текста файла. |
| CFG |
Открытие конфигурационного файла для редактирования текста (для обычных конфигураций),
либо запуск конфигурации (в случае указания основного конфигурационного файла).
Признаком основного конфигурационного файла являются один из следующих:
|
Запуск конфигурации, то есть загрузка указанного файла и старт 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 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