Danke. Hab gerade mit den Hausmitteln eine Alternative gebastelt, aber ich glaube deine
Unit ist besser.
Delphi-Quellcode:
var
EnvStrings: array[0..6] of String = ('ALLUSERSPROFILE', 'APPDATA', 'TEMP',
'COMMONPROGRAMFILES', 'PROGRAMFILES', 'SYSTEMROOT', 'USERPROFILE');
function PathUnExpandEnvStrings2(Path: String): String;
var
i, p: Integer;
s: String;
begin
Result := Path;
for i := Low(EnvStrings) to High(EnvStrings) do
begin
p := Pos(UpperCase(GetEnvironmentVariable(EnvStrings[i])), UpperCase(Path));
if p > 0 then
begin
Delete(Result, p, Length(GetEnvironmentVariable(EnvStrings[i])));
Insert('%'+EnvStrings[i]+'%', Result, p);
Exit;
end;
end;
end;
Ich glaube ich nehme deine
Unit, die beinhaltet ja gleich beide Funktionen.