home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / ECO30603.ZIP / ECO30603.LZH / ECOLIBCS / DEMOS / B2550.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1993-03-08  |  2.8 KB  |  98 lines

  1. {
  2.   a little program that changes the -Dega setting of the popular editor BRIEF 
  3.   so that you do not have to reboot, when you change between EGA and std lines.
  4.   Called by BS.BAT
  5. }
  6. uses
  7.   eco_lib, crt, dos
  8.  
  9.   ;
  10.  
  11.  
  12.  
  13.  
  14. var
  15.   dopurge  : boolean;
  16.   errlev,
  17.   purg     :    byte;
  18.   i        :    word;
  19.   st, bfl  :  string;
  20.   fin, fou :    text;
  21.   changed  : boolean;
  22.  
  23.  
  24.  
  25.   procedure help;
  26.   begin
  27.     writeln('B2550 by Floor A.C. Naaijkens.');
  28.     writeln(
  29.       'Adapts in AUTOEXEC.BAT the BFLAGS line',
  30.       ' by adding/removing the -Dega keyword.'
  31.     );
  32.     {writeln(
  33.       'It also changes the parent environment',
  34.       ' variable accordingly, effectively'
  35.     );}
  36.     writeln('It creates a batchfile s.bat that changes the environment.');
  37.     writeln('ensuring on-line switching...');
  38.     writeln(__rep(79, '─'));
  39.     writeln('No parameters needed. State is simply toggled. YOU MUST REBOOT!');
  40.     writeln
  41.   end;
  42.  
  43.  
  44. begin
  45.   __loginit; programname := 'B2550'; logfilename := '\B2550.LOG';
  46.   logheader[06] := '│ █            BRIEF 25 to 50 or back convertor            █ │';
  47.   logheader[07] := '│ █      Written by Floor A.C. Naaijkens for PZH/SO.       █ │';
  48.   logheader[10] := '│   All material is protected and licensed.  Version 1.01    │';
  49.   __logapp(' Started on ' + __todaystr(true)); { full e.g. wednesday }
  50.   dopurge := __inparams('/purge', i);
  51.   if dopurge then begin purg := __str(paramstr(i)); __setpurge(purg) end else
  52.     __setpurge(255);
  53.   if __inparams('/?', i) then help;
  54.  
  55.   assign(fin, 'c:\autoexec.bat'); reset(fin);
  56.   assign(fou, 'c:\tempauto.$$$'); rewrite(fou);
  57.  
  58.  
  59.   {EERST MAAR ENV LEZEN, EN CHANGE, DAN IF NEED BE ALTER AUTOEXEC.BAT}
  60.  
  61.   readln(fin, st);
  62.   while not(eof(fin) or (pos('BFLAGS', __up(st)) > 0)) do begin
  63.     writeln(fou, st); readln(fin, st);
  64.   end;
  65.   changed := false; errlev := 2;
  66.   { either eof or st found }
  67.   if not(eof(fin)) then begin
  68.     i := pos('-DEGA', __up(st));
  69.     if (i > 0) then begin
  70.       delete(st, i-1, 6);
  71.       __logapp('Set from 50 to 25 line mode.'); errlev := 1;
  72.       writeln('50 > 25'); bfl := st; changed := true;
  73.     end else begin
  74.       st := st + ' ' + '-Dega';
  75.       __logapp('Set from 25 to 50 line mode.'); errlev := 0;
  76.       writeln('25 > 50'); bfl := st; changed := true;
  77.     end;
  78.   end else writeln(fou, st);
  79.   { copy rest of autoexec.bat }
  80.   repeat
  81.     writeln(fou, st);
  82.     readln(fin, st);
  83.   until eof(fin);
  84.   writeln(fou, st);
  85.   close(fin); close(fou);
  86.   erase(fin); rename(fou, 'c:\autoexec.bat');
  87.   if changed then begin
  88.     __putenutl(bfl);
  89.     assign(fou, 's.bat'); rewrite(fou);
  90.     writeln(fou, '@echo off');
  91.     writeln(fou, bfl);
  92.     close(fou);
  93.   end;
  94.   writeln('door Floor.  <WIDE GRIN>');
  95.   __logapp(' END RUN B2550'); __logapp('');
  96.   halt(errlev);
  97. end.
  98.