Rambler's Top100

(c)2009-2017 openinfotech.ru

СУБД HyTech

Документация
Функция htFindCoderValue

htFindCoderValue- Найти для заданного ключа его толкование

Назначение:

Функция предназначена для поиска толкования для заданного значения ключа. Если имеется несколько одинаковых значений ключа, толкование будет выбрано случайным образом.

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

Прототип:

 int HTAPI htFindCoderValue(
	CHANDLE		hCoder,	/* Обработчик кодификатора */
	void far	*fpKey,	/* Для приема значения ключа */
	void far	*fpValue/* Тестируемое значение толкования */
 );

Параметры

hCoder определяет обработчик кодификатора. Этот обработчик должен быть получен функцией htLoadCoder
fpKey определяет буфер, содержащий значение ключа. Будет выполнен поиск этого значения ключа среди данных кодификатора
fpValue определяет буфер для приема искомого толкования. По этому адресу занесут значение толкования, если таковое будет найдено

Результат:

1 в случае обнаружения толкования для заданного ключа
0 в случае отсутствия толкования
отрицательное число код ошибки

Пример.

Загрузить кодификатор для поля "Пол". Найти толкование для кода 1.

typedef struct tagSEX { /* Структура записи таблицы полов */
	char	sex;	 /* Пол (кодированный) */
	char name[7]; /* Полное наименование пола */
} SEX;
CHANDLE hSex;
char acName[8];
int rc;
int sex;
int anFields[] = { 1, 2 };
 . . .
/* Загрузить кодификатор */
rc = htLoadCoder( "\\table\\sex", NULL, TAB_SHARE, anFields,
	 sizeof(anFields)/sizeof(int), &hSex );
if( rc < 0 )
	 /* Ошибка загрузки */
 . . .
/* Искать толкование */
sex = 1;
rc = htFindCoderValue(( hSex, &sex, acName );
if( rc < 0 )
	 goto err; /* Ошибка поиска */
 . . .