Authorization

program PathConfig;{'Введите h для помощи'}
uses DOS,CRT;
label beg;
var
 path:array [1..6] of string;
 pc:char;
 p:string;
 bat:text;
begin
 assign(bat,'autoconf.bat');
 rewrite(bat);
 write(bat,'path ');
 writeln('Введите h для помощи');
 while pc <> 'e' do begin
 readln(pc);
 case pc of
 'H','h':begin
          writeln('n - Norton Commander');
          writeln('v - Volkov Commander');
          writeln('u - Norton Utilites');
          writeln('f - FOTON');
          writeln('l - LEXICON');
          writeln('o - other');
          writeln('e - exit')
         end;
 'N','n':begin
          write('Введите полный путь для программы NC:');
          readln(p);
          write(bat,p,';');
         end;
 'V','v':begin
          write('Введите полный путь для программы VC:');
          readln(p);
          write(bat,p,';');
         end;
 'U','u':begin
          write('Введите полный путь для программы NU:');
          readln(p);
          write(bat,p,';');
         end;
 'F','f':begin
          write('Введите полный путь для программы FOTON:');
          readln(p);
          write(bat,p,';');
         end;
  'L','l':begin
          write('Введите полный путь для программы LEXICON:');
          readln(p);
          write(bat,p,';');
         end;
 'O','o':begin
          write('Введите полный путь для программы:');
          readln(p);
          write(bat,p,';');
         end;
 end;
 end;
close(bat);
end.

program dosmenu;
uses crt;
var
  key:char;
  y,i,s:integer;
const
  menu:array [1..5] of string = ('1)Item','2)Item','3)Item','4)Item','5)Quit');
begin
  textbackground(0);
  y := 1;
  clrscr;
  gotoxy(1,1);
  for i := 1 to 5 do writeln(menu[i]);
  gotoxy(0,1);
  repeat
    textbackground(7);
    window(1,y,7,y);
    textcolor(white);
    clrscr;
    write(menu[y]);
    key := readkey;
    case key of
      'q':if y > 1 then
                      begin
                       textbackground(0);
                       clrscr;
                       gotoxy(1,y);
                       write(menu[y]);
                       dec(y);
                     end;
     'a':if y < 5 then
                     begin
                       textbackground(0);
                       clrscr;
                       gotoxy(1,y);
                       write(menu[y]);
                       inc(y);
                    end;
     #13:s := y;
     #27:s := 5;
    end
  until s = 5;
end.

program dosinfo;
uses windos,dos;
var
 f:text;
 h,m,s,hund,y,mon,d,dow:word;
begin
 assign(f,'dosinfo.inf');
 rewrite(f);
 getdate(y,mon,d,dow);
 writeln(f,'Report from ',d,'.',mon,'.',y);
 writeln(f,'Dos version - ',lo(dosversion),'.',hi(dosversion));
 gettime(h,m,s,hund);
 writeln(f,'Dos time - ',h,':',m);
 close(f);
end.

program frame;
uses crt;
var
  x:byte;
  key:char;
begin
  clrscr;
  textbackground(blue);
  textcolor(white);
  clrscr;
  x := 1;
  gotoxy(3,1);
  for x := 2 to 78 do begin
                        gotoxy(x,1);
                        write(chr(205));
                        gotoxy(x,25);
                        write(chr(205));
                      end;
  gotoxy(1,1);
  write(chr(201));
  gotoxy(79,1);
  write(chr(187));
  gotoxy(1,25);
  write(chr(200));
  gotoxy(79,25);
  write(chr(188));
  for x := 2 to 24 do begin
                        gotoxy(1,x);
                        write(chr(186));
                        gotoxy(79,x);
                        write(chr(186));
                      end;
  gotoxy(35,1);
  write('The frame');
  textbackground(7);
  window(34,15,42,16);
  clrscr;
  textbackground(green);
  window(35,14,43,15);
  clrscr;
  write('   OK');
  repeat key := readkey until key = #13;
  textbackground(blue);
  window(30,13,50,16);
  clrscr;
  textbackground(green);
  window(34,15,42,16);
  clrscr;
  write('   OK');
  delay(10000);
end.