Задача 101.48121

Задача :101.48121

Краткое описание :
ФИО в падеже в FastReport
Описание :
Генератор отчетов FastReport
Что измененно :
Генератор отчетов Fast-Report

----- СУТЬ ПРЕДЛОЖЕНИЯ -----
Необходимо использования ФИО в падеже в FastReport,
нужно как в vip через iDecl.FIODeclension ( nrecPerson,MyFIO,3)
или используя ее же.

Как измененно :
В FReport3.dll добавлена функция склонения ФИО в определенный
падеж.

Функция имеет вид:
Function Declansion(AFIO: String; ACase: Word): String;

Входные данные:
1) AFIO : строка вида "Мозгов Роман Владимирович";
Обязательные условия:
А) Разделитель пробел;
Б) Строка должна состоять из фамилии имени и отчества;
В) Все составляющие ФИО должны быть полными
(Александренко Александр Александрович, а не Александренко Сан Саныч);

2) ACase: Word - Падеж;
Может принимать следующие значения:
А) csNominative = 1 { Именительный КТО-ЧТО }
Б) csGenitive = 2 { Родительный КОГО-ЧЕГО }
В) csDative = 3 { Дательный КОМУ-ЧЕМУ }
Г) csAccusative = 4 { Винительный КОГО-ЧТО }
Д) csInstrumentale = 5 { Творительный КЕМ-ЧЕМ }
Е) csPreposizionale = 6 { Предложный О КОМ-О ЧЕМ }

Выходные данные:
1) Строка AFIO в падеже ACase.

Примечание:
При не соблюдении хотя бы одного из условий AFIO,
результатом функции будет исходная строка AFIO

Declansion('Мозгов Р.В.', csDative) = 'Мозгов Р.В.';
Declansion('Мозгов Роман', csDative) = 'Мозгов Роман';

Примеры:
Declansion('Мозгов Роман Владимирович', csNominative) = 'Мозгов Роман
Владимирович';
Declansion('Мозгов Роман Владимирович', csGenitive) = 'Мозгова Романа
Владимировича';
Declansion('Мозгов Роман Владимирович', csDative) = 'Мозгову Роману
Владимировичу';
Declansion('Мозгов Роман Владимирович', csAccusative) = 'Мозгова Романа
Владимировича';
Declansion('Мозгов Роман Владимирович', csInstrumentale) = 'Мозговым Романом
Владимировичем';
Declansion('Мозгов Роман Владимирович', csPreposizionale) = 'Мозгове Романе
Владимировиче';

Название продукта Название компонента Тип Последняя версия Дата выхода
FREPORT3FREPORT3DLL9.1.5.0