База знаний
- Онлайн руководство
- Блог проекта
- Вопросы и ответы
- Нормативы
- Обучающие примеры
- Инструкции
- Презентации
- Видеоролики с YouTube
- Совместимость
Применимо к
Группы вопросов
- Альбомы
- Мастер объектов
- Менеджер объектов
- Настройка
- Объекты
- Оси
- Отметки уровня
- Оформление
- Площади
- Размеры
- Редактор форм
- Таблицы
- Текст
- Универсальный маркер
- Установка
- Форматы
- Штампы
Читать новости в почте
Поиск
Как правильно написать окончание слова при формировании текстовой строки?
Например, требуется формировать в строке спецификации в зависимости от геометрии: 1 обмотКА, 2 обмотКИ, 5 обмотОК, 21 обмотКА,
Добавляем в скрипт условия формирования строки спецификации.
// Формируем строку спецификации
// str - массив всех возможных вариантов окончаний
// в зависимости от числительного.
str[1] = "обмотка"; // одна
str[2] = "обмотки"; // две
str[3] = "обмоток"; // пять
num = n;
// Количество обмоток (параметр участвующий в отрисовке)
// если число больше 19, оставляем от него только
// старший разряд, потому что дальше окончания повторяются:
// 22 обмотки, 32 обмотки, 122 обмотки, ...
if (num > 19) num = num - 10*int(num/10);
// 1 - обмотка
if (num == 1)
s = str[1];
// 2, 3, 4 - обмотки
else if (num < 5 && num != 0)
s = str[2];
// всё остальное (0, 5-19) - обмоток
else
s = str[3];
sPartName = "Обмотка трансформатора, " + n + " " + s;
Важно: параметр sPartName (или любой другой параметр) должен быть опубликован в момент инициализации скрипта детали.
function ActHeader {
...
sPartName, "Ваше название параметра видимое для пользователя",
...
);
Формирование требуемой строки спецификации реализовано в скрипте параметрической библиотеки «Обмотка трансформатора».
Группы вопросов: Мастер объектов