home *** CD-ROM | disk | FTP | other *** search
- FUNCTION Environ (Name : STRING) : STRING;
- VAR Env : ^WORD ;
- P,Q : INTEGER;
- OK : BOOLEAN;
- X : STRING;
- ln : BYTE ABSOLUTE name;
-
- BEGIN
- DosError := 0;
- env := ptr(prefixseg, $2c);
- P := 0;
- WHILE MEM[env^ : P] <> 0 DO BEGIN
- OK := TRUE;
- FOR Q := 0 TO pred(ln) DO IF OK THEN
- OK := chr(MEM[env^ : P + Q]) = Upcase(Name[succ(Q)]);
- OK := OK AND (chr(MEM[env^:P + ln]) = '=');
- IF OK THEN BEGIN
- inc(P,succ(ln));
- X := '';
- WHILE MEM[env^ : P] <> 0 DO BEGIN
- X:=X+chr(MEM[env^:P]);
- inc(P)
- END; { WHILE MEM }
- environ := X;
- EXIT;
- END ELSE BEGIN
- WHILE MEM[env^:P] <> 0 DO inc(P);
- inc(P);
- END; { ELSE IF ok }
- END; { WHILE MEM }
- DosError := 1;
- Environ := '';
- END; { environ }