Документация по Clarion

         

COMMAND (командная строка)



COMMAND(флаг[,операция])


флаг Строковая константа или переменная, содержащая искомый параметр или номер параметра в командной строке.
операция Целочисленная константа или переменная в диапазоне от 0 до 3. Если пропущена, то по умолчанию 0.

Функция COMMAND возвращает значение параметра ФЛАГ из командной строки, файла конфигурации или переменной окружения. Если ФЛАГ не найден, COMMAND возвращает пустую строку. Если ФЛАГ описан многократно, то возвращается его первое значение.
ОПЕРАЦИЯ указывает где искать:
3 в командной строке
2 в файле конфигурации
1 в окружении
0 во всех трех предыдущих, в порядке 3-2-1


COMMAND ищет выражение ФЛАГ=VALUE и возвращает VALUE. Не должно быть пробелов между ФЛАГОМ, знаком равенства и VALUE. Из конфигурационного файла или окружения возвращается все, что находится справа от знака равенства. VALUE, получаемое из командной строки считывается до первой запятой или пробела. Если пробел или запятая являются значением ФЛАГА, то все, что стоит справа от знака равенства, должно заключаться в двойные кавычки (ФЛАГ="VALUE").
Также, COMMAND ищет в командной строке ФЛАГ, перед которым стоит слэш (/). Если такое найдено, то COMMAND возвращает значение ФЛАГА без слэша. Если ФЛАГ содержит только число, то COMMAND возвращает параметр командной строки, номер которого содержится в ФЛАГЕ. Если ФЛАГ пустая строка ('') и ОПЕРАЦИЯ=3, то возвращается вся командная строка, к которой добавлен ведущий пробел.
Файл конфигурации позволяет подстраивать программу во время исполнения. Это текстовый файл, который содержит любые желаемые параметры, которые имеют смысл во время исполнения. Каждый параметр должен занимать отдельную строку. По умолчанию, имя файла конфигурации, это имя программы, к которой этот файл относится, с расширением .INI. Это имя можно изменить из командной строки параметром CLAINI=новое_имя_фалй. CLAINI не утанавливается командой SETCOMMAND.
Возвращаемый тип данных: STRING
Пример:
C:\>MYPROG CLAVM="EMS ... 16,3,6"
!Параметр в командной строке содержит запятые
C:\>MYPROG CLAINI=INITFILE.INI
!Вместо MYPROG.INI используем INITFILE.INI
RUN(COMMAND('COMSPEC',1) & '/C DIR /P')
!Находим местоположение command.com
! и выполняем команду ДОС
IF COMMAND('/N',3) !В командной строке есть /N?
DO SomeProcess
.
IF UPPER(COMMAND('CLAVM',0)) = 'OFF'
!Неужели виртуальная память отключена?
DO NoVirtualMem ! ну тогда придется обойтись без нее :-(
ELSE
DO VirtualMem ! делаем нечто, интенсивно использущее
! память.
.
CommandString = COMMAND(",3) !Получаем всю командную строку
SecondParm = COMMAND('2'.3)
!Получаем из командной строки второй параметр
См. также:



Содержание раздела