- •1.Назначение
 - •2.История
 - •3.Ядро программы
 - •4.Установка
 - •5.Экспортируемые функции dll и рекомендации по их использованию
 - •5.1.Общие положения
 - •5.2.Функции, выполняющие склонение фио, должностей и подразделений
 - •5.3.Сервисные функции
 - •5.4.Функции, работающие со словарем исключений
 - •5.5.Представление чисел (сумм) прописью, склонениe числительных и валют.
 - •5.5.3.Справочник валют
 - •6.Примеры обращения к функциям Библиотеки
 - •7.Сервер автоматизации
 - •7.1.Краткое описание
 - •7.2.Примеры обращения
 - •7.2.1.Delphi (проект SampleCom)
 - •8.Восстановление именительного падежа
 - •9.Словарь исключений
 - •10.Область применения
 - •11.Правила склонения фио, реализованные в Библиотеке
 - •12.Комплект поставки
 - •12.1.Версии до 3.Х
 - •12.2.Версия 4.X
 - •12.3.Условия поставки
 - •13.Литература
 - •14.Благодарности
 - •15.Заключение
 
  | 
		
Склонение ФИО, должностей и подразделений  | 
		
Программный продукт (библиотека функций), версия 4.1  | 
		
Покаташкин Г.Л., Плахов С.В. 
  | 
	
