home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1991 / 09_10 / tricks / envinfo.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1991-06-06  |  2.3 KB  |  63 lines

  1. (* ------------------------------------------------------ *)
  2. (*                      ENVINFO.PAS                       *)
  3. (*          Demo-Programm zur Unit ENVIRON.               *)
  4. (*  Zeigt einige Informationen zum Master-Environment an. *)
  5. (*           (c) 1991 Norbert Klimpel & TOOLBOX           *)
  6. (* ------------------------------------------------------ *)
  7. PROGRAM MasterEnvironmentInfo;
  8.  
  9. USES Environ;
  10.  
  11. TYPE
  12.   Str4 = STRING [4];
  13.  
  14. VAR
  15.   i  : BYTE;
  16.   Ok : BOOLEAN;
  17.  
  18.   FUNCTION HexW(Dez : WORD) : Str4;
  19.     (* Umwandlung Dezimal -> HexWord *)
  20.   BEGIN
  21.     INLINE(
  22.       $C4/$7E/$06/                {    LES   DI,[BP+06] }
  23.       $B0/$04/                    {    MOV   AL,04      }
  24.       $AA/                        {    STOSB            }
  25.       $8B/$46/$04/                {    MOV   AX,[BP+04] }
  26.       $B9/$04/$04/                {    MOV   CX,0404h   }
  27.       $D3/$C0/                    {L1: ROL   AX,CL      }
  28.       $8B/$D8/                    {    MOV   BX,AX      }
  29.       $24/$0F/                    {    AND   AL,0Fh     }
  30.       $04/$90/                    {    ADD   AL,90h     }
  31.       $27/                        {    DAA              }
  32.       $14/$40/                    {    ADC   AL,40h     }
  33.       $27/                        {    DAA              }
  34.       $AA/                        {    STOSB            }
  35.       $8B/$C3/                    {    MOV   AX,BX      }
  36.       $FE/$CD/                    {    DEC   CH         }
  37.       $75/$ED);                   {    JNZ   L1         }
  38.   END;
  39.  
  40. BEGIN
  41.   Ok := SetMasterEnv('TEST', 'Neue Variable');
  42.   WriteLn('Segment von ', GetMasterEnv('COMSPEC'), ' = ',
  43.           HexW(ComspecSeg));
  44.   WriteLn('Segment vom Master-Environment = ',
  45.           HexW(MasterEnvSeg));
  46.   WriteLn('Größe vom Master-Environment   = ',
  47.           MasterEnvSize, ' Byte');
  48.   WriteLn('Davon sind ', MasterEnvUsed, ' Bytes belegt.');
  49.   WriteLn('Anzahl der Environment-Variablen : ',
  50.           MasterEnvCount);
  51.   WriteLn;
  52.   WriteLn('Dies sind die Einträge:');
  53.   WriteLn('-----------------------');
  54.   FOR i := 1 TO MasterEnvCount DO WriteLn(MasterEnvStr(i));
  55.   WriteLn;
  56.   IF Ok THEN
  57.     Ok := SetMasterEnv('TEST', '')
  58.   ELSE
  59.     WriteLn('Kein Platz mehr für Variable ''TEST'' !');
  60. END.
  61. (* ------------------------------------------------------ *)
  62. (*                Ende von ENVINFO.PAS                    *)
  63.