Aceitar Só Números e Limitar a Quantidade de Números em Pascal

Com a dúvida de um leitor eu resolvi fazer uma versão completa para que ao receber um dado numérico, só aceite números e que tenha um limite de números.

Isso é muito bem aplicado, pois em um programa Pascal se você inserir uma letra em um programa que estava esperando um número o programa será interrompido.

Não descobri ainda uma solução simples, pois o controle tem de ser total do programa.

Pascal Numeros Limite

É claro que podemos colocar esse programa em uma função que facilita bastante em aplicações maiores.

Alguns já vão dizer: Para que tanto esforço para uma coisa dessas em Pascal?

Eu explico que: Esse programa é aplicado a várias outras liguagens de programação e é pela própria origem dos objetos do Windows.

Vamos ao programa:

 Program NUMERO_LIMITADO;  
 Uses Crt;  
 Const  
  algarismos = ['0'..'9'];  
  backspace = chr(8);  
  enter = chr(13);  
 Var  
  tecla : Char;  
  resultado : String;  
  digitos : Byte;  
  numero : Integer;  
  erro : Integer;  
 Begin  
  ClrScr;  
  resultado := '';  
  Write ('Entre com um numero de 6 digitos:');  
  digitos := 0;  
  repeat  
   repeat  
    tecla := ReadKey;  
   until (tecla in algarismos) or (tecla=backspace) or (tecla=Enter);  
   if digitos < 6 then  
   if (tecla in algarismos) then  
   Begin  
    resultado := resultado + tecla;  
    Write (tecla);  
    digitos := digitos + 1;  
   End;  
   if (tecla = Backspace) then  
   Begin  
    if (digitos > 0) then  
    Begin  
     gotoXY (wherex-1,wherey);  
     clreol;  
     delete(resultado,Length(resultado),1);  
     digitos := digitos - 1;  
    End;  
   End;  
  until (digitos = 6) and (tecla = Enter);  
  WriteLn;  
  WriteLn ('Resultado:',Resultado);  
  ReadLn;  
 End.  

Qualquer dúvida entre em contato.

Nenhum comentário:

Postar um comentário