[oodisc] Number in words
Alexej Kryukov
akrioukov на newmail.ru
Чт Окт 9 16:38:41 MSD 2003
On Thursday 09 October 2003 11:58, Vladimir Bukhal wrote:
> Добрый день.
> AK> IMHO, так не намного лучше... getSumLiterally -- уж точно
> AK> неподходящее место для выбора грамматических форм слов
> AK> "рубль" или "гривна". Ладно, поправлю это по ходу
> AK> работы над диалогом, т. к. подача параметров в главные
> AK> функции должна подстраиваться именно к нему.
> Признаюсь, ожидал такой реакции. Сделать getSumLiterally конечной
> инстанцией, у которой не останется ни одного Optional параметра, я не
> решился. Порядок параметров тоже вытекает из требования гибкости и
> предполагает несколько форм вызова:
> getSumLiterally(25.44,"ru","rouble")- предопределенные формы слова.
Так не пойдет. А если мы хотим получить сумму по-английски, но
в рублях, с английским же словом roubles ? Не универсально,
однако :-)
> getSumLiterally(25.44,"ru","доллар",2,false,"доллара","долларов","цен
>т.")- все параметры, определены все формы слова. getSumLiterally (25,
> "ru","шт.",0,false)- минимальный набор (формы идентичны, половинки не
> нужны).
> Укажите, если не трудно, в каком виде Вы представляете вызов
> подпрограмм?
getSumLiterally -- это внутренняя функция, которую пользователь
запускать не должен (да и не сможет, т. к. каких-то параметров
она всё равно требует). Если же запускать через скрипты, то кто
мешает нам указать весь набор данных полностью? Ну, в крайнем
случае, сделать какой-то переходник типа
getSumByCurrency (dInNum As Double, sLang As String, _
sCurrency As String)
Но это -- не для insertSumLiterally, т. к. эта функция будет
получать весь набор данных из диалога. А диалог у нас,
если не переусложнять код, *всегда* будет выдавать
именно полный набор данных.
В общем, дайте мне пару дней -- диалог доделать, а там
поглядим... Быстрее, боюсь, не получится :-(
Подробная информация о списке рассылки Oo-discuss