Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.10. Загрузка и сохранение данных блока
А.5.10.5. rdsWriteBlockDataText – добавление текста к сохраняемым в текстовом формате данным блока
Функция rdsWriteBlockDataText добавляет указанный в параметрах текст к данным, сохраняемым блоком в текстовом формате.
void RDSCALL rdsWriteBlockDataTextA( RDSCSTR String, // Текст (UTF8) BOOL NewLine // Перевод строки перед текстом ); void RDSCALL rdsWriteBlockDataTextW( RDSWCSTR String, // Текст (UTF16) BOOL NewLine // Перевод строки перед текстом ); // Функция-псевдоним void RDSCALL rdsWriteBlockDataText( RDSXCSTR String, // Текст (кодировка по умолчанию) BOOL NewLine // Перевод строки перед текстом );
Тип указателя на эту функцию
RDS_VSB (для UTF8) или RDS_VWsB (для UTF16)
Параметры
- String (RDSCSTR, RDSWCSTR, RDSXCSTR)
- Указатель на строку (char* или wchar_t*, в зависимости от версии функции) с текстом, добавляемым к записанным данным.
- NewLine (BOOL)
- TRUE – перевести строку перед добавлением текста String, FALSE – добавить перед ним пробел.
Примечания
Эта функция может вызываться только из функции модели блока в момент реакции на событие записи данных блока в текстовом формате RDS_BFM_SAVETXT, во всех остальных случаях вызов игнорируется. Она добавляет указанный в параметрах произвольный текст к общему набору текстовых данных блока, после завершения реакции на событие RDS_BFM_SAVETXT этот набор будет записан в файл или буфер обмена (в зависимости от того, для чего сохраняются данные блока).
Перед текстом из строки String всегда добавляется либо пробел (при NewLine==FALSE), либо перевод строки (при NewLine==TRUE), таким образом, при записи различных ключевых слов этой функцией не нужно отдельно добавлять между ними пробелы. Например, программа
int w=100; char *string=rdsItoAA(w,10,0); rdsWriteBlockDataTextA("width",FALSE); rdsWriteBlockDataTextA(string,FALSE); rdsFree(string);
добавит к текстовым данным блока строку « width 100».
Функцию rdsWriteBlockDataText можно использовать для перевода строки в наборе данных блока, для этого в параметре String нужно передать NULL, а в параметре NewLine – TRUE:
rdsWriteBlockDataText(NULL,TRUE);
Пример
Пример использования функции rdsWriteBlockDataText приведен в §2.8.3 руководства программиста.
См. также