Текущее время: Вс, июл 27 2025, 02:37

Часовой пояс: UTC + 3 часа


Правила форума


ВНИМАНИЕ!

Вопросы по SAP Query и Quick View - сюда



Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2
Автор Сообщение
 Заголовок сообщения: Re: Яндекс.Нано - Склонятор
СообщениеДобавлено: Вт, сен 06 2011, 06:47 
Начинающий
Начинающий
Аватара пользователя

Зарегистрирован:
Пн, апр 11 2011, 06:56
Сообщения: 21
Откуда: Алматы
Пол: Мужской
Code:
REPORT ZTEST_01.

PARAMETERS: P_STRING TYPE STRING LOWER CASE.
DATA: HTTP_CLIENT TYPE REF TO IF_HTTP_CLIENT .
DATA: W_RESULT TYPE STRING,
      W_URL TYPE STRING,
      W_STRING TYPE STRING.
DATA LV_FSTR TYPE STRING.
DATA LV_C.
DATA LV_LEN TYPE I.
DATA LV_POS TYPE I.
DATA GV_LEN TYPE I.
DATA LV_IDX TYPE I.

START-OF-SELECTION .

  CALL METHOD CL_HTTP_UTILITY=>ESCAPE_URL
    EXPORTING
      UNESCAPED = P_STRING
      OPTIONS   = 1
    RECEIVING
      ESCAPED   = W_STRING.

  CONCATENATE  'http://export.yandex.ru/inflect.xml?name='  W_STRING  INTO  W_URL.

  CALL METHOD CL_HTTP_CLIENT=>CREATE_BY_URL
    EXPORTING
      URL                = W_URL
    IMPORTING
      CLIENT             = HTTP_CLIENT
    EXCEPTIONS
      ARGUMENT_NOT_FOUND = 1
      PLUGIN_NOT_ACTIVE  = 2
      INTERNAL_ERROR     = 3
      OTHERS             = 4.

  CALL METHOD HTTP_CLIENT->SEND
    EXCEPTIONS
      HTTP_COMMUNICATION_FAILURE = 1
      HTTP_INVALID_STATE         = 2.

  CALL METHOD HTTP_CLIENT->RECEIVE
    EXCEPTIONS
      HTTP_COMMUNICATION_FAILURE = 1
      HTTP_INVALID_STATE         = 2
      HTTP_PROCESSING_FAILED     = 3.



  CLEAR W_RESULT .
  W_RESULT = HTTP_CLIENT->RESPONSE->GET_CDATA( ).


  LV_IDX = 1.
  GV_LEN = STRLEN( W_RESULT ).
  WHILE LV_IDX <= 6.
    LV_C  =  LV_IDX.
    CONCATENATE '<inflection case="' LV_C  '">' INTO LV_FSTR.
    SEARCH W_RESULT FOR LV_FSTR.
    IF SY-SUBRC = 0.
      LV_POS = SY-FDPOS + 21.
      SEARCH W_RESULT FOR '</inflection>'.
      LV_LEN = SY-FDPOS - LV_POS.
      WRITE: /, W_RESULT+LV_POS(LV_LEN).
      GV_LEN = GV_LEN - SY-FDPOS - 13.
      LV_POS = LV_POS + LV_LEN + 13.
      W_RESULT = W_RESULT+LV_POS(GV_LEN).
    ELSE.
      WRITE P_STRING.
    ENDIF.
    ADD 1 TO LV_IDX.
  ENDWHILE.


Принять этот ответ
Вернуться к началу
 Профиль Отправить email  
 
 Заголовок сообщения: Re: процедура склонения русских ФИО
СообщениеДобавлено: Вт, сен 06 2011, 08:30 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
Вы в курсе, что шашки больше не игра, аж с 1994 года?! Она превратилась в тупую базу данных всех возможных позиций. Эвристические методы не точны по определению и используются лишь потому, что не хватает мощностей компьютеров. Ну, и еще интересны ученым с точки зрения создания искусственного интеллекта. Только, когда из симулятора игры в шашки исчезла эвристика, он стал гарантировать 100% беспроигрышный результат. Та же участь когда-нибудь постигнет и шахматы, просто в них больше вариантов и мощностей пока не хватает.
Полагаю, данная задача по сложности весьма далека от шашек и шахмат, а посему применение эвристики для ее решения бессмысленно и бесполезно, т.к. никогда не даст 100% правильного результата. Хотя, безусловно, интересное развлечения для программиста.
Поэтому полностью поддерживаю Galku, необходимо формулировки в документах сводить к именительным падежам и (или) тупо вести базу склонений!

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: процедура склонения русских ФИО
СообщениеДобавлено: Вт, сен 06 2011, 08:51 
Гуру-эксперт
Гуру-эксперт

Зарегистрирован:
Вт, сен 07 2004, 17:47
Сообщения: 2988
Parazit написал:
...
Поэтому полностью поддерживаю Galku, необходимо формулировки в документах сводить к именительным падежам и (или) тупо вести базу склонений!

Поддержать можно, только всё-равно тема будет регулярно всплывать и возникать от проекта к проекту.

_________________
"После" - не значит "вследствие"


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: процедура склонения русских ФИО
СообщениеДобавлено: Вт, сен 06 2011, 13:14 
Почетный гуру
Почетный гуру
Аватара пользователя

Зарегистрирован:
Чт, авг 19 2004, 17:37
Сообщения: 1962
Откуда: Москва
Пол: Мужской
sy-uname написал(а):
... только всё-равно тема будет регулярно всплывать и возникать от проекта к проекту.

Конечно, тупых и упрямых постановщиков (консалтеров, ПМ-ов, пользователей, заказчиков и прочей нечисти), настаивающих на таком решении, на наш век хватит. Поэтому не исключаю, что при случае сам воспользуюсь выложенным здесь кодом.
Так что "Афтар, пеши исчо!" :-D

_________________
"For all entries" не в SAP-ах, "for all entries" в головах! :)


Принять этот ответ
Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: процедура склонения русских ФИО
СообщениеДобавлено: Пт, сен 09 2011, 21:57 
Старший специалист
Старший специалист

Зарегистрирован:
Пт, ноя 12 2004, 10:44
Сообщения: 370
Откуда: Москва
тупых, не тупых.. но как-то мне постановление чуть ли не ЦК КПСС достали от 74 года, которое никто не отменял, а значит действующая. в постановлении была жестко описана форма отчетности какой-то кадровой, где прямо было написано "ФИО в родительном падеже"... переубеждать смысла не видел, хотя и пытался.


Принять этот ответ
Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 20 ]  На страницу Пред.  1, 2

Часовой пояс: UTC + 3 часа


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB