Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.10.09;
Скачать: CL | DM;

Вниз

константы в реестре   Найти похожие ветки 

 
Dmitriy M. Volkov   (2003-09-25 18:05) [0]

Здравствуйте.

Windows пишет в реестр константы вместо пути, напимер:
c:\windows = %windir%
и т.п.

Можно как-то при чтении строк из реестра конвертировать их в нормальный путь? Я имею ввиду, есть какие-то функции для этого?

Спасибо.


 
ZEE ©   (2003-09-25 18:13) [1]

GetWindowsDirectory + StringReplace этого должно хватить


 
Jeer ©   (2003-09-25 18:15) [2]

Есть функции получения, например, пути к стандартным каталогам.
%windir% - это и есть каталог в который установлена ОС.
GetWindowsDirectory(..)


 
Song ©   (2003-09-25 18:25) [3]

GetEnvironmentVariable


 
Dmitriy M. Volkov   (2003-09-25 20:09) [4]

А есть какая-то возможность вылавливать наличие этих самых переменных среды? по наличию двух %..% как-то не кошерно, т.к. этот символ (%) может быть и в простом пути. А делать вот так


function MakeCorrectPath(s: string):string;
begin
s := StringReplace(s, "%windir%", GetEnvironmentVariable("windir"), [rfReplaceAll, rfIgnoreCase]);
s := StringReplace(s, "%USERPROFILE%", GetEnvironmentVariable("USERPROFILE"), [rfReplaceAll, rfIgnoreCase]);
Result := s;
end;


тоже идиотизм, т.к. все эти переменные не переберёшь. Или переберёшь? Где их найти можно. В ВинХР есть %systemdrive%, а в 98й такой нет и используется обычный путь.


 
vuk ©   (2003-09-25 22:12) [5]

см. ExpandEnvironmentStrings


 
Dmitriy M. Volkov   (2003-09-27 13:28) [6]

Ага, а вот это как раз то что нужно. Спасибо!



Страницы: 1 вся ветка

Текущий архив: 2003.10.09;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.023 c
6-27630
dimIan
2003-08-12 13:57
2003.10.09
Передача запроса серверу, больше 255 символов.


1-27486
Alexey Nepryahin
2003-09-26 17:10
2003.10.09
DesignEditors, Proxies


1-27562
Lionzi
2003-09-29 15:38
2003.10.09
WindowMenu Tform


1-27564
DeMoN_Astra
2003-09-29 11:44
2003.10.09
Помогите с PSafeArray


14-27634
Vik_mix
2003-09-23 11:03
2003.10.09
I(max) in COM-port