История изменений
Исправление AntonyRF, (текущая версия) :
-
Лучше спросить на форуме паскаля
-
Если у тебя есть одинаковые блоки в программе, то ты их можешь вынести в отдельные функции. Код сократиться и мест где ты можешь накосячить станет меньше. Даже если в твоей функции 3 строчки, это лучше чем вот такая твоя портянка, которую ни кто читать не хочет. Вникать и тратить время всем тупо лень, а у тебя может зачет горит.
-
Так же там все сильно зависит от версии паскаля, что там у тебя, турбо паскаль, lazarus, borland pascal, ABC или еще черт знает что. Но грубо говоря должен помочь код приведенный ниже или гугли про hook key in pascal.
Function КакТыТамНазватьЭтуФункциюХочешь;
var
esc_pressed: Boolean;
c: Char;
begin
esc_pressed = false;
while not esc_pressed do
begin
{ Если клавиша не нажата, то }
while not KeyPressed do
UpdateScreen; { Тут можешь свою анимацию рисовать}
{ Иначе узнай что там там за код кнопки }
c:=ReadKey;
{ Переменную с можешь сравнивать уже с чем хочешь, с кодами стрелок или с esc, а потом прыгай в начало функции }
if c = #27 then esc_pressed = true;
end;
end;
Исправление AntonyRF, :
-
Лучше спросить на форуме паскаля
-
Если у тебя есть одинаковые блоки в программе, то ты их можешь вынести в отдельные функции. Код сократиться и мест где ты можешь накосячить станет меньше. Даже если в твоей функции 3 строчки, это лучше чем вот такая твоя портянка, которую ни кто читать не хочет. Вникать и тратить время всем тупо лень, а у тебя может зачет горит.
-
Так же там все сильно зависит от версии паскаля, что там у тебя, турбо паскаль, lazarus, borland pascal, ABC или еще черт знает что. Но грубо говоря должен помочь код приведенный ниже или гугли про hook key in pascal.
Function КакТыТамНазватьЭтуФункциюХочешь;
var
esc_pressed: Boolean;
c: Char;
begin
esc_pressed = false;
while not esc_pressed do
begin
{ Если клавиша не нажата, то }
while not keypressed do
UpdateScreen; { Тут можешь свою анимацию рисовать}
{ Иначе узнай что там там за код кнопки }
c:=ReadKey;
{ Переменную с можешь сравнивать уже с чем хочешь, с кодами стрелок или с esc, а потом прыгай в начало функции }
if c = #27 then esc_pressed = true;
end;
end;
Исходная версия AntonyRF, :
-
Лучше спросить на форуме паскаля
-
Если у тебя есть одинаковые блоки в программе, то ты их можешь вынести в отдельные функции. Код сократиться и мест где ты можешь накосячить станет меньше. Даже если в твоей функции 3 строчки, это лучше чем вот такая твоя портянка, которую ни кто читать не хочет. Вникать и тратить время всем тупо лень, а у тебя может зачет горит.
-
Так же там все сильно зависит от версии паскаля, что там у тебя, турбо паскаль, lazarus, borland pascal, ABC или еще черт знает что. Но грубо говоря должен помочь код приведенный ниже или гугли про hook key in pascal.
Function КакТыТамНазватьЭтуФункциюХочешь;
begin
while not esc_pressed do
begin
{ Если клавиша не нажата, то }
while not keypressed do
UpdateScreen; { Тут можешь свою анимацию рисовать}
{ Иначе узнай что там там за код кнопки }
c:=ReadKey;
{ Переменную с можешь сравнивать уже с чем хочешь, с кодами стрелок или с esc, а потом прыгай в начало функции }
if c = #27 then esc_pressed = true;
end;
end;