Цитата(Veroonya @ 3.12.2008, 13:13 ) | какие именно проверять окончания |
Я же написал, какие именно окончания. Вот моя функция на фоксе, правда, ей передаётся строка с ФИО целиком, т.е. Иванов Иван Иванович:
Код | FUNCTION Getpol (sss) rrr='' SSS=' '+ALLTRIM(UPPER(SSS))+' ' DO CASE g CASE GETWORDCOUNT(SSS)=4 IF 'ОГЛЫ'$SSS RRR='М' ENDIF IF 'КЫЗЫ'$SSS RR='Ж' ENDIF CASE GETWORDCOUNT(SSS)=3 IF 'ИЧ '$GETWORDNUM(SSS,3)+' ' RRR='М' ENDIF IF 'НА '$GETWORDNUM(SSS,3)+' ' RRR='Ж' ENDIF IF EMPTY(RRR) IF 'ЕВ '$GETWORDNUM(SSS,1)+' ' OR 'ОВ '$GETWORDNUM(SSS,1)+' ' OR 'ИН '$GETWORDNUM(SSS,1)+' ' OR 'ИЙ '$GETWORDNUM(SSS,1)+' ' RRR='М' ENDIF IF 'ЕВА '$GETWORDNUM(SSS,1)+' ' OR 'ОВА '$GETWORDNUM(SSS,1)+' ' OR 'ИНА '$GETWORDNUM(SSS,1)+' ' OR 'АЯ '$GETWORDNUM(SSS,1)+' ' RRR='Ж' ENDIF ENDIF CASE GETWORDCOUNT(SSS)<3 IF 'ЕВ '$GETWORDNUM(SSS,1)+' ' OR 'ОВ '$GETWORDNUM(SSS,1)+' ' OR 'ИН '$GETWORDNUM(SSS,1)+' ' OR 'ИЙ '$GETWORDNUM(SSS,1)+' ' RRR='М' ENDIF IF 'ЕВА '$GETWORDNUM(SSS,1)+' ' OR 'ОВА '$GETWORDNUM(SSS,1)+' ' OR 'ИНА '$GETWORDNUM(SSS,1)+' ' OR 'АЯ '$GETWORDNUM(SSS,1)+' ' RRR='Ж' ENDIF ENDCASE RETURN rrr ENDFUNC
|
|