Текущий раздел:

Описания RDS

Приложения

Приложение А. Функции, константы и структуры RDS

А.5. Сервисные функции и макросы RDS

А.5.10. Загрузка и сохранение данных блока

А.5.10.5. rdsWriteBlockDataText – добавление текста к сохраняемым в текстовом формате данным блока

# Приложения

## Приложение А. Функции, константы и структуры 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 руководства программиста.

См. также

RDS_BFM_SAVETXT, RDS_BFM_LOADTXT.