LEADERSOFT.ru Разработка на заказ программ и сайтов
Форумы по информационным технологиям
 
Регистрация  |  Вход
left
Форумы Минимизировать
ПоискСписок форумов
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Склоненни...
 RE: Склоненние ФИО
 
 15.06.2007 21:03:16
Paul
17 сообщения


RE: Склоненние ФИО
Всем отклинувшимся большое спасибо!


P.S. Обсуждение разных тем
Автор: vova от 22.10.2002 9:08:50 Источник ...
 15.06.2007 21:03:16
Paul1
2 сообщения


RE: Склоненние ФИО
Предлагаю ленивым исходник программы, выполняющей функции склонения имен и должностей. Программа имееет пользовательский интерфейс, позволяющий выполнить ее обучение правильности склонения.
Стоимость 100 руб.


P.S. Обсуждение разных тем
Автор: Paul от 20.12.2002 13:58:11 Источник ...
 15.06.2007 21:03:17
rafa
7 сообщения


RE: Склоне(н)ние ФИО. Если еще интересно.
Option Compare Database
Option Explicit
Dim strLetter As String ' объявим переменную для буквы


Function strLastName2(strОтчество As String) As String
' Функция предназнасена для обработки падежа ОТЧЕСТВА - КОМУ в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strОтчество, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "ч" ' мужик !!!
strLastName2 = strОтчество & "у" ' просто прибавим у
Case Is = "а" ' женское отчество
' Последнюю букву надо заменить на "е". Вечная проблема с женщинами
strLastName2 = Mid(strОтчество, 1, Len(strОтчество) - 1) & "е"

End Select ' закончим конструкцию
End Function ' возвращаем значение strLastName2 в вызывающую программу

Function strLastName1(strОтчество As String) As String
' Функция предназначена для обработки падежа ОТЧЕСТВА - КОГО в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strОтчество, 1) ' вырежем последнюю букву для анализа
' мужчина это или женщина
Select Case strLetter
Case Is = "ч" ' мужик !!!
strLastName1 = strОтчество & "а" ' просто прибавим а
Case Is = "а" ' женское отчество
' Последнюю букву надо заменить на "у". Вечная проблема с женщинами
strLastName1 = Mid(strОтчество, 1, Len(strОтчество) - 1) & "у"

End Select ' закончим конструкцию
End Function ' возвращаем значение strLastName1 в вызывающую программу

Function strLastName3(strОтчество As String) As String
' Функция предназначена для обработки падежа ОТЧЕСТВА - КЕМ в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strОтчество, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "ч" ' мужик !!!
strLastName3 = strОтчество & "ем" ' просто прибавим "ем"
Case Is = "а" ' женское отчество
' Последнюю букву надо заменить на "ой". Вечная проблема с женщинами
strLastName3 = Mid(strОтчество, 1, Len(strОтчество) - 1) & "ой"

End Select ' закончим конструкцию
End Function ' возвращаем значение strLastName3 в вызывающую программу

Function strLastName4(strОтчество As String) As String
' Функция предназначена для обработки падежа ОТЧЕСТВА - О КОМ в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strОтчество, 1) ' вырежем последнюю букву для анализа
' хоть и оба оканчиваются на "е", но у женщин буква заменяет "а",
' а у мужчин просто прибавляется - опять нужно разделять на мужиков и ...
Select Case strLetter
Case Is = "ч" ' мужик !!!
strLastName4 = strОтчество & "е" ' просто прибавим е
Case Is = "а" ' женское отчество
' Последнюю букву надо заменить на "е". Вечная проблема с женщинами
strLastName4 = Mid(strОтчество, 1, Len(strОтчество) - 1) & "е"

