Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.34. Отладочные функции
А.5.34.3. rdsdebugLogString – добавить строку в текстовый файл
Функция rdsdebugLogString добавляет произвольную строку в конец текстового файла с указанным именем.
BOOL RDSCALL rdsdebugLogStringA( RDSCSTR LogFile, // Имя файла (UTF8) RDSCSTR String, // Строка (UTF8) BOOL ClearFile // Очистить файл ); BOOL RDSCALL rdsdebugLogStringW( RDSWCSTR LogFile, // Имя файла (UTF16) RDSWCSTR String, // Строка (UTF16) BOOL ClearFile // Очистить файл ); // Функция-псевдоним BOOL RDSCALL rdsdebugLogString( RDSXCSTR LogFile, // Имя файла (кодировка по умолчанию) RDSXCSTR String, // Строка (кодировка по умолчанию) BOOL ClearFile // Очистить файл );
Тип указателя на эту функцию
RDS_BSSB (для UTF8) или RDS_BWsWsB (для UTF16)
Параметры
- LogFile (RDSCSTR, RDSWCSTR, RDSXCSTR)
- Указатель на строку с именем текстового файла, в конец которого нужно добавить строку. Имя файла может содержать символические обозначения стандартных папок RDS. Если в имени файла нет пути, он будет считаться находящимся в одной папке с загруженной схемой.
- String (RDSCSTR, RDSWCSTR, RDSXCSTR)
- Указатель на строку, которую нужно добавить в файл (после нее автоматически будет записан возврат каретки («\r», код 13) и перевод строки («\n», код 10).
- ClearFile (BOOL)
- TRUE – очистить файл перед добавлением строки, FALSE – добавить строку в конец существующего файла.
Возвращаемое значение
TRUE – строка записана, FALSE – ошибка.
Примечания
Эта функция открывает указанный текстовый файл, записывает в него строку и снова закрывает его. Чаще всего она используется при отладке моделей блоков для ведения журнала выполняемых моделью действий. Поскольку сразу после записи строки файл снова закрывается, критические ошибки в модели, приводящие к аварийному завершению RDS, не приведут к потере журнала, и по последней записи в текстовом файле можно будет судить о том, после какой операции возникла ошибка.
Параметр ClearFile управляет очисткой файла: перед началом ведения журнала можно передать в нем TRUE, чтобы очистить прошлый журнал. Момент начала ведения журнала можно определять, например, по событию завершения загрузки схем RDS_BFM_AFTERLOAD или по значению какой-либо глобальной переменной в модели, которая будет служить флагом первого запуска.
См. также