![]() |
1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!
![]() |
Soxatyi |
![]()
Сообщение
#1
|
Гость ![]() |
Такая проблема. Необходимо вставить паузу в цикл, т.е. если во время выполнения цикла я нажал любую клавишу, то программа останавливается на 2 сек., а потом цикл продолжается. Приведу простой ппример:
program delay_key; Здесь такая бага: после одного нажатия клавиши программа дальше всегда вставляет паузу, т.е. сменив значение keypressed на TRUE, она при следующем проходе цикла так и оставляет это значение. Нужно, чтобы от одного нажатия пауза вставлялась один раз. Если я потом опять нажал на кнопку, то пауза опять вставится, и т.д. По логике, в if..then после длинного delay надо впихнуть что-то вроде keypressed:=FALSE (ибо keypressed суть boolean), но выдается ошибка 122. Что делать? |
![]() ![]() |
volvo |
![]()
Сообщение
#2
|
Гость ![]() |
Цитата По логике, в if..then после длинного delay надо впихнуть что-то вроде keypressed:=FALSE (ибо keypressed суть boolean), но выдается ошибка 122. Ага, прямо сейчас Паскаль даст тебе присвоить функции логическое значение... KeyPressed это все же функция ...Цитата Что делать? После Delay чистить буфер клавиатуры:repeat; ... и при следующем вызове KeyPressed она проверит буфер, он пуст и KeyPressed вернет значение False... |
![]() ![]() |
![]() |
Текстовая версия | 2.08.2025 15:15 |