Как получить значение системной перменной?

Clarion, Clarion 7

Модератор: Дед Пахом

Правила форума
При написании вопроса или обсуждении проблемы, не забывайте указывать версию Clarion который Вы используете.
А так же пользуйтесь спец. тегами при вставке исходников!!!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8037
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Re: Как получить значение системной перменной?

Сообщение Игорь Столяров »

Добрый день !

Поясняю. Потому, что все данные о системе, которые можно получить из системных
переменных можно напрямую получить через вызовы функций WinApi.
И тем более - данные о папках Windows, как я написал в предыдущем письме.

Метод SHGetSpecialFolderPath() находится в файле Shell32.dll MS Windows и нужно
его описание с помощью программы LibMaker либо добавить к списку методов WinApi,
которые уже описаны в файле win32.lib Clarion6 (который всегда связывается с приложение),
либо создать новый lib файл с описанием этого метода и добавить его в Ваш проект.

Если мое описание вызывает затруднение, то Вам проще просто поместить в папку
приложения файл win32.lib (или заменить его в папке LIB Clarion 6), который я
прикрепил к этому сообщению.
Вложения
WIN32.rar
Win32.lib с добавленным SHGetSpecialFolderPath()
(24.9 КБ) 151 скачивание
Make Clarion Great Again ! 😎
NewUser
Старожил
Сообщения: 238
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 6 раз

Re: Как получить значение системной перменной?

Сообщение NewUser »

Благодарю, Игорь. Все замечательно получилось - и понять грамотность предложенного подхода, и концепцию реализации и реализовать на практике полученные знания.
Но проблема осталась нерешенной. На компьютере, на котором происходит разработка, папка с документами и настройками называется Documents and Settings. Так вот, при выполнении, в том числе и предложенного Вами кода, Message выдает путь в виде: «C:\DOCUME~1\ADMIN~1.MIC\Local Settings\Application Data».
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8037
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Re: Как получить значение системной перменной?

Сообщение Игорь Столяров »

Ну это уже не смешно ...
Замените на Message(Loc:FPath) на Message(LongPath(Loc:FPath))
Make Clarion Great Again ! 😎
NewUser
Старожил
Сообщения: 238
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 6 раз

Re: Как получить значение системной перменной?

Сообщение NewUser »

Не знаю, меня, например, это улыбнуло. :D
Спасибо, сделано!
Аватара пользователя
Игорь Столяров
Ветеран движения
Сообщения: 8037
Зарегистрирован: 07 Июль 2005, 10:19
Откуда: г. Ростов-на-ДоМу
Благодарил (а): 28 раз
Поблагодарили: 96 раз

Re: Как получить значение системной перменной?

Сообщение Игорь Столяров »

Удалось получить папку данных приложений Windows в том виде как Вы хотели ?
Make Clarion Great Again ! 😎
NewUser
Старожил
Сообщения: 238
Зарегистрирован: 10 Ноябрь 2005, 23:07
Откуда: Краснодар
Благодарил (а): 6 раз

Re: Как получить значение системной перменной?

Сообщение NewUser »

Игорь Столяров писал(а):Удалось получить папку данных приложений Windows в том виде как Вы хотели ?
Да, конечно.
Большое спасибо!
Ответить