Obtenir les variables d'environnement DOS



télécharger le projet exemple (1.75 ko)

On m'a posé cette question il y a quelques temps déjà (ce projet est disponible en téléchargement depuis la création du site), mais je trouve que ce document a plus sa place ici.

Tout le secret réside dans la fonction API GetEnvironmentStrings (ou GetDOSEnvironment pour Windows 3.1x) qui renvoie une chaine PChar pointant sur le bloc d'environnement. Le projet suivant vous montre comment l'exploiter.

Il est également possible d'obtenir la valeur d'une variable d'environnement grâce à la fonction GetEnvironmentVariable (ce qui est conseillé dans le WIN32 SDK).

Obtenir les variables d'environnement DOS

program Getenv;
{$APPTYPE CONSOLE}

uses
  Winprocs;

var
  ptr: PChar;
  Done: BOOLEAN;

begin
  {$IFDEF WIN32}
  ptr := GetEnvironmentStrings;
  {$ELSE}
  ptr := GetDOSEnvironment;
  {$ENDIF}
  Done := False;
  while not Done do
    begin
      if ptr^ = #0 then
        begin
          writeln('');
          Inc(ptr);
          if ptr^ = #0 then Done := True
          else
          write(ptr^);
        end
      else
        write(ptr^);
      Inc(ptr);
    end;
  writeln('');
  writeln('Appuyez sur <Entr' + #130 + 'e> pour continuer');
  { Nous avons besoin d'écrire le code #130 au lieu de "é" car
    nous utilisons le jeu de caractères MS-DOS}
  readln;
end.



3 requête(s) SQL executée(s) en 0.001 Secs - Temps total de génération de la page : 0.007 Secs