Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
ВнизKак преобразовать путь программы Найти похожие ветки
← →
Делфиец (2010-09-05 09:10) [0]Есть программы у которых путь задан таким образом "%SystemRoot%\system32\" .... есть ли в стандартном наборе делфи функция котора возращает полный путь?
← →
Leonid Troyanovsky © (2010-09-05 09:41) [1]
> Делфиец (05.09.10 09:10)
> .... есть ли в стандартном наборе делфи функция котора
> возращает полный путь?
Windows.ExpandEnvironmentStrings
--
Regards, LVT.
← →
Делфиец (2010-09-05 10:06) [2]Да в действительности сам вопрос туповатый.
Код своей функции получислся то из двух строчек:function ExtractSystemRoot(Path: String): String;
var
SystemRoot : String;
begin
SystemRoot := GetEnvironmentVariable("SystemRoot");
Result := StringReplace(Path,"%SystemRoot%", SystemRoot,[rfIgnoreCase]);
end;
← →
Leonid Troyanovsky © (2010-09-05 10:37) [3]
> Делфиец (05.09.10 10:06) [2]
> Да в действительности сам вопрос туповатый.
В пути может быть и не одна переменная окружения, отсюда и ..Strings.
function ExpandPath(const EPath: String): String;
var
buf: array [0..MAX_PATH] of Char;
begin
Win32Check(ExpandEnvironmentStrings(PChar(EPath), buf, MAX_PATH) <> 0);
Result := buf;
end;
--
Regards, LVT.
← →
DVM © (2010-09-05 20:10) [4]С этими SystemRoot и прочими надо быть очень внимательным, особенно при запуске 32 разрядной программы в 64 бит окружении. При отключении перенаправления файлового-ввода ввывода, ExpandEnvironmentStrings возвращает неверные по сути пути.
Также в реестре встречаются пути %folder% которых нет среди переменных окружения.
Еще иногда в реестре встречаются SystemRoot и подобные пути без символов %.
← →
Делфиец (2010-09-09 19:02) [5]
> DVM © (05.09.10 20:10) [4]
Впринципе любой возвращенный путь можно проверить через FileExists()
Поиск файлов из реестра это полный бред, как раз это мне и нужно реализовать.
← →
Anatoly Podgoretsky © (2010-09-09 19:08) [6]То есть тебе нужно реализовать бред.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2010.11.28;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.003 c