End Select ' закончим конструкцию
End Function ' возвращаем значение strLastName4 в вызывающую программу
Function strFirstName1(strФамилия As String) As String
' Функция предназнасена для обработки падежа ФАМИЛИЯ - КОГО в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strФамилия, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "н", "в" ' мужик !!!
strFirstName1 = strФамилия & "а" ' просто прибавим а
Case Is = "а" ' женская фамилия
' Последнюю букву надо заменить на "у". Вечная проблема с женщинами
strFirstName1 = Mid(strФамилия, 1, Len(strФамилия) - 1) & "у"
Case Else
strFirstName1 = strФамилия ' если фамилия не подходит под условия
End Select ' закончим конструкцию
End Function ' возвращаем значение strФамилияКого в вызывающую программу

Function strFirstName2(strФамилия As String) As String
' Функция предназнасена для обработки падежа ФАМИЛИЯ - КОМУ в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strФамилия, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "н", "в" ' мужик !!!
strFirstName2 = strФамилия & "у" ' просто прибавим у
Case Is = "а" ' женская фамилия
' Последнюю букву надо заменить на "ой". Вечная проблема с женщинами
strFirstName2 = Mid(strФамилия, 1, Len(strФамилия) - 1) & "ой"
Case Else
strFirstName2 = strФамилия ' если фамилия не подходит под условия

End Select ' закончим конструкцию
End Function ' возвращаем значение strФамилияКому в вызывающую программу

Function strFirstName3(strФамилия As String) As String
' Функция предназнасена для обработки падежа ФАМИЛИЯ - КЕМ в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strФамилия, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "н", "в" ' мужик !!!
strFirstName3 = strФамилия & "ым" ' просто прибавим "ым"
Case Is = "а" ' женская фамилия
' Последнюю букву надо заменить на "ой". Вечная проблема с женщинами
strFirstName3 = Mid(strФамилия, 1, Len(strФамилия) - 1) & "ой"
Case Else
strFirstName3 = strФамилия ' если фамилия не подходит под условия

End Select ' закончим конструкцию
End Function ' возвращаем значение strФамилияКем в вызывающую программу

Function strFirstName4(strФамилия As String) As String
' Функция предназнасена для обработки падежа ФАМИЛИЯ - О КОМ в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strФамилия, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "н", "в" ' мужик !!!
strFirstName4 = strФамилия & "е" ' просто прибавим е
Case Is = "а" ' женская фамилия
' Последнюю букву надо заменить на "ой". Вечная проблема с женщинами
strFirstName4 = Mid(strФамилия, 1, Len(strФамилия) - 1) & "ой"
Case Else
strFirstName4 = strФамилия ' если фамилия не подходит под условия

End Select ' закончим конструкцию
End Function ' возвращаем значение strФамилияОКом в вызывающую программу

Function strName1(strИмя As String, strОтчество As String) As String
' Функция предназнасена для обработки падежа ИМЯ - КОГО в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strИмя, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "а" ' заменим последнюю букву на "у"
strName1 = Mid(strИмя, 1, Len(strИмя) - 1) & "у"
Case Is = "й" ' заменим последнюю букву на "я"
strName1 = Mid(strИмя, 1, Len(strИмя) - 1) & "я"
Case Is = "я" ' заменим последнюю букву на "ю"
strName1 = Mid(strИмя, 1, Len(strИмя) - 1) & "ю"
Case Is = "ь" ' сначала надо определить мужик или не мужик ?
If Right(strОтчество, 1) = "ч" Then ' мужик !!!
' и последнюю букву мужика заменим на "я"
strName1 = Mid(strИмя, 1, Len(strИмя) - 1) & "я"
Else ' иначе это женцщина
strName1 = strИмя ' оставим все без изменений
End If
Case Else ' иначе всем остальным просто прибавим "а"
strName1 = strИмя & "а"

End Select ' закончим конструкцию Select
End Function ' возвращаем значение strИмяКого в вызывающую программу

