Функции API для получения наименования части речи

int sol_GetClassName( HGREN hEngine, int PartOfSpeechID, wchar_t * NameBuffer )

int sol_GetClassName8( HGREN hEngine, int PartOfSpeechID, char * NameBufferUtf8 )

Аргументы:

hEngine - дескриптор созданного вызовом sol_CreateGrammarEngine экземпляра морфологического словаря.

PartOfSpeechID - ID части речи.

NameBuffer - буфер, куда будет записано наименование части речи.

Возвращает:

0 - наименование части речи найдено и занесено в буфер.

число<0 - ошибка.

Примечания

Функции sol_GetClassName и sol_GetClassName8 отличаются текстовой кодировкой наименования части речи. Функция с суффиксом 8 - записывает наименование в кодировке utf-8.

Длина буфера должна быть достаточна для размещения там строки с конечным нулем. Для получения необходимого размера буфера следует использовать функции sol_MaxLexemLen и sol_MaxLexemLen8.

Часть речи, то есть параметр вызова PartOfSpeechID, можно задать либо с использованием символических констант, объявленных в _sg_api.*, либо вызвав sol_FindClass для поиска ID по имени части речи.

В рамках SQL словаря наименования частей речи хранятся в таблице SG_CLASS.

Функции потокобезопасны.

Части речи, относящиеся к морфологии русского языка, имеют русскоязычные названия, например глагол.

Пример на C++:

#include "solarix_grammar_engine.h"

// ...

HGREN hEngine = sol_CreateGrammarEngineW(L"..\\..\\bin-windows\\dictionary.xml");

//...
int n = sol_MaxLexemLen(hEngine);
wchar *buffer = new wchar_t[n];
sol_GetClassName( hEngine, VERB_ru, buffer );
// ...
delete [] buffer;
  

Пример на C#:

IntPtr gren = SolarixGrammarEngineNET.GrammarEngine.sol_CreateGrammarEngineW("..\\..\\bin-windows\\dictionary.xml");

// ...
StringBuilder buffer = new StringBuilder( SolarixGrammarEngineNET.GrammarEngine.sol_MaxLexemLen(gren) );
SolarixGrammarEngineNET.GrammarEngine.sol_GetClassName( gren, SolarixGrammarEngineNET.GrammarEngineAPI.VERB_ru, buffer );
// ...

Навигация по API грамматического словаря

Приобретение SDK грамматического словаря

English version of this page

Части речи

Класс PartOfSpeech - описание части речи в ORM библиотеке

API layer C++ source code: grammar_engine_api.cpp

Вернуться к списку функций API

  © Козиев Илья 2019
изменено 27-Mar-11