Jump to content

Não lê o primeiro readln


TJFBarreto
 Share

Recommended Posts

Boas,

Estou a realizar um programa de ficheiros.. e estou aqui com um erro que não sei o que se passa, já me estou a dar em doido com isto

Quando corro o programa, e fui para a secção que aqui vou meter, era suposto o cursor parar no readln da Tabela.Nome, mas não apenas aparece o writeln do nome e do bi e depois o readln da Tabela.BI, não sei o que se passa, tenho as variáveis bem declaradas..


gotoxy(36,5);textcolor(yellow);write('Inscriçao');
gotoxy(18,7);textcolor(10);write('Escreva o seu nome: ');
gotoxy(38,7);textcolor(11);readln(Tabela.Nome);
gotoxy(18,8);textcolor(10);write('Escreva o seu BI: ');
gotoxy(36,8);textcolor(11);readln(Tabela.BI);
gotoxy(18,9);textcolor(10);write('Escreva o nome da sua equipa: ');

http://img834.imageshack.us/img834/109/imgpv.png

Obrigado

Edited by TJFBarreto
Link to comment
Share on other sites

Possivelmente tens uma situação qualquer previa que não lê correctamente a tecla, e fica um <enter> no buffer de teclado. Quando entra aí, o <enter> é passado ao primeiro readln, fazendo-o passar directamente para o 2º readln;

Faz um teste:

Antes do código que mostraste, mete um readkey; ou um readln;

Se for o caso que eu suspeito, o programa ficará já a mostrar correctamente os teus readln's.

Isto não quer dizer é claro que o problema esteja resolvido. É só um remendo.

O ideal é ires ver à secção do programa que corre imediatamente antes desse ecrã, e veres se não tens lá alguma coisa tipo um repeat until keypressed sem um readkey executado logo depois....

"A humanidade está a perder os seus génios... Aristóteles morreu, Newton já lá está, Einstein finou-se, e eu hoje não me estou a sentir bem!"

> Não esclareço dúvidas por PM: Indica a tua dúvida no quadro correcto do forum.

Link to comment
Share on other sites

Para melhor vermos o que se passa, mostra-nos o trecho de código que conduz o programa ao bloco que aqui colocaste. Mas também aposto que seja algo relacionado com o que o @nunopicado disse.

btw, aconselho-te a teres cuidado com, pelo menos, duas coisas:

1) deixa espaço entre as várias instruções, pois isso parece tudo um emaranhado sem lógica, algo assim:

GotoXY(1,1);   TextColor(Yellow); Write('Assim é mais legível!');
GotoXY(10,45); TextColor(Red);    Write('E alinhar os códigos semelhantes ainda é melhor ;D');

2) parece-me que estás a usar e a abusar da unit crt: antes da beleza, procura simplicidade, funcionalidade e eficiência.

Cumprimentos 😉

Knowledge is free!

Link to comment
Share on other sites

Ao que o @nunopicado disse, tinha razão, passado algum tempo de por o tópico, fui experimentar por o readln; antes da instrução e ficou a funcionar.

@Thoga, claro isto é só para agora ver se tá a funcionar, depois no fim é que alinho todos os comandos, begin's, end's, etc..

Mais uma vez, obrigado.. 😄

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.