ObjectARX, AutoCAD. Среда программирования библиотеки C++

       

Спецификации Ключевого слова


Необязательный kwl параметр определяет список ключевых слов, которые будут признаны следующим вводом пользователя (acedGetxxx ()) функциональный запрос. Значение ключевого слова, которое пользователь вводит, может быть восстановлено{*отыскано*} последующим запросом к acedGetInput () (. Значение ключевого слова было бы доступно, если функция ввода пользователя была acedGetKword ().) значения ключевых слов и действия, чтобы исполнить для каждого - ответственность ObjectARX-приложения.

AcedGetInput () функция всегда возвращает ключевое слово, поскольку это появляется в kwl параметре, с тем же самым преобразованием букв в прописные (но не с необязательными символами, если те определены после запятой). Независимо от того, как пользователь вводит ключевое слово, приложение должно делать только одно строковое сравнение, чтобы идентифицировать это, как демонстрируется в следующем примере. Доля кода, которая следует за показами запрос к acedGetReal () предшеств запросом к acedInitGet () который определяет два ключевых слова. Приложение проверяет эти ключевые слова и устанавливает входное значение соответственно.

int stat;

ads_real x, pi = 3.14159265;

char kw[20];

// Null input is not allowed.

acedInitGet(RSG_NONULL, "Pi Two-pi");

if ((stat = acedGetReal("Pi/Two-pi/<number>: ", &x)) < 0) {

if (stat == RTKWORD && acedGetInput(kw) == RTNORM) {

if (strcmp(kw, "Pi") == 0) {

x = pi;

stat = RTNORM;

} else if (strcmp(kw, "Two-pi") == 0) {

x = pi * 2;

stat = RTNORM;

}

}

}

if (stat != RTNORM)

acutPrintf("Error on acedGetReal() input.\n");

else

acutPrintf("You entered %f\n", x);

Запрос к acedInitGet () предотвращает пустой указатель, вводят, и определяет два ключевых слова: “Pi” и “Два - pi”. Когда acedGetReal () вызван{*назван*}, пользователь отвечает на подсказку Pi/Two-pi / <номеру>,  вводя или реальное значение (сохраненный в местной переменной x) или одном из ключевых слов. Если пользователь вводит ключевое слово, acedGetReal () возвращает RTKWORD. Приложение отыскивает ключевое слово,  вызывая acedGetInput () (обратите внимание, что это проверяет{*отмечает*} состояние ошибки этой функции), и затем устанавливает значение x к pi или 2pi, в зависимости от которого ключевое слово было введено. В этом примере, пользователь может вводить или p, чтобы выбрать pi или t, чтобы выбрать 2pi.



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