
- •1.Алфавит языка паскаль
- •9.6.Функции определения порядка
- •10.Тип вещественный
- •12.Операторы
- •12.1.Простые операторы
- •13.2.Вывод данных на монитор
- •13.3.Форматирование при выводе данных
- •17.1.Объявление и вызов подпрограмм
- •19.Блоки (модули) в паскале
- •19.1.Блок Crt (Unit Crt)
- •23.1.Работа с текстовыми файлами
- •24.Динамическая память
- •640 Кбайт ┌───────────────────┐
- •26.Динамические библиотеки
- •28.Тип объект (класс)
- •30.Встроенный ассемблер
- •30.1.Объявление операндов
- •31.Основы работы в графическом режиме
- •34.Многоугольники
- •35.Криволинейные фигуры
- •39.Команды работы редактора
34.Многоугольники
=>Rectangle(X1,Y1,X2,Y2:Integer); - Рисует прямоугольник с коорди-
натами диагонали X1,Y1 и X2,Y2.
=>Bar(X1,Y1,X2,Y2:Integer); - Рисует прямоугольник с координатами
по диагонали X1,Y1 и X2,Y2, закрашен-
ный текущим цветом и штриховкой.
=>Bar3D(X1,Y1,X2,Y2:Integer;Depth:Word;Top:Boolean); - Рисует парал-
лелепипед с координатами передней грани по
диагонали X1,Y1 и X2,Y2 и глубиной Depth:
Top ─┬─True - Нужна ────┐
└─False - Не нужна ┴─ верхняя грань.
=>DrawPoly(N:Word;Var PolyPoints); - Рисует ломаную линию в, кото-
рой N-вершин, а координаты заданы в PolyPoints.
=>FillPoly(N:Word;Var PolyPoints); - Рисует закрашенный прямоуголь-
ник, у которого N-вершин, координа-
ты которых задаются в PolyPoints.
=>FloodFill(X,Y:Integer;Border:Word); - Закрашивает область, внутри
которой находится точка с координатами X,Y,
область ограничена линиями цвета Border.
35.Криволинейные фигуры
=>Arc(X,Y:Integer; StAngle,EndAngle,Radius:Word); - Рисует текущим
цветом дугу из точки X,Y радиуса Radius; нача-
льный угол дуги StAngle и конечный EndAngle.
=>Circle(X,Y:Integer;Radius:Word); - Рисует текущим цветом окруж-
ность с центром в точке X,Y и радиусом Radius.
=>Ellipse(X,Y:Integer; StAngle,EndAngle,XRadius,YRadius:Word);- Ри-
сует текущим цветом дугу эллипса с центром в точке X,Y ради-
усами XRadius по горизонтальной и YRadius по вертикальной
осям; начальный угол StAngle и конечный угол EndAngle.
=>FillEllipse(X,Y:Integer; XRadius,YRadius:Word); - Рисует текущим
цветом эллипс и закрашивает его текущей штрихов-
кой с центром в точке X,Y и радиусами XRadius по
горизонтальной и YRadius по вертикальной осям.
=>Sector(X,Y:Integer;StAngle,EndAngle,XRadius,YRadius:Word); - Ри-
сует текущим цветом и закрашивает текущей штриховкой
эллиптический сектор с центром в точке X,Y радиусами
XRadius по горизонтальной и YRadius по вертикальной
осям; начальный StAngle и конечный EndAngle углы.
=>PieSlice(X,Y:Integer;StAngle,EndAngle;Radius:Word); - Рисует те-
кущим цветом и закрашивает текущей штриховкой кру-
говой сектор с центром в точке X,Y и радиусом Radi-
us; начальный угол StAngle, конечный угол EndAngle.
Отметим, что начальный угол может принимать значения, начиная
с 0 градусов, а конечный - до 360. Углы отсчитываются против часо-
вой стрелки.
36.РАБОТА С ФРАГМЕНТАМИ ИЗОБРАЖЕНИЯ
=>ImageSize(X1,Y1,X2,Y2:Integer):Word; - Возвращает размер необхо-
димой памяти для сохранения прямоугольного участка
экрана с координатами по диагонали X1,Y1 и X2,Y2.
=>GetImage(X1,Y1,X2,Y2:Integer;Var BitMap); - Запоминает прямоуго-
льный участок экрана с координатами по диагона-
ли X1,Y1 и X2,Y2 в участке памяти, на которую
указывает переменная BitMap типа Pointer.
=>PutImage(X,Y:Integer;Var BitMap;BitBlt:Word); - Выдает на учас-
ток экрана с координатами левого верхнего угла X,Y картинку,
на которую указывает BitMap; режим выдачи картинки на экран
определяется переменной BitBlt, которая принимает те же зна-
чения, что и переменная WriteMode в процедуре SetWriteMode.
Пример 93.
Uses Graph;
Var Gd,Gm:Integer;
P:Pointer;
Size:Word;
Begin
Gd:=Detect;
InitGraph(Gd,Gm,'');
If GraphResult <> 0 Then Halt;
Bar(0,0,GetMaxX,GetMaxY);
Size:=ImageSize(10,20,30,40);
GetMem(P,Size);
GetImage(10,20,30,40,P^);
ClearDevice;
PutImage(200,200,P^,NormalPut);
CloseGraph;
End.
37.ЗАГРУЗКА ФОНТОВ
Пример 94.
Uses Graph;
Var Driver,Mode:Integer;
FontF:File;
FontP:Pointer;
Begin
Assign(FonF,'Trip.CHR');
Reset(FontF,1);
GetMem(FontF,FileSize(FontF));
BlockRead(FontF,FontP^,FileSize(FontF));
If RegisterBGIFont(FontP)<0 Then
Begin
Writeln('Ошибка регистрации фонта');
Halt;
End;
Driver:=Detect;
InitGraph(Driver,Mode,'');
If GraphResult<0 Then Halt;
Readln;
SetTextStyle(TriplexFont,HorizDir,4);
OutText('Загружается шрифт');
SetTextStyle(SansSerifFont,HorizDir,4);
OutText('Диск должен вращаться');
ReadLn;
CloseGraph;
End.
38.КОМАНДЫ УПРАВЛЕНИЯ ТУРБО-СРЕДОЙ
->Команды доступные в среде:
F1 - Подсказка.
F2 - Записать файл на диск.
F3 - Считать файл с диска.
Alt-X - Закончить работу и выйти в DOS.
Ctrl-F9 - Компиляция и решение.
F7 - Отладка по шагам.
F8 - Отладка по командам.
F4 - Отладка, начиная с позиции курсора.
F5 - Включить/Отключить окно отладки.
F6 - Перейти/Выйти из окна Watch. Находясь в окне Watch мож-
но включить/отключить окно Output, нажимая Alt-F6.
Ctrl-F7 - Поместить перемещенную в окно отладки из позиции
курсора.
Alt-F5 - Просмотреть результаты работы.
Alt-E - Переход в редактор.
Alt-F - Переход в меню файлов.
-New - Создание нового файла.
-Write To - Запись файла с новым именем на диск.
-Directory - Просмотр каталога.
-Os Shell - Временный выход в DOS (возврат EXIT).
-Quit - Выход в DOS.
F10 - В меню главное.
CTRL-F2 - Убрать засветку строки при отладке.