![]() |
Umgebungsvariablen auflösen
Ich erhalte solche Pfadangaben von diversen Programmen
%ALLUSERSPROFILE% oder %APPDATA% Wie kann ich diese "auflösen", so das ich den richtigen Pfad habe? für %APPDATA% hät ich hier etwas gefunden aber %ALLUSERSPROFILE% nicht... |
Re: Umgebungsvariablen auflösen
Ich gebs im zweifelsfall einfach in die Kommandozeile ein:
Start --> Ausführen --> %ALLUSERSPROFILE% ergibt z.B. unter XP Prof C:\Dokumente und Einstellungen\All Users. Dies ist sicherlich nicht der professionellste Weg, ist aber praktikabel, wenn man den Pfad mal schnell auf seinem eigenen Rechner braucht. Hope it helps a little bit onlinekater |
Re: Umgebungsvariablen auflösen
Ok sorry - natürlich möchte ich das mit meinem Programm erfahren!
|
Re: Umgebungsvariablen auflösen
|
Re: Umgebungsvariablen auflösen
APPDATA kannst du zb. so aus der Registry lesen.
function GetAPPDATApath:String; var Reg : TRegistry; begin result:=''; Reg:=TRegistry.Create; try Reg.RootKey:=HKEY_CURRENT_USER; Reg.OpenKey('Volatile Environment\',True); result:=Reg.ReadString('APPDATA'); Reg.CloseKey; finally Reg.Free; end; end; |
Re: Umgebungsvariablen auflösen
Die JCL hat dazu natuerlich auch Funktionen.
|
Re: Umgebungsvariablen auflösen
Moin Robert,
Zitat:
Delphi-Quellcode:
ShowMessage(GetEnvironmentVariable('ALLUSERSPROFILE'));
|
Re: Umgebungsvariablen auflösen
In der JCL wirds so gemacht:
Delphi-Quellcode:
function ExpandEnvironmentVar(var Value: string): Boolean;
var R: Integer; Expanded: string; begin SetLength(Expanded, 1); R := ExpandEnvironmentStrings(PChar(Value), PChar(Expanded), 0); SetLength(Expanded, R); Result := ExpandEnvironmentStrings(PChar(Value), PChar(Expanded), R) <> 0; if Result then begin SetLength(Expanded, StrLen(PChar(Expanded))); Value := Expanded; end; end; |
Re: Umgebungsvariablen auflösen
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:11 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz