FoxPro Club Главная

Конференция Решения Фотоальбом Сайт М.Дроздова Статьи Файловый архив Книга Visual FoxPro 9.0 Русский Help для Visual FoxPro
Пользователей: 9115
Вход
Вывод прописью одновеременно дня, месяца и года

Вывод прописью одновеременно дня, месяца и года даты, введенной как параметр в формате дата в диапазоне 01.01.0001 - 31.12.9999, т.е. ?datapropis(CTOD('15.12.2005')) даст строку: "пятнадцатого декабря две тысячи пятого года".


 
Прислал: Crispy   Категория: Работа с данными


В архиве находится prg-файл.
 
Сделайте оценку этого решения Плохо Удовлетворительно Так себе Хорошо Отлично Текущая оценка: (2.4) Вложение [0.91]kb
Дополнения пользователей
Вывод прописью одновеременно дня, месяца и года
[+][?]
Sergey L
15.12.05 17:44:31

имею парочку пожеланий-предложений ;)
1. как на счет выбор языка текста, например 2-й параметр как № языка, а в dbf хранятся написания
на этом языке.
2. еще один параметр, как форма написания даты, например 0 (или без параметра) - в том виде, как
сейчас есть, 1 - в виде "1 января 1999 года" и т.д....

PS: саму прожку еще не пощупал ;-))

Crispy
21.12.05 08:16:24

Сейчас лежит последний - полностью протестированный и подправленный вариант.

По поводу пожеланий-предложений:
1. Все зависит от языка - в каждом языке числительные склоняются по своим правилам, т.е. по сути -
нужно писать другую процедуру для каждого языка. В общем-то это не так уж и сложно сделать по тому
же принципу - используя функцию GETWORDNUM() и подобранные строки, состоящие из основных корней
слов числительных. Все дело - в знании конкретного языка. ;)
Использование здесь функции IIF() - дело вкуса и свободного времени на отработку :) Вдобавок, если
бы процедура после отладки часто нуждалась в дальнейшем в модификации - проще конечно было бы
использовать вместо IIF() набор из CASE. Но эта процедура "вечная" :) поэтому я и сделал ее на
IIF() - в качестве разминки ;).
2. Строку вида "1 января 1999 года" очень легко получить и без этой, написанной специально
процедуры. Вот здесь:
http://forum.foxclub.ru/read.php?f=29&i=13666&t=13057&cp=-1
есть описание подобного, в том числе - и универсальный вариант для ВСЕХ (ну по-крайней мере для
многих) языков.
[Дополнить]



© 2000-2017 Fox Club 
При размещении любых материалов с сайта на других ресурсах- прямая ссылка на www.foxclub.ru обязательна
Яндекс.Метрика