Как правильно написать окончание слова при формировании текстовой строки?

Например, требуется формировать в строке спецификации в зависимости от геометрии: 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, "Ваше название параметра видимое для пользователя",
	...
	); 

Формирование требуемой строки спецификации реализовано в скрипте параметрической библиотеки «Обмотка трансформатора».

Программа: СПДС GraphiCS, СПДС Стройплощадка, СПДС Железобетон

Группы вопросов: Мастер объектов

0 комментариев
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.