[Back to MISC SWAG index]  [Back to Main SWAG index]  [Original]


function MSCDEXFN : string;
var s : string;
    f : text;
    i : byte;
    fmSave : byte;
begin
  mscdexfn := '';                  { To indicate not found }
  fmSave := FileMode;              { Store the original file mode }
  FileMode := 0;                   { Also if read-only }
  Assign (f, 'r:\autoexec.bat');   { Browse the AUTOEXEC.BAT }
  {$I-} Reset (f); {$I+}
  if IOResult <> 0 then exit;      { AUTOEXEC.BAT not found }
  while not eof(f) do begin        { Line by line }
    readln (f, s);
    for i := 1 to Length(s) do s[i] := Upcase(s[i]);
    if Pos('MSCDEX', s) > 0 then begin      { Is this the line }
      if Pos ('REM', s) = 1 then continue;  { Skip rem lines }
      Close (f);
      FileMode := fmSave;          { Restore the original mode }
      i := Pos('/D:', s);          { Look for the switch }
      if i = 0 then exit;          { Nah! }
      i := i + 3;                  { Where the name should start }
      if i > Length(s) then exit;  { Nothing there! }
      s := Copy (s, i, 255);       { Rest of the line after /D: }
      mscdexfn := s;
      i := Pos (' ', s);
      if i = 0 then exit;
      mscdexfn := Copy (s, 1, i-1);
      exit;                        { Don't close twice }
    end; {if}
  end; {while}
  Close (f);
  FileMode := fmSave;              { Restore the original mode }
end; (* mscdexfn *)

   All the best, Timo

....................................................................
Prof. Timo Salmi   Co-moderator of news:comp.archives.msdos.announce
Moderating at ftp:// & http://garbo.uwasa.fi archives  193.166.120.5
Department of Accounting and Business Finance  ; University of Vaasa
ts@uwasa.fi http://uwasa.fi/~ts BBS 961-3170972; FIN-65101,  Finland


[Back to MISC SWAG index]  [Back to Main SWAG index]  [Original]