TJFBarreto Posted June 18, 2012 at 02:24 PM Report Share #463657 Posted June 18, 2012 at 02:24 PM (edited) 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 June 18, 2012 at 02:25 PM by TJFBarreto Link to comment Share on other sites More sharing options...
nunopicado Posted June 18, 2012 at 04:05 PM Report Share #463700 Posted June 18, 2012 at 04:05 PM 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 More sharing options...
thoga31 Posted June 18, 2012 at 05:09 PM Report Share #463739 Posted June 18, 2012 at 05:09 PM 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 More sharing options...
TJFBarreto Posted June 18, 2012 at 05:49 PM Author Report Share #463766 Posted June 18, 2012 at 05:49 PM 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 More sharing options...
thoga31 Posted June 18, 2012 at 06:02 PM Report Share #463774 Posted June 18, 2012 at 06:02 PM Mas olha que esse readln não é mais do que um remendo, pelo que não é a solução óptima, bem pelo contrário. E deve-se indentar o código como deve ser logo desde o início 😉 Knowledge is free! Link to comment Share on other sites More sharing options...
passarito Posted June 18, 2012 at 06:32 PM Report Share #463787 Posted June 18, 2012 at 06:32 PM O Thoga31 tem razão, indentar não é só para ficar bonito... é nos orientarmos no meio do código! Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now