logo search
Литература_1 / photon_old

Обработка опций командной строки

Приложение PhAB имеет по умолчанию несколько опций командной строки:

-h height [%]

Высота окна в пикселях или процентах от высоты экрана, если заданы %.

-s server_name

Имя сервера Photon:

Если server_name является:

Используется этот сервер:

node_number – номер узла

//node_number/dev/photon

fullpath – полный путь

fullpath

relative_path – относительный путь

/dev/relative_path

-w width [%] Ширина окна в пикселях или процентах от ширины экрана, если

заданы %.

-x position [%] [r] Координата х верхнего левого угла окна в пикселях или в

процентах от ширины экрана, если заданы %. Если задана r, координата является относительной к текущей консоли.

-y position [%] [r] Координата y верхнего левого угла окна в пикселях или в

процентах от высоты экрана, если заданы %. Если задана r, координата является относительной к текущей консоли.

-Si|m|n Состояние инициализации главного окна (свёрнутое в иконку, максимизированное или нормальное).

Вы можете запретить опции для размеров и позиции приложения – см. раздел "Опции командной строки" в главе "Работа с приложениями". Вы можете также определить дополнительные опции.

 Для включения каких-либо дополнительных опций редактируйте собщения использования приложения, которые Вы найдёте в файле Usemsg в директории src Вашего приложения. Подробности о синтаксисе сообщений об использовании см. в описании usemsg в "Справочнике утилит QNX 6".

Для обработки опций командной строки используйте функцию getopt(), описанную в "Справочнике функций библиотеки С". В следующем примере показано, как Вы можете обработать несколько опций (три из которых имеют аргументы):

const char ApOptions[] = AB_OPTIONS "a:b:c:pqr";

int init( int argc, char *argv[] ) {

int opt;

while ( ( opt = getopt( argc, argv, ApOptions ) ) != -1 )

switch ( opt ) {

case 'a' : ...

case 'b' : ...

...

case '?' : ...

}

...

return Pt_CONTINUE;

}

AB_OPTIONS является макросом, который задаёт принимаемые по умолчанию опции, добавляемые PhAB'ом. Он генерируется PhAB'ом на основе Ваших установок запуска приложения. Например, если Вы установили кнопку "No Pos Arg" макрос AB_OPTIONS не будет содержать "х:" или "y:". Вы можете обрабатывать опции в AB_OPTIONS двумя способами:

или