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

Описания RDS

Приложения

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

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

А.5.2. Управление работой RDS и функции общего назначения

А.5.2.30. rdsGetSystemPath – получить системную строку

# Приложения

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