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


         

Строковые Преобразования - часть 2


Значение, отформатированное как 1’ -5 1/2 І

Значение, отформатированное как 17 1/2

Когда UNITMODE переменная системы установлена в 1, который определяет, что модули отображены как введено, строка, возвращенная acdbRToS () отличается для разработки (режим равняется 3), архитектурный (режим равняется 4), и дробный (режим равняется 5) модулям. Например, первые две линии предшествующего типового вывода были бы, тот же самый, но последние строки будет появляться следующим образом:

Значение, отформатированное как 1 ‘ 5.50 І

Значение, отформатированное как 1 ‘ 5-1/2 І

Значение, отформатированное как 17-1/2

AcdbDisToF () функциональные дополнения acdbRToS (), так следующее вызывают, которые используют строки, сгенерированные в предыдущих примерах, весь результат набора к тому же самому значению, 17.5. (Снова, примеры не показывают проверку ошибок.)

acdbDisToF("1.7500E+01", 1, &result); // 1 = scientific

acdbDisToF("17.50", 2, &result); // 2 = decimal

// Note the backslashes. Needed for inches.

acdbDisToF("1’-5.50\"", 3, &result); // 3 = engineering

acdbDisToF("1’-5 1/2\"", 4, &result); // 4 = architectural

acdbDisToF("17 1/2", 5, &result); // 5 = fractional

Следующие показы фрагмента вызывают к acdbAngToS () которые являются подобными предыдущему acdbRToS () примеры.

ads_real ang = 3.14159;

char fmtval[12];

// Precision is the 3rd argument: 0 places in the first

// call, 4 places in the next 3, 2 in the last.

acdbAngToS(ang, 0, 0, fmtval); // Mode 0 = degrees

acutPrintf("Angle formatted as %s\n", fmtval);

acdbAngToS(ang, 1, 4, fmtval); // Mode 1 = deg/min/sec

acutPrintf("Angle formatted as %s\n", fmtval);

acdbAngToS(ang, 2, 4, fmtval); // Mode 2 = grads

acutPrintf("Angle formatted as %s\n", fmtval);

acdbAngToS(ang, 3, 4, fmtval); // Mode 3 = radians

acutPrintf("Angle formatted as %s\n", fmtval);

acdbAngToS(ang, 4, 2, fmtval); // Mode 4 = surveyor’s




Содержание  Назад  Вперед