Function strName2(strИмя As String, strОтчество As String) As String
' Функция предназнасена для обработки падежа ИМЯ - КОМУ в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strИмя, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "а" ' заменим последнюю букву на "е"
strName2 = Mid(strИмя, 1, Len(strИмя) - 1) & "е"
Case Is = "й" ' заменим последнюю букву на "ю"
strName2 = Mid(strИмя, 1, Len(strИмя) - 1) & "ю"
Case Is = "я" ' заменим последнюю букву на "и"
strName2 = Mid(strИмя, 1, Len(strИмя) - 1) & "и"
Case Is = "ь" ' сначала надо определить мужик или не мужик ?
If Right(strОтчество, 1) = "ч" Then ' мужик !!!
' и последнюю букву мужика заменим на "ю"
strName2 = Mid(strИмя, 1, Len(strИмя) - 1) & "ю"
Else ' это женщина и последнюю букву заменим на "и"
strName2 = Mid(strИмя, 1, Len(strИмя) - 1) & "и"
End If
Case Else ' иначе всем остальным просто прибавим "у"
strName2 = strИмя & "у"

End Select ' закончим конструкцию Select
End Function ' возвращаем значение strName2 в вызывающую программу

Function strName3(strИмя As String, strОтчество As String) As String
' Функция предназнасена для обработки падежа ИМЯ - КЕМ в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strИмя, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "а" ' заменим последнюю букву на "ой"
strName3 = Mid(strИмя, 1, Len(strИмя) - 1) & "ой"
Case Is = "й" ' заменим последнюю букву на "ем"
strName3 = Mid(strИмя, 1, Len(strИмя) - 1) & "ем"
Case Is = "я" ' заменим последнюю букву на "ей"
strName3 = Mid(strИмя, 1, Len(strИмя) - 1) & "ей"
Case Is = "ь" ' сначала надо определить мужик или не мужик ?
If Right(strОтчество, 1) = "ч" Then ' мужик !!!
' и последнюю букву мужика заменим на "ем"
strName3 = Mid(strИмя, 1, Len(strИмя) - 1) & "ем"
Else ' иначе это женцщина
strName3 = strИмя & "ю" ' просто прибавим "ю"
End If
Case Else ' иначе всем остальным просто прибавим "ом"
strName3 = strИмя & "ом"

End Select ' закончим конструкцию Select
End Function ' возвращаем значение strName3 в вызывающую программу

Function strName4(strИмя As String, strОтчество As String) As String
' Функция предназнасена для обработки падежа ИМЯ - О КОМ в запросах
' разделение между мужским отчеством и отчеством женщин

strLetter = Right(strИмя, 1) ' вырежем последнюю букву для анализа

Select Case strLetter
Case Is = "а" ' заменим последнюю букву на "е"
strName4 = Mid(strИмя, 1, Len(strИмя) - 1) & "е"
Case Is = "й" ' заменим последнюю букву на "е"
strName4 = Mid(strИмя, 1, Len(strИмя) - 1) & "е"
Case Is = "я" ' заменим последнюю букву на "и"
strName4 = Mid(strИмя, 1, Len(strИмя) - 1) & "и"
Case Is = "ь" ' сначала надо определить мужик или не мужик ?
If Right(strОтчество, 1) = "ч" Then ' мужик !!!
' и последнюю букву мужика заменим на "е"
strName4 = Mid(strИмя, 1, Len(strИмя) - 1) & "е"
Else ' иначе это женцщина и букву заменим на "и"
strName4 = Mid(strИмя, 1, Len(strИмя) - 1) & "и"
End If
Case Else ' иначе всем остальным просто прибавим "а"
strName4 = strИмя & "е"

End Select ' закончим конструкцию Select
End Function ' возвращаем значение strName4 в вызывающую программу




P.S. Обсуждение разных тем
Автор: rafa от 12.04.2003 18:24:24 Источник ...
  Программирование  Microsoft Access. Файлы mdb и accdb  Тема: Склоненни...
ПоискПоиск  Список форумовСписок форумов  
right