home *** CD-ROM | disk | FTP | other *** search
- (* ------------------------------------------------------ *)
- (* ENVINFO.PAS *)
- (* Demo-Programm zur Unit ENVIRON. *)
- (* Zeigt einige Informationen zum Master-Environment an. *)
- (* (c) 1991 Norbert Klimpel & TOOLBOX *)
- (* ------------------------------------------------------ *)
- PROGRAM MasterEnvironmentInfo;
-
- USES Environ;
-
- TYPE
- Str4 = STRING [4];
-
- VAR
- i : BYTE;
- Ok : BOOLEAN;
-
- FUNCTION HexW(Dez : WORD) : Str4;
- (* Umwandlung Dezimal -> HexWord *)
- BEGIN
- INLINE(
- $C4/$7E/$06/ { LES DI,[BP+06] }
- $B0/$04/ { MOV AL,04 }
- $AA/ { STOSB }
- $8B/$46/$04/ { MOV AX,[BP+04] }
- $B9/$04/$04/ { MOV CX,0404h }
- $D3/$C0/ {L1: ROL AX,CL }
- $8B/$D8/ { MOV BX,AX }
- $24/$0F/ { AND AL,0Fh }
- $04/$90/ { ADD AL,90h }
- $27/ { DAA }
- $14/$40/ { ADC AL,40h }
- $27/ { DAA }
- $AA/ { STOSB }
- $8B/$C3/ { MOV AX,BX }
- $FE/$CD/ { DEC CH }
- $75/$ED); { JNZ L1 }
- END;
-
- BEGIN
- Ok := SetMasterEnv('TEST', 'Neue Variable');
- WriteLn('Segment von ', GetMasterEnv('COMSPEC'), ' = ',
- HexW(ComspecSeg));
- WriteLn('Segment vom Master-Environment = ',
- HexW(MasterEnvSeg));
- WriteLn('Größe vom Master-Environment = ',
- MasterEnvSize, ' Byte');
- WriteLn('Davon sind ', MasterEnvUsed, ' Bytes belegt.');
- WriteLn('Anzahl der Environment-Variablen : ',
- MasterEnvCount);
- WriteLn;
- WriteLn('Dies sind die Einträge:');
- WriteLn('-----------------------');
- FOR i := 1 TO MasterEnvCount DO WriteLn(MasterEnvStr(i));
- WriteLn;
- IF Ok THEN
- Ok := SetMasterEnv('TEST', '')
- ELSE
- WriteLn('Kein Platz mehr für Variable ''TEST'' !');
- END.
- (* ------------------------------------------------------ *)
- (* Ende von ENVINFO.PAS *)
-