Files
kompas3d-mcp/docs/Kompas3D_SDK/guides/ksgetfullpathfromsystempath.md
T
mikhail e1337e4016 feat(sdk-docs): MD-база знаний SDK — в репозиторий; генератор и зеркало убраны
docs/Kompas3D_SDK/ становится каноническим источником справки КОМПАС SDK
и включается в репозиторий (2491 файл, ~14 МБ). HTML-зеркало
docs/KOMPAS_SDK_ru-RU/ (~1.4 ГБ, © АСКОН) и генератор
tools/build_kompas3d_sdk.py больше не нужны — регенерация не предполагается.

- .gitignore: MD-база разблокирована; зеркало остаётся проигнорированным
  (safety-net на случай повторной локальной выгрузки).
- CLAUDE.md / SKILL.md: убраны упоминания регенерации и зеркала.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-26 20:00:05 +03:00

4.0 KiB

title, type, api, tags, sources
title type api tags sources
ksGetFullPathFromSystemPath - Сформировать полный путь к файлу из заданного относительного пути к файлу и системного пути установленного типа guide
api7
guide
api7
ksgetfullpathfromsystempath
ksgetfullpathfromsystempath.html

*API экспортных функций > Функции работы с файлами документов *

ksGetFullPathFromSystemPath - Сформировать полный путь к файлу из заданного относительного пути к файлу и системного пути установленного типа

Пример... Аналог данной функции при использовании Automation - метод KompasObject::ksGetFullPathFromSystemPath. Синтаксис:

void ksGetFullPathFromSystemPath (char *relativePath,
char *destBuff,
int bufLen,
int pathType);
Входные параметры:
relativePath    - относительный путь к файлу,
pathType    - тип системной папки,
bufLen    - длина отведенного буфера для возвращаемого значения в символах.
Типы системных папок...
Выходные параметры:
destBuff    - буфер для сформированного полного пути к файлу.
Примечание.
При использовании Unicode следует использовать функцию ksGetFullPathFromSystemPathW.

ksGetFullPathFromSystemPath - пример использования

char * catalogName[] = {"папка системных файлов", "папка библиотек", "папка временных файлов", "папка конфигурации" , "INI-файл" }; //сформировать полный путь к заданному файлу RequestInfo info; memset(&info, 0, sizeof(info)); info.title = "Папки файлов системы "; info.commands = "!Системные !Библиотеки !Временные !Конфигурация !INI-файл "; info.prompt = "Выберите нужную папку"; int j; static char buf = "user.ttt"; char fileName[250]; int typeCatalog; do { j = ::CommandWindow(&info); if (j > 0) { switch (j) { case 1 : typeCatalog = sptSYSTEM_FILES; break;// Относительно папки системных файлов case 2 : typeCatalog = sptLIBS_FILES ; break;// Относительно папки файлов библиотек case 3 : typeCatalog = sptTEMP_FILES ; break;// Относительно папки сохранения временных файлов case 4 : typeCatalog = sptCONFIG_FILES; break;// Относительно папки сохранения конфигурации системы case 5 : typeCatalog = sptINI_FILE ; break;// Относительно полного имени INI-файла системы } //полный путь ::ksGetFullPathFromSystemPath(buf , // относительный путь к файлу(без системного пути) fileName, // (результат) полный путь к файлу 250, // размер буфера typeCatalog); // путь установленного типа см. ksSystemPath string mess = "Полный путь к файлу user.ttt \n"; mess = catalogName[j -1]; mess = " :\n"; mess = fileName ; Message ((char)mess.c_str()); char relName[250]; //относительный путь ::ksGetRelativePathFromSystemPath(fileName, //полный путь к файлу relName, //(результат) относительный путь к файлу(без системного пути) 250, //размер буфера typeCatalog); //путь установленного типа см. ksSystemPath mess = "Относительный путь к файлу \n"; mess = fileName; mess = "\n"; mess = catalogName[j -1]; mess = " :\n"; mess = relName; Message ((char*)mess.c_str()); } } while (j > 0);