[Back to MENU SWAG index] [Back to Main SWAG index] [Original]
program asci_puldown;
uses crt;
var
  x,y,p    :integer;
  ay       :byte;
  ch       :char;
procedure ascihor(x,y :byte;aantal :integer;character,color :byte);
begin
  textcolor(color);gotoxy(x,y);
  for p :=1 to aantal do write(chr(character));
end;
procedure asci_tekst(x,y :byte;str :string;color,back_color : Byte);
begin
  textbackground(back_color);
  textcolor(color);
  gotoxy(x,y);write(str);
  textbackground(0);
end;
procedure menu;
const
  afspr :array[1..6] of string[12] =
          ('INVOER','WIJZIGEN','OVERZICHT','SORTEREN','PRINTEN','EXIT');
label start;
begin
  textcolor(3);
  gotoxy(26,6);write('Ú');write('ÄÄÄÄÄÄÄÄÄÄÄÄÄ');write('¿');
  for p :=7 to 12 do begin
    gotoxy(26,p);write('³');
    gotoxy(40,p);write('³');
  end;
  gotoxy(26,13);write('À');write('ÄÄÄÄÄÄÄÄÄÄÄÄÄ');write('Ù');
  for y :=1 to 6 do asci_tekst(28,y+6,afspr[y],6,0);
  ascihor(27,7,13,219,7);asci_tekst(28,7,afspr[1],0,7);
  ay :=7;
  start:
  repeat
    ch :=readkey;
    if ch =#80 then begin
      ascihor(27,ay,13,219,0);asci_tekst(28,ay,afspr[ay-6],6,0);
      inc(ay);if ay =13 then ay :=7;
      ascihor(27,ay,13,219,7);asci_tekst(28,ay,afspr[ay-6],0,7);
    end;
    if ch =#72 then begin
      ascihor(27,ay,13,219,0);asci_tekst(28,ay,afspr[ay-6],6,0);
      dec(ay);if ay =6 then ay :=12;
      ascihor(27,ay,13,219,7);asci_tekst(28,ay,afspr[ay-6],0,7);
    end;
  until ch in[#13];
  if ay =7 then begin end;
  if ay =8 then begin end;
  if ay =9 then begin end;
  if ay =10 then begin end;
  if ay =11 then begin end;
  if ay =12 then halt;
  goto start;
end;
begin
  clrscr;
  menu;
end.
[Back to MENU SWAG index] [Back to Main SWAG index] [Original]