DruckenMister WongFacebook

Umgebungsvariablen auslesen

System Win9x, WinNT, Win2000, WinXP, Vista, Win7
Ab Delphi-Version Delphi 1
Letzte Änderung 28.09.2010

Unter Umgebungsvariablen versteht man systemweite, globale Variablen. Sie können z.B. allgemeine Informationen zum Betriebssystem oder Pfadangaben enthalten. Dieser Artikel zeigt, wie man Umgebungsvariablen mit den verschiedenen Delphi-Versionen ausliest.Ab Delphi 6 (und auch Kylix) funktioniert folgendes:


var
  s: String;
begin
  s:=GetEnvironmentVariable('PATH');
end;

'PATH' ist der Name der Umgebungsvariable.Eine entsprechende Lösung unter .NET sieht folgendermaßen aus:


var
  s: string;
begin
  s := Environment.GetEnvironmentVariable('windir');
end;

Setzen Sie noch eine ältere Delphi-Version (bis Delphi 5) ein, müssen Sie direkt auf die Windows-API zugreifen. Eine Kapselung sieht so aus:


function GetEnvironmentVariable(const AEnvVar: string): string;
var
  Len: Integer;
begin
  Len:=Windows.GetEnvironmentVariable(Pchar(AEnvVar),nil,0) ;;
  if Len>0 then
  begin
    SetLength(Result, Len);
    Windows.GetEnvironmentVariable(Pchar(AEnvVar),PChar(Result), Len);
  end
  else
  begin
    Result:='';
    RaiseLastWin32Error;
  end;
end;

Ihr muss als Parameter der Name der Umgebungsvariable übergeben werden.Über die Umgebungsvariablen, kann man auch bestimmte Systemverzeichnisse abfragen (z.B. Windows-Verzeichnis, TEMP-Verzeichnis). Allerdings empfiehlt Microsoft, diese Methode nicht anzuwenden, sondern die speziellen API-Funktionen zu verwenden (siehe Verweise).