Please enable JavaScript to view this site.

» Нет разделов более высокого уровня «

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

Scroll

 

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);

© ООО «АСКОН-Системы проектирования», 2024. Все права защищены. | Единая телефонная линия: 8-800-700-00-78