1
resposta

A tela MODULO - INCLUSAO está sobrepondo a tela de MENU

Olá Ivan, tudo bem?

Eu revisei a minha codificação e não encontrei nada de errado. Quando eu processo o programa, gera o MENU, sem problemas, mas quando eu digito a opção 1, a tela MODULO - INCLUSAO sobrepôe a tela MENU, conforme abaixo:

Estou enviando a minha codificação. Obrigado.

Insira aqui a descrição dessa imagem para ajudar na acessibilidade

   IDENTIFICATION DIVISION.
   PROGRAM-ID. CLIENTES.
  ******************************************
  * OBJETIVO: SISTEMA DE GESTAO DE CLIENTES.
  * AUTHOR: LUCIANO OLIVEIRA.
  ******************************************
   ENVIRONMENT DIVISION.
   INPUT-OUTPUT SECTION.
   FILE-CONTROL.
      SELECT CLIENTES ASSIGN TO 'C:\COBOL\CLIENTES.DAT'
       ORGANIZATION IS INDEXED
       ACCESS MODE IS RANDOM
       FILE STATUS IS CLIENTES-STATUS
       RECORD KEY  IS CLIENTES-CHAVE.
   DATA DIVISION.
   FILE SECTION.
   FD CLIENTES.
   01 CLIENTES-REG.
      05 CLIENTES-CHAVE.
          10 CLIENTES-FONE PIC 9(09).
      05 CLIENTES-NOME     PIC X(30).
      05 CLIENTES-EMAIL    PIC X(40).

   WORKING-STORAGE SECTION.
   77 WRK-OPCAO  PIC X(01).
   77 WRK-MODULO PIC X(25).
   77 WRK-TECLA  PIC X(01).
   77 CLIENTES-STATUS PIC 9(02).

   SCREEN SECTION.
   01 TELA.
      05 LIMPA-TELA.
          10 BLANK-SCREEN.
          10 LINE 01 COLUMN 01  PIC X(20) ERASE EOL
             BACKGROUND-COLOR 3.
          10 LINE 01 COLUMN 25 PIC X(20)
             BACKGROUND-COLOR 3 FOREGROUND-COLOR 0
             FROM 'SISTEMA DE CLIENTES '.
          10 LINE 02 COLUMN 01  PIC X(25) ERASE EOL
             BACKGROUND-COLOR 1 FROM WRK-MODULO.

   01 MENU.
      05 LINE 07 COLUMN 15 VALUE '1 - INCLUIR'.
      05 LINE 08 COLUMN 15 VALUE '2 - CONSULTAR'.
      05 LINE 09 COLUMN 15 VALUE '3 - ALTERAR'.
      05 LINE 10 COLUMN 15 VALUE '4 - EXCLUIR'.
      05 LINE 11 COLUMN 15 VALUE '5 - RELATORIO'.
      05 LINE 12 COLUMN 15 VALUE 'X - SAIDA'.
      05 LINE 13 COLUMN 15 VALUE 'OPCAO......: '.
      05 LINE 13 COLUMN 28 USING WRK-OPCAO.

   01 TELA-REGISTRO.
      05 CHAVE FOREGROUND-COLOR 2.
         10 LINE 10 COLUMN 10 VALUE 'TELEFONE '.
         10 COLUMN PLUS 2 PIC 9(09) USING CLIENTES-FONE
            BLANK WHEN ZEROS.

      05 SS-DADOS.
         10 LINE 11 COLUMN 10 VALUE 'NOME.... '.
         10 COLUMN PLUS 2 PIC X(30) USING CLIENTES-NOME.
         10 LINE 12 COLUMN 10 VALUE 'EMAIL... '.
         10 COLUMN PLUS 2 PIC X(40) USING CLIENTES-EMAIL.





   PROCEDURE DIVISION.

   0000-PRINCIPAL SECTION.
       PERFORM 1000-INICIAR.
       PERFORM 2000-PROCESSAR.
       PERFORM 3000-FINALIZAR.
       STOP RUN.

   1000-INICIAR.
       OPEN I-O CLIENTES.
           IF CLIENTES-STATUS = 35 THEN
               OPEN OUTPUT CLIENTES
               CLOSE CLIENTES
               OPEN I-O CLIENTES
           END-IF.
               
       DISPLAY TELA.
       ACCEPT MENU.

   2000-PROCESSAR.
       EVALUATE WRK-OPCAO
         WHEN 1
           PERFORM 5000-INCLUIR
         WHEN 2
           CONTINUE
         WHEN 3
           CONTINUE
         WHEN 4
           CONTINUE
         WHEN 5
           CONTINUE
         WHEN OTHER
           IF WRK-OPCAO EQUAL 'X'
              DISPLAY 'ENTRE COM A OPCAO CORRETA'
           END-IF
       END-EVALUATE.


   3000-FINALIZAR.
       CLOSE CLIENTES.

   5000-INCLUIR.
       MOVE 'MODULO - INCLUSAO ' TO WRK-MODULO.
       DISPLAY TELA.
       ACCEPT TELA-REGISTRO.
         WRITE CLIENTES-REG.
         DISPLAY TELA.
         ACCEPT MENU.

Garanta sua matrícula hoje e ganhe + 2 meses grátis

Continue sua jornada tech com ainda mais tempo para aprender e evoluir

Quero aproveitar agora
1 resposta

E aí!

Parece que o problema de a tela de inclusão estar se sobrepondo à tela do MENU pode ser porque você não tá limpando a tela antes de exibir o módulo de inclusão.

Então, pra resolver isso, a dica seria adicionar uma linha de código antes de mandar o "DISPLAY TELA" lá no parágrafo 5000-INCLUIR. Bota essa linha aí:

MOVE SPACES TO TELA-REGISTRO

Essa instrução vai dar um jeito de limpar os campos da tela de inclusão antes de mostrá-la, evitando que ela se sobreponha à tela MENU.

Dá uma testada e vê se resolve. Se precisar de mais alguma coisa, tamo aí!