===== 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]]