Склоняем наименование(ий)

Тема в разделе "Lotus - Программирование", создана пользователем NetWood, 2 июл 2009.

  1. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    Вот тут рядом редкие конструкции просклоняли. :) В том числе число прописью на мове и пр.
    А есть ли примерчик для слова наименование рядом, типа
    1 наименование
    2 наименования
    3 --
    4 --
    5 наименований
    ...
    11 наименований
    12 наименований
    ...
    21 наименование
    на собаках естессно
     
  2. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    Ну что-то вроде такого?
    Это писал для Default Value для мультизначного поля
    Код (Text):
    count := 30;
    @For( n := 1; n <= count; n := n + 1;
    word := @Text( n ) + " наименовани";
    rez := rez : @If( @Modulo( n; 10 ) = 1; word + "е";
    @If( @Modulo( n; 10 ) = 2:3:4; word + "я"; word + "й")
    )
    );
    @Trim( rez )
    тут исправленый код
     
  3. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    не всё так просто :wacko: а как же 11-14? - тут "наименований" надо
     
  4. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    ну и не так уж и сложно
    Код (Text):
    @For( n := 980; n <= 1020; n := n + 1;
    word := @Text( n ) + " наименовани";
    rez := rez : @If( @Modulo( n; 10 ) = 1 & @Modulo( n; 100 ) != 11; word + "е";
    @If( @Modulo( n; 10 ) = 2:3:4 & !( @Modulo( n; 100 ) = 12:13:14 ); word + "я"; word + "й")
    )
    );
    @Trim( rez )
     
  5. Omh

    Omh Lotus team
    Lotus team

    Регистрация:
    4 июл 2007
    Сообщения:
    2.210
    Симпатии:
    0
    Круто!
    Я бы начал библиотеку писать :wacko:
     
  6. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    мне кажется или правило можно так сделать?
    то, что имеет в первом десятке 1, то "наименование", кроме 11
    1, 21, 31, 41 - наименование
    аналогично
    2 - 4, - наименования
    5 - 9, кратно 10, а также 0, 11-19 - наименований
     
  7. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    ну у меня вроде бы так и написано
     
  8. hosm

    hosm * so what *

    Регистрация:
    18 май 2009
    Сообщения:
    2.450
    Симпатии:
    7
    а зачем @Modulo( n; 100:1000 ) - по-моему, достаточно только 100 или взять последние 2 цифры?
    не успела попробовать, отвлекли по работе :wacko:
    Akupaka - по алгоритму ты прав.
     
  9. Akupaka

    Akupaka А че я?.. О.о

    Регистрация:
    4 окт 2007
    Сообщения:
    3.373
    Симпатии:
    2
    похоже, что так оно и есть, я не сразу отвечаю, не видел еще сообщения )
     
  10. NickProstoNick

    NickProstoNick Статус как статус :)

    Регистрация:
    22 авг 2008
    Сообщения:
    1.766
    Симпатии:
    39
    OKEN точно! спасибо :wacko:
    меня самого загоняли :)

    исправил
     
  11. NetWood

    NetWood Lotus team
    Lotus team

    Регистрация:
    17 апр 2008
    Сообщения:
    308
    Симпатии:
    0
    Законный плюс :wacko:
    Вон она как када все скопом набросились
     

Поделиться этой страницей