Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Case символьный выбор

Автор: Pirate 13.12.2007 1:23


begin
ch:=readkey;
case ch of
chr(49):
begin
clrscr;
create_new_base_file;
end;
chr(50):
begin
clrscr;
output_all_records;
end;
chr(51):
begin
clrscr;
otcet;
end;
chr(52):begin
clrscr;
add_records_in_the_end;
end;
chr(53):ch:=chr(27);
end;
writeln;
writeln('---------------------------Executed. <ENTER>----------------');
readln;
clrscr;
end;
until (ch=chr(27));
end.



А как сделать чтобы символы кроме тех что есть в Case не выводились?
Чтобы выборка производилась по тем символам которые я указал

Автор: Malice 13.12.2007 2:03

Пример неправильного форматирования..

Цитата(Pirate @ 12.12.2007 21:23) *


begin
ch:=readkey;
case ch of
chr(49): begin clrscr; create_new_base_file; end;
chr(50): begin clrscr; output_all_records; end;
chr(51): begin clrscr; otcet; end;
chr(52):begin clrscr; add_records_in_the_end; end;
chr(53): ch:=chr(27);
end;
writeln;
writeln('---------------------------Executed. <ENTER>----------------');
readln;
clrscr;
end; <---- А к чему теперь этот энд ?
until (ch=chr(27)); <--- де таки репит ?
end.



Приводи полный код.. А вообще попробуй поставить в Case дополнительное условие типа:
Цитата
case ch of
chr(49): begin clrscr; create_new_base_file; end;
chr(50): begin clrscr; output_all_records; end;
chr(51): begin clrscr; otcet; end;
chr(52):begin clrscr; add_records_in_the_end; end;
chr(53): ch:=chr(27)
else continue;
end;

Автор: Lapp 13.12.2007 13:17

Цитата(Pirate @ 12.12.2007 21:23) *

А как сделать чтобы символы кроме тех что есть в Case не выводились?
Чтобы выборка производилась по тем символам которые я указал

Не совсем понятно, что ты имеешь в виду. Может, чтобы при нажатии на другие (незадействованные) символы не было никакой реакции? Если да, то заключи свой case в цикл:
repeat
Flag:=true;
ch:=ReadKey;
case ch of
'1': ...
'2': ...
...
else Flag:=false
end
until Flag;