Форум программистов, компьютерный форум, киберфорум
Наши страницы
Pascal (Паскаль)
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
Zibyo
4 / 4 / 3
Регистрация: 21.06.2013
Сообщений: 23
Завершенные тесты: 1
1

После перехода по метке код не ждет ввода символа

20.02.2014, 09:05. Просмотров 905. Ответов 5
Метки нет (Все метки)

Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
PROCEDURE Vvod;
var sym:char;
label m1;
begin
fch:=50;
m1: WriteLn('Частота f=',fch);
Writeln('Нажмите клавишу "Esc", если хотите изменить значение.В противном случае любую другую клавишу.');
sym:=readkey;
   if Sym = #27 then
   begin
      clrscr;
      Write(Введите частоту f='); Readln(fch);
      goto m1
   end;
end;
Почему после перехода по метке он не ждет чтобы ввели символ. И как сделать так чтобы ждал? HELP PLS Пробовал Keypressed поставить все равно ничего не получилось.
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
20.02.2014, 09:05
Ответы с готовыми решениями:

Программа не ждет ввода k
Программу писал на обычном Pascal.ABC, но у .NET есть возможность создавать...

Дано 2 символа. Верно ли, что код только одного символа кратен 3
помогите решить задачу: дано 2 символа. верно ли , что код только одного...

Даны три символа. Верно ли, что код ни одного символа не является большой русской буквой
даны три символа. верно ли, что код ни одного символа не является большой...

Неправильно работает код: сначала ждет ввода обоих значений, и только потом выдает ответ
я написал код, ошибок в коде нет, но компилируется не правильно.Скажите как...

Правильное указание безусловного перехода по метке (команда GOTO)
Здравствуйте. Есть такая конструкция: set /p log=<logfile.log set /a...

5
Puporev
Модератор
54585 / 42091 / 29061
Регистрация: 18.05.2008
Сообщений: 99,290
20.02.2014, 09:15 2
У меня без процедуры все работает
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
var sym:char;
    fch:integer;
label m1;
begin
fch:=50;
m1: WriteLn('Г—Г*ñòîòГ* f=',fch);
Writeln('ГЌГ*æìèòå ГЄГ«Г*ГўГЁГёГі "Esc", åñëè õîòèòå èçìåГ*ГЁГІГј Г§Г*Г*Г·ГҐГ*ГЁГҐ.Г‚ ïðîòèâГ*îì ñëó÷Г*ГҐ ëþáóþ äðóãóþ ГЄГ«Г*ГўГЁГёГі.');
sym:=readkey;
if Sym = #27 then
 begin
  clrscr;
  Write('Ââåäèòå Г·Г*ñòîòó f=');
  Readln(fch);
  goto m1
 end;
end.
1
Zibyo
4 / 4 / 3
Регистрация: 21.06.2013
Сообщений: 23
Завершенные тесты: 1
20.02.2014, 09:23  [ТС] 3
А у меня почему-то один раз Esc работает, а второй раз программа прерывается. Может быть в Pascal ABC дело?
0
Puporev
Модератор
54585 / 42091 / 29061
Регистрация: 18.05.2008
Сообщений: 99,290
20.02.2014, 09:47 4
Лучший ответ Сообщение было отмечено Zibyo как решение

Решение

Так это 1 раз будет работать. Когда считываете значение, нажимаете Enter, а это другая клавиша, не Esc

Добавлено через 7 минут
Нужно использовать символьные клавиши, например
Pascal
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
uses crt;
var sym:char;
    fch:integer;
label m1;
begin
fch:=50;
m1: WriteLn('Частота f=',fch);
Writeln('Нажмите клавишу "r", если хотите изменить значение.В противном случае любую другую клавишу.');
readln(sym);
if Sym = 'r' then
 begin
  clrscr;
  Write('Введите частоту f=');
  Readln(fch);
  goto m1
 end;
end.
1
Zibyo
4 / 4 / 3
Регистрация: 21.06.2013
Сообщений: 23
Завершенные тесты: 1
20.02.2014, 10:07  [ТС] 5
Хорошо, спасибо видимо придется как вы написали сделать. Хотя хотел через enter или esc сделать.
0
Puporev
Модератор
54585 / 42091 / 29061
Регистрация: 18.05.2008
Сообщений: 99,290
20.02.2014, 10:11 6
Цитата Сообщение от Zibyo Посмотреть сообщение
Хотя хотел через enter или esc сделать.
через readkey не получится, поскольку нужно нажимать enter для чтения значений.
Если ничего не читать,а только передавать команды клавишами, то пожалуйста
1
20.02.2014, 10:11
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
20.02.2014, 10:11

После ввода текста и перехода на другую ячейку excel вылетает
win 7, office 2013. При попытке создать новый документ, после ввода текста и...

QtCreaotor: автозаполнение начинается только после ввода 3-го символа, где настроить, чтобы было после 1-го?
ну собственно сабж... Во время написания кода меню с вариантами подстановки...

Повтор программы после ввода символа
На форуме уже данная тема была, но не один из примеров приведенных в ней не...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru