No wiec napisalem program (a raczej jego poczatek...) i mam problem...
Oto program:
program nazwa;
uses crt;
var znak:char;
begin
clrscr;
writeln(chr(7));
writeln('powitanie');
repeat until keypressed;
clrscr;
writeln('costam, costam');
gotoXY(20,10);
writeln('pytanie');
gotoXY(20,11);
writeln('ENTER - tak');
gotoXY(20,12);
writeln('ESC - nie');
repeat
znak:=readkey;
until (znak=#13) or (znak=#27);
if znak=#13 then
writeln('blabla1');
if znak=#27 then
writeln('blabla2');
repeat until keypressed;
end.
Problem polega na tym, ze po wcisnieciu ENTER (#13) powinien wystapic napis "blabla1", a po wcisnieciu ESCAPE (#27) napis "blabla2"... Tymczasem tak sie nie dzieje (ekhem, czesciowo) :(. Poczatek programu dziala i wszystko jest tak jak powinno - wyswietla sie napis "powitanie" i czeka na wcisniecie jakiegos klawisza. I tu pojawia sie problem! Po wcisnieciu klawisza powinny pojawic sie napisy: "pytanie", "ENTER - tak", "ESC - nie", a nastepnie czekac na wcisniecie klawisza ENTER lub ESC, po czym wyswietlic napis "blabla1" dla ENTERa lub "blabla2" dla ESCapea. I owszem - napisy: "pytanie", "ENTER - tak", "ESC - nie" pojawiaja sie, ale pojawia sie takze od razu "blabla1" jesli wczesniej wcisnalem ENTER lub "blabla2" jesli wczesniej wcisnalem ESC! A tak nie ma byc - powinny tylko wyswietlic sie napisy: "pytanie", "ENTER - tak", "ESC - nie", a "blabla1" dopiero wtedy, gdy drugi raz (jesli po "powitaniu" wcisnalem ENTER) wcisne ENTER. O to samo chodzi z ESCape
m! Powinny tylko wyswietlic sie napisy: "pytanie", "ENTER - tak", "ESC - nie", a "blabla2" dopiero wtedy, gdy drugi raz (jesli po "powitaniu" wcisnalem ENTER) wcisne ENTER. Co sie dzieje?... Blagam, pomozcie!