PascalABC.NET не будет работать ряд модулей: в частности, все графические модули. Информация на 2018 г.
Модуль GraphABC (входит в состав PascalABC) отличается от стандартного модуля Graph и предназначен только для работы в ОС семейства Windows1).
Для его подключения используется следующий код:
uses GraphABC;
В справке PascalABC, в разделе Стандартные модули : Модуль GraphABC:
Подпрограммы для работы с графическим окном - управление окном Графические примитивы - какие ещё фигуры можно рисоватьЦветовые константы - какие цвета можно использоватьСобытия - более подробно о событияхВиртуальные коды клавиш - для событий OnKeyDown и OnKeyUp| Константа | Цвет |
|---|---|
| clBlack | Чёрный |
| clPurpure | Фиолетовй |
| clWhite | Белый |
| clRed | Красный |
| clGreen | Зелёный |
| clBlue | Синий |
| clYellow | Жёлтый |
| clLtGray | Светло-серый |
| clGray | Серый |
| clDkGray | Тёмно-серый |
Program Figurka; uses GraphABC; begin SetWindowCaption('Title'); // задаем заголовок графического окна SetWindowSize(800, 600); // задаем размер графического окна // CenterOnScreen; // центрируем графическое окно по центру экрана ClearWindow(clWhite); // очищаем окно указанным цветом SetBrushColor(clGreen); // устанавливаем цвет кисти (закрашивание) SetPenColor(clRandom); // устанавливаем цвет пера (границы) SetPixel(10,10,clBlack); // закрашивает один пиксель(x,y,color) Circle(200,100,50); // рисуем окружность (x,y,r) Line(200,100,400,200); // рисуем линию (x1,y1,x2,y2) Rectangle(200,300,250,350); // рисуем прямоугольник (x1,y1,x2,y2) Sleep(1000); // пауза в мс. SetFontColor(clBlack); // устанавливаем цвет шрифта SetFontSize(20); // устанавливаем размер шрифта в pt TextOut(300,10,'a+b=c'); // выводим текст (x,y,string) end.
Графическая программа продолжает выполняться даже после того как выполнены все операторы основной программы. Графическое окно реагирует на события мыши, клавиатуры, событие изменения размеров окна и событие закрытия окна.
| Событие | Обработчик |
|---|---|
| OnMouseDown | procedure (x, y, mousebutton: integer); |
| OnMouseUp | procedure (x, y, mousebutton: integer); |
| OnMouseMove | procedure (x, y, mousebutton2): integer); |
| OnKeyDown | procedure (key: integer); |
| OnKeyUp | procedure (key: integer); |
| OnKeyPress | procedure (ch: char); |
| OnResize | procedure; |
| OnClose | procedure; |
Используется для событий OnKeyDown и OnKeyUp.
Program MouseCircle; uses GraphABC; procedure DoMouseDown(x,y,mb: integer); // Процедура-обработчик begin if mb=1 then begin ClearWindow; Circle(x,y,50); // рисуем окружность (x,y,r) end; end; begin OnMouseDown := DoMouseDown; // Привязка обработчика к событию end.