Пример 8.2. Эта программа демонстрирует возможности изображения линий в графическом режиме.

Program Lines; 
  Uses Graph, Crt; {подключение к программе библиотек Crt и Graph} 
  Var 
  Key   : Char; 
  LineStyle   : Word; {номер стиля рисования линии} 
  Style   : String; {название стиля } 
  GrDriver, GrMode : Integer; {тип и режим работы графического драйвера} 
  GrError   : Integer; {код ошибки графики} 
BEGIN 
  GrDriver := Detect; {автоопределение типа графического драйвера} 
  InitGraph(GrDriver, GrMode, 'C:\TP\BGI'); {установка графического режима} 
  GrError := GraphResult; 
  If GrError<>GrOk then begin Writeln('Обнаружена ошибка!'); Halt 
  end; 
  SetBkColor(LightGray); SetColor(Red); {цвет фона и цвет рисования } 
{------------------------------------------------------------} 
  OutTextXY(120, 100, 'Рисуем линию от точки (200,200) к точке (400,280)'); 
  Line(200, 200, 400, 280); 
  Key:=ReadKey; {приостановление исполнения программы} 
  ClearViewPort; {очистка окна} 
{-----------------------------------------------------------} 
  OutTextXY(240, 80, 'Рисуем ломанную'); 
  Rectangle(110, 120, 520, 400); {рисование рамки } 
  MoveTo(Round(GetMaxX/2), Round(GetMaxY/2)); {указатель в центре окна} 
  Repeat {цикл прерывается нажатием любой клавиши} 
  LineTo(Random(GetMaxX-250)+120, Random(GetMaxY-210)+120); 
  Delay(100); 
  until KeyPressed; 
  Key := ReadKey; ClearViewPort; 
{-----------------------------------------------------------} 
  OutTextXY(190, 80, 'Mеняем стили рисования линий'); 
  For LineStyle := 0 to 3 do 
  begin 
  SetLineStyle(LineStyle, 0, 1); 
  Case LineStyle of 
  0: Style:='Сплошная'; 
  1: Style:='Точечная'; 
  2: Style:='Штрихпунктирная'; 
  3: Style:='Пунктирная' 
  end; 
  Line(120, 150+LineStyle*50, 430, 150+LineStyle*50); 
  OutTextXY(450, 145+LineStyle*50, Style); 
  end; 
  Key:=ReadKey; ClearViewPort; {очистка окна} 
  {-----------------------------------------------------------} 
  OutTextXY(180, 80, 'Меняем толщину рисования линий'); 
  SetLineStyle(0, 0, 1); {толщина 1 пиксел } 
  Line(140, 200, 430, 200); OutTextXY(450, 195, 'Нормальная'); 
  SetLineStyle(0, 0, 3); {толщина 3 пиксела} 
  Line(140, 250, 430, 250); OutTextXY(450, 245, 'Тройная'); 
  ReadLn; CloseGraph; {закрытие графического режима}
END.

Другие записи

10.06.2016. 8.2. Библиотека G R A P H
Библиотека (модуль) Graph содержит константы, процедуры  и функции для управления графическим режимом работы монитора. Константы цвета Black = 0; {Черный}  Blue = 1;   {Синий}  Green…
10.06.2016. Пример 8.1. Эта программа демонстрирует работу процедур управления текстовым выводом на экран дисплея.
Program ColorTable;   Uses Crt; {подключение к программе библиотеки Crt}   Const P = ' ';   Var i, j : Integer;  BEGIN ClrScr; {очистка экрана} Window(1, 1, 80, 7); {определение окна для заголовочной…
10.06.2016. Пример 8.11. Программа рисует прямоугольную систему координат, отображает в ней заданное множество точек и строит все возможные пары треугольников с вершинами в этом множестве такие, чтобы один треугольник лежал строго внутри другого.
Для работы программы необходимо предварительно создать в текущем каталоге текстовый файл dan.dat, содержащий координаты точек множества. Файл должен иметь структуру: x1  y1  x2  y2 ...  xn  yn , где…