Содержание
1. Назначение 3
2. История 3
3. Ядро программы 4
4. Установка 6
5. Экспортируемые функции DLL и рекомендации по их использованию 6
5.1. Общие положения 6
5.2. Функции, выполняющие склонение ФИО, должностей и подразделений 7
5.2.1. GetFIOPadeg 8
5.2.2. GetFIOPadegAS 8
5.2.3. GetFIOPadegFS 8
5.2.4. GetFIOPadegFSAS 9
5.2.5. GetIFPadeg 9
5.2.6. GetIFPadegFS 9
5.2.7. GetNominativePadeg 10
5.2.8. GetAppointmentPadeg 10
5.2.9. GetFullAppointmentPadeg 10
5.2.10. GetOfficePadeg 11
5.3. Сервисные функции 11
5.3.1. GetSex 11
5.3.2. GetPadegID 11
5.3.3. GetFIOParts 12
5.4. Функции, работающие со словарем исключений 12
5.4.1. UpdateExceptions 12
5.4.2. GetExceptionsFileName 12
5.4.3. SetDictionary 12
5.5. Представление чисел (сумм) прописью, склонениe числительных и валют. 13
5.5.1. NumberToString 13
5.5.2. SumInWords 14
5.5.3. DoubleToVerbal 14
5.5.1. DeclNumeral 14
5.5.2. DeclCurrency 15
5.5.3. Справочник валют 15
6. Примеры обращения к функциям Библиотеки 16
6.1. Delphi 17
6.2. C/C++ 18
6.3. VB/VBA 20
6.4. Firebird 21
7. Сервер автоматизации 27
7.1. Краткое описание 27
7.2. Примеры обращения 29
7.2.1. Delphi (проект SampleCOM) 29
7.2.2. VB/VBA 29
7.2.3. 1C 31
8. Восстановление именительного падежа 33
9. Словарь исключений 34
10. Область применения 36
11. Правила склонения ФИО, реализованные в Библиотеке 36
12. Комплект поставки 38
12.1. Версии до 3.Х 38
12.2. Версия 4.X 38
12.3. Условия поставки 39
13. Литература 39
14. Благодарности 39
15. Заключение 40
...Имя человека - это самый сладостный и самый важный для него звук на любом языке.
Д. Карнеги
1.Назначение
Программный продукт (в дальнейшем – Библиотека) предназначен для преобразования фамилии, имени и отчества (ФИО), наименования должности или подразделения, заданных в именительном падеже в форму любого другого падежа, а также для восстановления именительного падежа для ФИО, записанного в произвольном падеже. Склонение ФИО выполняется по правилам склонения имен собственных, принятых в русском языке (см. ниже). ФИО для склонения может быть задано одной или тремя строками при склонении и одной строкой – при восстановлении именительного падежа. Наименование должности или подразделения задаются одной строкой. Библиотека имеет в своем составе функции по преобразованию и склонению числительных и валют.
2.История
При реализации очередной версии Библиотеки мы старались учесть, по возможности, все замечания и предложения, сделанные при тестировании предыдущих версий.
Версия 1.0
Базовая версия, включающая в себя функции для склонения ФИО.
Версия 2.0
Исправлены ошибки преобразования, выявленные при тестировании предыдущей версии.
В состав Библиотеки введен словарь исключений для учета некоторых особенностей склонения.
Функции склонения ФИО расширены для обработки восточных имен (Дэн Сяо Пин).
Добавлены функции для склонения пар "Имя Фамилия" (Марк Твен).
Добавлена функция восстановления именительного падежа для ФИО, записанного в произвольном падеже.
Версия 3.0
Добавлены функции для склонения наименований должностей и подразделений.
Добавлена возможность учета зависимости окончания от положения ударения в дательном, творительном и предложном падежах.
Добавлены секции в словарь исключений.
Исправлена ошибка преобразования имени Пётр.
Версия 3.1
Добавлены сервисные функции.
Исключены функции с типом ShortString.
Версия 3.2
Добавлена функция формирования и склонения полной должности.
Версия 3.3
Поддержка OLE.
Исправлены ошибки склонения наименования подразделений с числительными.
Добавлена возможность преобразования женских фамилий, склонение которых зависит от склонения соответствующих мужских фамилий.
Версия 4.0
Полная поддержка UNICODE. Основной файл Библиотеки переименован PadegUC.DLL (версия с сервером автоматизации PadegUCA.DLL)
Поддержка 64-разрядной версии Windows.
Поддержка OLE автоматизации PadegUCA.DLL.
Поддержка Firebird (32 и 64), отдельная библиотека PadegFB.DLL.
Смена основной ветки реестра с информацией о словаре исключений (HKEY_CURRENT_CONFIG\Software\Padeg).
Словарь исключений может быть прочитан в любой кодировке (ASCII, UTF).
Многочисленные усовершенствования и исправления внутренних алгоритмов и ошибок склонения.
Версия 4.1
Склонение числительных и валют.
Исправление склонения мужских фамилий на «-эй», «Хемингуэй»
3.Ядро программы
Ядром программы является библиотека динамической компоновки PadegUC.DLL и сервер COM-автоматизации PadegUCA.dll.
Секция экспорта:
exports
// функции склонения ФИО, заданного в формате "фамилия имя отчество"
GetFIOPadeg Name 'GetFIOPadeg',
GetFIOPadegAutoSex Name 'GetFIOPadegAS',
GetFIOPadegFromStr Name 'GetFIOPadegFS',
GetFIOPadegFromStrAutoSex Name 'GetFIOPadegFSAS',
// v2.0
// функции склонения ФИО, заданного в формате "имя фамилия"
GetIFPadeg Name 'GetIFPadeg',
GetIFPadegFromStr Name 'GetIFPadegFS',
// функции восстановления именительного падежа
GetNominativePadeg Name 'GetNominativePadeg',
// v3.0
// функции склонения наименований должностей и подразделений
GetAppointmentPadeg Name 'GetAppointmentPadeg',
GetOfficePadeg Name 'GetOfficePadeg',
// v3.1
// сервисные функции
Get_Sex Name 'GetSex',
GetPadegID Name 'GetPadegID',
GetFIOParts Name 'GetFIOParts',
// v3.2
// полное склонение должности и подразделения
GetFullAppointmentPadeg Name 'GetFullAppointmentPadeg',
// v4.1
// склонение числительных и валют
NumberToString Name 'NumberToString',
SumInWords Name 'SumInWords',
DoubleToVerbal Name 'DoubleToVerbal',
DeclCurrency Name 'DeclCurrency',
DeclNumeral Name 'DeclNumeral',
// функции работы со словарем исключений
Update_Exceptions Name 'UpdateExceptions',
GetExceptionsFileName Name 'GetExceptionsFileName',
SetDictionary Name 'SetDictionary';
// автоматизация COM (только в PadegUCA.dll)
DllGetClassObject,
DllCanUnloadNow,
DllRegisterServer,
DllUnregisterServer,
DllInstall;
Первые шесть функций осуществляют преобразование ФИО, записанное в соответствующем формате, в заданный падеж. Под форматом здесь понимается порядок следования компонент ФИО в списке параметров или параметре, если ФИО передается одной строкой. Другими словами, функции, содержащие FIO в имени, предназначены для преобразования входных данных, записанных в формате "Фамилия Имя Отчество", а IF – "Имя [Имена] Фамилия”. Функции, в именах которых присутствует AutoSex (AS), выполняют преобразование, определяя род по отчеству. ФИО, заданные одной строкой, преобразуются функциями с FromStr (FS) в имени.
С помощью функции GetNominativePadeg можно восстановить именительный падеж для ФИО, заданного в произвольном падеже.
Три следующие функции выполняют преобразование наименований должностей (Appointment) и подразделений (Office). Функция GetFullAppointmentPadeg формирует полное наименование должности и склоняет его.
Сервисные функции позволяют определить род по отчеству в произвольном падеже, определить падеж, в котором записано ФИО, выделить составляющие ФИО.
Еще три функции служат для работы со словарем исключений. С помощью функции UpdateExceptions можно принять изменения, сделанные в словаре исключений сторонним текстовым редактором (напр., Notepad). Функция GetExceptionFileName позволяет получить полное имя словаря исключений, а SetDictionary – установить словарь в качестве рабочего.
Начиная с версии 3.3, стало возможным выполнять склонение ФИО, должностей и подразделений, обращаясь к методам сервера автоматизации. В ряде случаев это может оказаться предпочтительнее, чем вызывать экспортируемые функции DLL, а в некоторых – единственно возможный путь (использование в продуктах 1С, ASP скрипты и т.д.). Файл PadegUCA.dll короме сервера автоматизации экспортирует те же самые функции что и PadegUC.dll, т.е. при использовании PadegUCA.dll возможно обращение к функциям склонения как с использованием технологии COM так и стандартными вызовами. Прежде чем принять решение об использовании той или иной сборки (PadegUC.dll или PadegUCA.dll) обратите внимание на размер файлов.
Описание экспортируемых функций DLL, их параметров, а также методов и свойств сервера автоматизации и рекомендации по использованию приводятся в соответствующих разделах.
