===== TextID_Create ===== ==== Синтаксис ==== TEXTID TextID_Create( const void* wstr, TEXT_ENCODING flag, int len ); ==== Описание ==== Сохраняет текстовую строку в специальном текстовом хранилище и возвращает идентификатор строки в этом хранилище.\\ После окончания использования (когда строка больше не нужна) необходимо удалить строку из хранилища с помощью функции TextID_Destroy. В рамках стандартных ''GUIObject'', как правило, все ''strID'', используемые в рамках данного ''GUIObject'', освобождаются при уничтожении самого ''GUIObject''. ==== Параметры ==== * **wstr** - указатель на строку, которую необходимо поместить в хранилище. * **flag** - флаг, определяющий тип подаваемой строки: * ENC_UCS2 - строка в кодировке UCS2 * ENC_GSM - строка в кодировке GSM * ENC_BCD - телефонный номер (в кодировке BCD) * ENC_FILE - FIXME * ENC_TEXTID - набор подряд идущих ''strID'', которые необходимо объединить в одну строку (сами strID освобождаются вместе с удалением strID результата) * ENC_LAT1 - строка типа ''ASCII'' (кодировка ISO 8859-1) * ENC_UT - указатель на [[elflib:types:textid_data]] * ENC_UTTF - указатель на строку, первые два байта которой содержат длину текста в байтах (первым идёт старший байт, при длинах больше 0x8000 могут возникать трудноуловимые глюки), третий — кодировку (см. [[elflib:types:textid_data]]), а начиная с четвёртого непосредственно текст. * **len** - длина подаваемой строки. В случае если длина неизвестна, необходимо подать значение TEXTID_ANY_LEN, но в данном случае подаваемая строка должна заканчиваться на 0 ==== Возвращаемое значение ==== функция возвращает [[elflib:types:TEXTID]] строки ==== Пример ==== TEXTID strID = TextID_Create( L"Hello, World!", ENC_UCS2, 13 ); //использование UTF8 TEXTID_DATA utf8str; utf8str.lenght = TEXTID_ANY_LEN; utf8str.encoding = 8; //utf8 utf8str.ptr = (char*) "тест утф8"; TEXTID strID2 = TextID_Create( &utf8str, ENC_UT, TEXTID_ANY_LEN ); ==== см. также ==== [[textid_destroy]], [[textid_getstring]], [[textid_getwstring]]