Приложения
Приложение А. Функции, константы и структуры RDS
А.5. Сервисные функции и макросы RDS
А.5.2. Управление работой RDS и функции общего назначения
А.5.2.30. rdsGetSystemPath – получить системную строку
Функция rdsGetSystemPath возвращает указатель на одну из строк, описывающих общие параметры или параметры, относящиеся к загруженной схеме в целом. Строки находятся во внутренней памяти RDS.
RDSCSTR RDSCALL rdsGetSystemPathA( // UTF8 int ValueId // Запрашиваемая строка ); RDSWCSTR RDSCALL rdsGetSystemPathW( // UTF16 int ValueId // Запрашиваемая строка ); // Функция-псевдоним RDSXCSTR RDSCALL rdsGetSystemPath( // Кодировка по умолчанию int ValueId // Запрашиваемая строка );
Тип указателя на эту функцию
RDS_SI (для UTF8) или RDS_WsI (для UTF16)
Параметр
- ValueId (int)
-
RDS_GSPAPPEXE Полный путь к исполняемому файлу RDS «rds.exe». RDS_GSPAPPPATH Полный путь к папке, в которой находится исполняемый файл RDS «rds.exe». Отличается от RDS_GSPAPPEXE отсутствием имени файла в конце пути. RDS_GSPBAKFILEEXT Расширение файлов резервных копий схем (по умолчанию – «~rds», может изменяться пользователем в настройках RDS). Расширение возвращается без символа точки, отделяющей его от имени. RDS_GSPBLOCKLIBPATH Полный путь к библиотеке блоков (по умолчанию – папка «Library\» внутри папки RDS). RDS_GSPBLOCKPANELPATH Полный путь к панели блоков (по умолчанию – папка «Panel\» внутри папки RDS). RDS_GSPDEFAULTHOST Установленное в сетевых настройках RDS имя сервера по умолчанию (см. приложение А.5.21). RDS_GSPDLLPATH Полный путь к папке стандартных DLL (по умолчанию – папка «Dll\» внутри папки RDS). RDS_GSPINCLUDEPATH Полный путь к папке файлов-заголовков (по умолчанию – папка «Include\» внутри папки RDS). RDS_GSPINIPATH Полный путь к папке настроек (INI-файлов, по умолчанию совпадает с основной папкой RDS, в которой находится исполняемый файл «rds.exe»). RDS_GSPMODELSPATH Полный путь к папке стандартных автокомпилируемых моделей (по умолчанию – папка «Models\» внутри папки RDS). RDS_GSPSYSTEMFILE Полный путь к файлу загруженной в данный момент схемы. Если создана новая схема, вместо полного пути возвращается только имя файла (без пути, обычно «Untitled.rds»). При этом после первого же ее сохранения будет возвращаться полный путь к файлу, в который эта новая схема сохранена. RDS_GSPSYSTEMFULLPATH Полный путь к файлу загруженной в данный момент схемы. Если схема только что создана и еще не сохранялась, возвращается пустая строка (этим RDS_GSPSYSTEMFULLPATH отличается от RDS_GSPSYSTEMFILE). RDS_GSPTEMPLATEPATH Полный путь к папке шаблонов схем (по умолчанию – папка «Template\» внутри папки RDS). RDS_GSPTEMPPATH Полный путь к собственной временной папке RDS (по умолчанию – папка «Temp\» внутри папки RDS).
Возвращаемое значение
Указатель на запрошенную строку во внутренней памяти RDS. Вызвавшая функция модели не должна как-либо изменять эту строку. Если параметру ValueId не соответствует никакая из системных строк (он не равен одной из констант RDS_GSP*), возвращается указатель на пустую строку. Таким образом, эта функция всегда возвращает указатель на какую-либо существующую строку.
Примечания
Большинство возвращаемых функцией rdsGetSystemPath строк связаны с путями к различным папкам RDS, отсюда и название функции. Разработчику модели блока или модуля автокомпиляции не следует полагаться на то, что в копии RDS, установленной на машине пользователя, все пути будут стандартными. Например, если в модуле автокомпиляции требуется получить путь к файлам заголовков для включения их в формируемый текст модели блока на языке C, будет ошибкой получить путь к папке установки RDS вызовом rdsGetSystemPath(RDS_GSPAPPPATH) и добавить к нему строку «Include\». Размещение некоторых папок может быть изменено в настройках или специальными параметрами командной строки RDS, поэтому для получения пути к файлам заголовков следует использовать вызов rdsGetSystemPath(RDS_GSPINCLUDEPATH) – он всегда возвращает путь, указанный в текущих настройках.
Пример
Пример использования функции rdsGetSystemPath приведен в §3.4 руководства программиста.
См. также
Сервисные функции со строковыми параметрами и результатом, rdsGetSystemInt.