Навигация:
<< >> Оглавление Указатель

Приложения

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

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

А.5.4. Отведение памяти и преобразование строк

А.5.4.9. rdsGetFullFilePath – сокращенный путь к файлу в полный

Функция rdsGetFullFilePath преобразует сокращенный (содержащий специальные символические константы RDS) путь к файлу в полный путь, и возвращает динамическую строку, содержащую этот полный путь. Файл, путь к которому обрабатывается, может физически не существовать или быть недоступным в данный момент – функция работает только со строкой пути.

    rdsGetFullFilePathA( // UTF8
     FileName,    // Сокращенный путь (UTF8)
     AltDefPath,  // Альтернативный путь по умолчанию (UTF8)
    int *pLength         // Возвращаемая длина строки
  );
    rdsGetFullFilePathW( // UTF16
     FileName,   // Сокращенный путь (UTF16)
     AltDefPath, // Альтернативный путь по умолчанию (UTF16)
    int *pLength         // Возвращаемая длина строки
  );
  // 
    rdsGetFullFilePath( // Кодировка по умолчанию
     FileName,   // Сокращенный путь (кодировка по умолчанию)
     AltDefPath, // Альтернативный путь по умолчанию (кодировка по умолчанию)
    int *pLength         // Возвращаемая длина строки
  );

Тип указателя на эту функцию

RDS_SSSpI (для UTF8) или RDS_WsWsWspI (для UTF16)

Параметры

FileName (RDSCSTR, RDSWCSTR, RDSXCSTR)
Указатель на строку с сокращенным путем к файлу. Может начинаться с одной из символических констант, которые будут заменены на путь к одной из стандартных папок RDS (см. также функцию rdsGetSystemPath):
$DLL$ Полный путь к папке стандартных DLL (папка «Dll\» внутри папки установки RDS).
$INI$ Полный путь к папке настроек (при портативной установке – папка «UserData\» внутри папки установки RDS, при фиксированной установке – папка в общей папке данных программ Windows).
$LIB$ Полный путь к библиотеке блоков (папка «Library\» внутри папки настроек RDS).
$MODELS$ Полный путь к папке стандартных автокомпилируемых моделей (папка «Models\» внутри папки настроек RDS).
$PANEL$ Полный путь к панели блоков (папка «Panel\» внутри папки настроек RDS).
$RDSINCLUDE$ Полный путь к папке файлов-заголовков (по умолчанию – папка «Include\» внутри папки установки RDS).
$TEMP$ Полный путь к собственной временной папке RDS (папка «Temp\» внутри папки настроек RDS).
$WINTEMP$ Полный путь к папке временных файлов Windows.
Обнаружив в начале строки FileName одну из перечисленных выше констант, функция подставляет вместо нее полный путь к соответствующей папке без завершающей обратной косой черты. Если FileName не содержит ни констант, ни полного пути, к этому имени добавляется либо путь из параметра AltDefPath, если он не равен NULL, либо путь к папке, в которой находится файл загруженной в данный момент схемы, если AltDefPath равен NULL.
AltDefPath (, , )
Указатель на строку, которая добавляется к строке FileName, если последняя не содержит ни приведенных выше констант, ни полного пути. Если этот параметр равен NULL, к FileName будет добавлен путь к папке, в которой находится файл загруженной в данный момент схемы.
pLength (int*)
Указатель на целую переменную, в которую функция запишет длину строки получившегося полного пути к файлу. Если вызвавшей программе не нужно это значение, в pLength можно передать NULL.

Возвращаемое значение

Указатель на созданную в динамической памяти строку, содержащую полный путь к указанному файлу. Если получить полный путь невозможно, возвращается NULL.

Примечания

Динамическая строка, созданная функцией rdsGetFullFilePath, должна быть обязательно освобождена вызовом rdsFree.

Пример

Пример использования функции rdsGetFullFilePath приведен в §2.13.6 руководства программиста.

См. также

rdsGetRelFilePath, rdsGetSystemPath, rdsFree.


<< >> Оглавление Указатель