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

Часовой пояс: 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 часа


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

Сейчас этот форум просматривают: Yandex [Bot]


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

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