Witam!
- Gdzieś w poniższej procedurze jest błąd. Mianowicie wszystko poniżej ‘Wpisz’ włącznie, co powinno się wyświetlać, wyświetla się dopiero, gdy wprowadzę ten ‘zły klawisz’, a potem oczywiście po 1,5 sekundzie znika. Gdzie jest błąd.
Oto część programu:
procedure pokaznw;
var ww: char;
label lab1;
begin;
lab1:
najwyniki;
clrscr;
writeln(' LISTA NAJLEPSZYCH WYNIKÓW');
gotoxy(11,3);
write(' Ilość trafień dla poszczególnych liczb:');
gotoxy(1,4);
write('Login:');
gotoxy(15,4);
write('6:');
gotoxy(24,4);
write('5:');
gotoxy(33,4);
write('4:');
gotoxy(42,4);
write('3:');
gotoxy(51,4);
write('2:');
gotoxy(60,4);
write('1:');
gotoxy(69,4);
write('0:');
for i2:=1 to lbprof do
begin
gotoxy(1,5+i2);
write(i2,'. ', profil[i2].login);
gotoxy(15,5+i2);
write(profil[i2].traf6);
gotoxy(24,5+i2);
write(profil[i2].traf5);
gotoxy(33,5+i2);
write(profil[i2].traf4);
gotoxy(42,5+i2);
write(profil[i2].traf3);
gotoxy(51,5+i2);
write(profil[i2].traf2);
gotoxy(60,5+i2);
write(profil[i2].traf1);
gotoxy(69,5+i2);
write(profil[i2].traf0);
end;
ww:=readkey;
writeln;
writeln;
writeln;
writeln('Wpisz:');
writeln(' - "m" aby powrócić do menu,');
writeln(' - "q" aby wyjść z programu.');
case (ww) of
'm','M' : begin
if a1=0 then menugosc;
if a1>0 then menuzal;
end;
'q','Q' : wyjscie;
else begin
writeln('Zły klawisz. Spróbuj ponownie.');
delay(1500);
goto lab1;
end;
end;
end;
- Czy da się w jakiś sposób zazębić pętle, tak aby uniknąć konieczność stosowania kotwic? Pisząc zazębić mam na myśli np.:
repeat
…
repeat
…
until …(koniec pętli pierwszej )
…
until … (koniec pętli drugiej )
Z góry dzięki za odpowiedź.