Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Umgebungsvariablen auflösen (https://www.delphipraxis.net/89054-umgebungsvariablen-aufloesen.html)

MrDevil 25. Mär 2007 12:43


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...

TBx 25. Mär 2007 12:47

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

MrDevil 25. Mär 2007 12:48

Re: Umgebungsvariablen auflösen
 
Ok sorry - natürlich möchte ich das mit meinem Programm erfahren!

MrDevil 25. Mär 2007 12:53

Re: Umgebungsvariablen auflösen
 
Ok hat sich erledigt

http://www.swissdelphicenter.ch/torr...de.php?id=2277

Tanne 25. Mär 2007 12:54

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;

Robert Marquardt 25. Mär 2007 13:42

Re: Umgebungsvariablen auflösen
 
Die JCL hat dazu natuerlich auch Funktionen.

Christian Seehase 25. Mär 2007 14:51

Re: Umgebungsvariablen auflösen
 
Moin Robert,

Zitat:

Zitat von Robert Marquardt
Die JCL hat dazu natuerlich auch Funktionen.

Delphi auch ;-)

Delphi-Quellcode:
  ShowMessage(GetEnvironmentVariable('ALLUSERSPROFILE'));

TKC 25. Mär 2007 15:32

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;

marabu 25. Mär 2007 15:48

Re: Umgebungsvariablen auflösen
 
Hier noch eine Sparversion: klick

Grüße vom marabu


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:14 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz