Выход из программы по нажатию клавиши - PascalABC.NET
Формулировка задачи:
Окно почему-то не считывает нажатие клавиши, и все продолжает выполнятся. Как можно исправить?
Решение задачи: «Выход из программы по нажатию клавиши»
textual
Листинг программы
uses graphABC; var t: Boolean; procedure KeyPress(key:char); begin if key<>#0 then t:=false; end; var i, n, a,j: Integer; K, B: Array[1..3000] of Integer; C: Array[1..3000] of Color; begin t:=true; randomize; LockDrawing; onkeypress:=KeyPress; while t do begin for j := 1 to 3000 do begin K[j] := random(0,700); B[j] := random(0,700); C[j] := rgb(random(255), random(255), random(255)); end; for n := 1 to 100 do begin i := 1; a := random(-100, 300); while (i<800)and t do begin i:=i+4; clearwindow(clblack); for j := 1 to 3000 do putpixel(K[j], B[j], C[j]); setbrushcolor(clDarkGray); Ellipse(-100 + i, 120 + a, 50 + i, 200 + a); setbrushcolor(clLightBlue); setpencolor(clLightBlue); Pie(-25 + i, 160 + a, 50, 0, 180); setpencolor(clDarkGray); setpenwidth(9); line(-70 + i, 192 + a, -80 + i, 230 + a); line(-36 + i, 200 + a, -36 + i, 235 + a); line(18 + i, 192 + a, 28 + i, 230 + a); sleep(1); Redraw; end; end; end; end.
Объяснение кода листинга программы
- Объявлены переменные: t (логическое), i, n, a (целые), K, B, C (массивы), j (неизвестное).
- Установлен обработчик события нажатия клавиши (KeyPress).
- Задана начальная установка графического окна (LockDrawing).
- Задана начальная установка цвета кисти и пера (rgb(random(255), random(255), random(255))).
- Задана начальная установка координат для рисования (0,0).
- Задана циклическая смена цвета кисти и пера (Ellipse, Pie, line).
- Задана циклическая смена координат для рисования (Pie).
- Задана циклическая смена цвета кисти и пера (setbrushcolor, setpencolor).
- Задана циклическая смена толщины пера (setpenwidth).
- Задана циклическая смена цвета фона (clblack).
- Задана циклическая смена способа рисования (clearwindow).
- Задана циклическая смена прозрачности (sleep).
- Задана циклическая смена способа рисования (Redraw).
- Задана циклическая смена цвета фона (clDarkGray).
- Задана циклическая смена координат для рисования (Ellipse).
- Задана циклическая смена цвета фона (clLightBlue).
- Задана циклическая смена цвета кисти и пера (setbrushcolor, setpencolor).
- Задана циклическая смена толщины пера (setpenwidth).
- Задана циклическая смена цвета фона (clDarkGray).
- Задана циклическая смена способа рисования (line).
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д