home *** CD-ROM | disk | FTP | other *** search
/ Turbo Toolbox / Turbo_Toolbox.iso / 1989 / 03 / praxis / environ.pas < prev    next >
Encoding:
Pascal/Delphi Source File  |  1988-12-14  |  827 b   |  34 lines

  1. FUNCTION Environ (Name : STRING) : STRING;
  2. VAR   Env : ^WORD ;
  3.       P,Q : INTEGER;
  4.       OK  : BOOLEAN;
  5.       X   : STRING;
  6.       ln  : BYTE ABSOLUTE name;
  7.  
  8. BEGIN
  9.   DosError := 0;
  10.   env := ptr(prefixseg, $2c);
  11.   P := 0;
  12.   WHILE MEM[env^ : P] <> 0 DO BEGIN
  13.     OK := TRUE;
  14.     FOR Q := 0 TO pred(ln) DO IF OK THEN
  15.       OK := chr(MEM[env^ : P + Q]) = Upcase(Name[succ(Q)]);
  16.     OK := OK AND (chr(MEM[env^:P + ln]) = '=');
  17.     IF OK THEN BEGIN
  18.       inc(P,succ(ln));
  19.       X := '';
  20.       WHILE MEM[env^ : P] <> 0 DO BEGIN
  21.         X:=X+chr(MEM[env^:P]);
  22.         inc(P)
  23.       END; { WHILE MEM }
  24.       environ := X;
  25.       EXIT;
  26.     END ELSE BEGIN
  27.       WHILE MEM[env^:P] <> 0 DO inc(P);
  28.       inc(P);
  29.     END; { ELSE IF ok }
  30.   END; { WHILE MEM }
  31.   DosError := 1;
  32.   Environ := '';
  33. END; { environ }
  34.