procedure senden;

label     neuesdir, exit;

var       key   : char;
          i     : integer;

begin

   clrscr;  gotoxy ( 0 , 1 );
   writeln ( ' Zeiger bewegen : b/B = zurueck      <space> = vorwaerts' );
   writeln;
   writeln ( ' Operationen    : t/T = toggle       d/D = neues Directory' );
   writeln ( '                  c/C = Uebertragen  q/Q = zurueck zum Hauptmenue' );
neuesdir:
   for i := lvoben to lvoben + 15 do
      begin
      gotoxy ( 1 , i );
      clreol;
      end;
   dirlesen;
   if filez <> 0
   then begin
        seiten := filez > 60;
        offset := 1;
        ptr    := 1;
        if seiten then list2
                  else list1;
        decptr;
        end
   else begin
        commandzeile;
        write ( '  NO FILES FOUND ( weiter mit q/Q oder d/D )' );
        commandzeile;
        repeat
           repeat until keypressed;
           key := chr ( bdos ( 6 , 255 ));
           case key of
           'd','D' : goto neuesdir;
           'q','Q' : goto exit;
           else    falschein;
           end;
        until key in ['q','Q'];
        end;
   repeat
      repeat until keypressed;
      key := chr ( bdos ( 6 , 255 ));

      case key of
      't','T' : begin
                inhalt[(ptr + offset) mod (filez +1)].flag :=
                not ( inhalt[(ptr + offset) mod (filez +1)].flag );
                pos ( ptr , 17 );
                if inhalt[(ptr + offset) mod (filez +1)].flag
                   then write ( '*' )
                   else write ( ' ' );
                incptr;
                end;
      'b','B' : decptr;
      ' '     : incptr;
      'd','D' : goto neuesdir;
      'c','C' : copieren;
      'q','Q' : ;
      else    falschein;
      end;

   until key in ['q','Q'];
  exit: ;
end; { senden }
