função gotoxy , ajuda em um programa ( PASCAL )

Bom dia a todos !! =D

Intao estou com um probleminha , no caso tenho uma menu , e tenho uma ‘Janelinha’ para digitar a opção desejada , ai ao selecionar a mensagem escreve em cima do texto do menu …
segue o codigo …

unit trabalhoAv2;

interface

uses crt;

    procedure menu();
       
implementation

procedure menu;
    var
        option: integer;

    begin
        while( option <> 6 ) do
        begin
        clrscr;
            writeln('=======================================================');
            writeln('+           LOCADORA INSERCTENTER                     +');
            writeln('=======================================================');
            writeln;
            writeln;
            writeln;
            writeln('====== SELECIONE UMA OPCAO ====== ');
            writeln('  [1] Cadastrar ' );
            writeln('  [2] Pesquisar filme ' );
            writeln('  [3] Alterar filme ' );
            writeln('  [4] Excluir filme ' );
            writeln('  [5] Listar filmes ' );
            writeln('  [6] Finalizar sistema ' );

            gotoxy (40,8);
            textcolor(red);

            gotoxy (40,9);
            writeln('==============');

            gotoxy (40,10);
            writeln('| OPCAO =    |' );

            gotoxy (40,11);
            writeln('==============');

            gotoxy (50,10);
            read(option);

        case (option) of
        //   1: cadastrar();
        //   2: pesquisarFilme();
        //   3: alterarFilme();
        //   4: excluirFilme();
        //   5: listarFilmes();
             6: begin
                gotoxy(10,40);
                textcolor(white);

                gotoxy(20,35);
                writeln('Finalizando  o sistema ...');
                end
        else
             writeln(' OPCAO INVALIDA ' );
             menu();
        end;
    end;
end;

end.

// agora o programa principal
program trabMain;
uses crt,trabalhoAv2;

begin
    clrscr;
    textbackground(lightgreen);
    menu();

    readkey;
    delay(500);
end.

Qualquer duvida estou on , =D agradeço ai pela ajuda ^^

Bom dia!

Tu não especificou qual o problema? … nesse site www.delphi.eti.br tá espumando de tutoriais bons.

O problema e q quando por exemplo digito la opcao 6 , o texto finalizando sistema … escreve em cima do menu e nao em baixo de tudo … ,
queira uma explicação o pq disso…