
- •Функции ос, интерфейс пользователя.
- •Интерфейс пользователя
- •Интерфейс командной строки
- •Файловая структура. Диски, файлы, их имена.
- •Каталоги
- •Основные понятия
- •Работа с файлами
- •Работа с каталогами
- •Командная строка
- •Типы данных в Turbo Pascal. Порядковый, вещественный, структурированный. Совместимость и преобразование типов. Типы данных
- •Простые типы данных
- •Имена и доступ к файлам в Turbo Pascal.
- •Доступ к файлам.
- •Процедуры и функции для работы с файлами
- •Текстовые файлы
- •Типизированные файлы
- •Нетипизированные файлы
- •Операторы вводы/ вывода в Turbo Pascal.
- •Операции в Turbo Pascal. Математические операции
- •Логические операции
- •Операции отношения
- •Приоритет операций
- •Условный оператор. Оператор выбора в Turbo Pascal.
- •Метки и оператор перехода.
- •Операторы циклов с предусловием, постусловием и с параметром в Turbo Pascal.
- •Арифметические циклы (циклы с параметром)
- •Итерационные циклы с предусловием
- •Итерационные циклы с постусловием
- •Операторы завершения цикла
- •Процедуры и функции в Turbo Pascal. Локализация переменных. Формальные и фактические параметры в Turbo Pascal. Процедуры и функции
- •Описание и вызов процедур и функций
- •Локальные и глобальные переменные в Turbo Pascal.
- •Переход в графический режим в Turbo Pascal. Масштабирование экрана. Процедуры и функции для работы с экраном в графическом режиме.
- •Понятие алгоритма и его свойства. Линейные, разветвляющиеся, циклические алгоритмы.
- •Алгоритмы поиска элементов из массивов данных. Двоичный (бинарный) поиск элемента в массиве
- •Интерполяционный поиск элемента в массиве
- •Алгоритмы выборки элементов из массивов данных. Алгоритмы сортировки данных.
- •Критерии Эффективности
- •Сортировка выбором
- •Сортировка пузырьком
- •Сортировка простыми вставками
- •Сортировка Шелла.
- •Сортировка быстрая
- •Сортировка поразрядная
Переход в графический режим в Turbo Pascal. Масштабирование экрана. Процедуры и функции для работы с экраном в графическом режиме.
Модуль Graph представляет собой мощную библиотеку графических подпрограмм универсального назначения, рассчитанную на работу с наиболее распространенными графическими адаптерами IBM-совместимых ПК. Подпрограммы модуля Graph обеспечивают различные режимы работы многорежимных адаптеров, полностью используют их цветовые возможности и разрешающую способность.
При исполнении графических программ требуется автономный драйвер графического адаптера (BGI-файл). Если программа использует штриховые шрифты, то кроме того нужен один или несколько шрифтовых файлов (CHR-файлы). При необходимости драйвер и шрифты могут быть включены в тело программы еще на этапе компиляции.
Графические драйверы поддерживают следующие графические адаптеры (и полностью совместимые с ними):
CGA |
Hercules |
MCGA |
AT&T 400 |
EGA |
3270 PC |
VGA |
IBM-8514 |
Для поддержки этих аппаратных средств используются следующие драйверы:
CGA.BGI |
Драйвер для CGA, MCGA |
EGAVGA.BGI |
Драйвер для EGA, VGA |
HERC . BGI |
Драйвер для монохромного Hercules |
ATT . BGI |
Драйвер для AT&T 6300 (400 строк) |
PC3270.BGI |
Драйвер для IBM 3270 PC |
IBM8514.BGI |
Драйвер для IBM 8514 |
Во время выполнения программы процедура InitGraph автоматически распознает графический адаптер, установленный на ПК, загружает и инициализирует соответствующий графический драйвер, переводит адаптер в графический режим и возвращает управление вызывающей программе. Процедура CloseGraph выгружает драйвер из памяти и восстанавливает текстовый режим работы адаптера.
Подпрограммы модуля Graph позволяют адресоваться к любому элементу (пикселю) растрового графического экрана и управлять светимостью этого элемента. Для указания пикселя используется следующая система координат: верхний левый угол графического экрана имеет координаты 0,0; горизонтальная координата X увеличивается слева направо, вертикальная координата У увеличивается сверху вниз.
Некоторые графические подпрограммы используют понятие текущего указателя. Указатель содержит координаты того пикселя, начиная с которого будет строиться изображение подпрограммами LineTo, LineRel, OutText и др.
В модуле Graph имеется несколько процедур для рисования элементарных графических фигур - точек, линий, окружностей, дуг и т.п. При необходимости замкнутые фигуры могут быть закрашены различными цветами и стилями (образцами закраски).
Процедура SetViewPort создает на экране графическое окно. Если окно определено, весь дальнейший графический вывод осуществляется относительно координат этого окна и отсекается его границами.
В модуле имеются средства сохранения и выдачи изображений, работы с несколькими графическими страницами, установки необходимых цветов.
Значения ошибок, возвращаемые GraphResult
const
grOk = 0;{Нет ошибок}
grNoInitGraph = -1;{Графика не инициализирована}
grNotDetected = -2;{Графическое устройство не обнаружено}
grFileNotFound = -3;{Файл драйвера устройства не найден}
grInvalidDriver= -4;{Неправильный файл драйвера устройства}
grInvalidMode =-10;{Недопустимый графический режим}
grError =-11;{Общая ошибка}
grIOerror =-12;{Ошибка графического ввода/вывода}
Константы цвета
const |
|
Black |
= 0;{Черный} |
Blue |
= 1;{Синий} |
Green |
= 2;{Зеленый} |
Cyan |
= 3;{Голубой} |
Red |
= 4;{Красный} |
Magenta |
= 5;{Фиолетовый} |
Brown |
= 6;{Коричневый} |
Константы типов и толщины линий
const
SolidLn=0;{Сплошная}
DottedLn=1;{Точечная}
NormWidth=1;{Нормальная толщина}
ThickWidth= 3;{Тройная толщина}
Константы управления шрифтом
const
DefaultFont = 0;{Матричный шрифт 8x8}
TriplexFont = 1;{Шрифт триплекс; файл TRIP.CHR}
SmallFont = 2;{Мелкий шрифт; файл LITT.CHR}
SansSerifFont= 3;{Прямой шрифт; файл SANS.CHR}
RightText = 2;{Указатель справа от текста}
BottomText = 0;{Указатель снизу от текста}
CenterText = 1;{Указатель по центру текста}
TopText = 2;{Указатель сверху от текста}
Константы отсечения
const
ClipOn = True;{Отсекать изображение}
ClipOf£= False;{Игнорировать окно (не отсекать изображение)}
Процедуры
Procedure Arc(X, Y: Integer; StAngle, EndAngle, Radius: Word)Рисует дугу радиусом Radius от начального угла StAngle к конечному EndAngle, используя X, Y как координаты центра.
Procedure Bar (X1, Y1, X2, Y2 : Integer)Рисует полосу заданного размера, используя текущий стиль и цвет.
Procedure Bar3D(X1, Y1, X2, Y2: Integer; Depth: Word; Top: Boolean)Рисует трехмерную полосу, используя текущий стиль и цвет.
Procedure Circle (X, Y: Integer; R: word)Рисует окружность радиуса R, используя X,Y как координаты центра.
Procedure ClearDevice Очищает экран.
Procedure ClearViewPort Очищает окно.
Procedure CloseGraphЗакрывает графический режим.
Procedure DetectGraph (var Driver, Mode: Integer)Возвращает тип Driver установленного драйвера и текущий режим Mode его работы.
Procedure DrawPoly (NumPoints: Word; var PolyPoints)Рисует многоугольник из NumPoints вершин с координатами в PolyPoints текущим цветом и типом линии.
Procedure Ellipse (X, Y; Integer; StAngle, EndAngle, XR, YR: Word)Рисует эллиптическую дугу от начального угла StAngle к конечному углу EndAngle, используя X, Y как координаты центра и XR. YR - как горизонтальный и вертикальный радиусы.
Procedure FillEllipse(X, Y; Integer; XR, YR: Word)Рисует заштрихованный эллипс, используя X, Y как центр uXR, YR как горизонтальный и вертикальный радиусы.
Procedure FloodFill (X, Y; Integer; Border; Word) Штрихует замкнутую область, содержащую внутреннюю точку с координатами X, Y и ограниченную линией с цветом Border. Используется текущий образец штриховки и цвет.
Procedure GetDefaultPalette(var Palette; PaletteType)Возвращает текущую палитру в записи PaletteType.
Procedure GetLineSettings (var LineInfo; LineSettingsType)Возвращает текущий стиль, шаблон и толщину линии.
Procedure GetViewSettings (var viewport: NiewPortType) Возвращает координаты и признак отсечки текущего окна.
Procedure GraphDefaultsУстанавливает стандартные параметры графического режима.
Procedure InitGraph(var Driver, Mode; Integer; Path: String)Инициализирует графический режим. Переменные Driver и Mode должны содержать тип графического драйвера и его режим работы. Допускается указать Driver = 0 для автоматического определения этих параметров по результатам тестирования аппаратуры. Параметр Path определяет маршрут поиска файла графического драйвера.
Procedure Line (X1, Y1, Х2, Y2: Integer)Рисует линию от точки X1, Y1 до точки Х2, Y2.
Procedure LineRel(DX, DY: Integer)Рисует линию от текущего указателя к точке, заданной приращением координат.
Procedure LineTo(X, Y: Integer)Рисует линию от текущего указателя к точке X, Y.
Procedure MoveTo(X, Y: Integer)Смещает текущий указатель к точкеX,Y.
Procedure OutText (TextString: String)Выводит текстовую строку на экран.
Procedure OutTextXY(X, Y: Integer; TextString: String)Выводит текст в заданное место экрана.
Procedure PieSlice(X, Y: Integer; StAngle, EndAngle, Radius: Word)Рисует и штрихует сектор окружности радиусом Radius с центром в X.Y от начального угла StAngle к конечному углу EndAngle.
Procedure Rectangle (XI, Yl, X2, Y2: Integer)Рисует прямоугольник, используя текущий цвет и тип линии.
Procedure SetBkColor (Color: Word) Устанавливает цвет фона.
Procedure SetColor (Color: Word)Устанавливает основной цвет, которым будет осуществляться рисование.
Procedure SetFillPattern (Pattern: FillPatternType; Color: Word)Устанавливает произвольный образец штриховки.
Procedure SetFillStyle (Pattern, Color: Word)Устанавливает образец штриховки и цвет.
Procedure SetGraphBuf Size (Size: Word)Позволяет изменить размер буфера для функций штриховки.
Procedure SetGraphMode(Mode: Integer)Устанавливает новый графический режим и очищает экран.
Procedure SetLineStyle(LineStyle, Pattern, Thickness: Word)Устанавливает толщину и стиль линии.
Procedure SetPalette(ColorNum, Color: Word) Заменяет цвет палитры с номером ColorNum на цвет Color.
Функции
Procedure GetBkColor; Word Возвращает текущий фоновый цвет.
Procedure GetColor; Word Возвращает текущий цвет.
Procedure GetDriverName; StringВозвращает строку с именем текущего драйвера.
Procedure GetGraphMode: Integer Возвращает текущий графический режим.
Procedure GetMaxColor; Word Возвращает максимальный цвет, который можно задать в SetColor.
Procedure GetMaxMode: Integer Возвращает номер максимального режима текущего загруженного драйвера.
Procedure GetMaxX: IntegerВозвращает максимальную горизонтальную координату графического экрана.
Procedure GetMaxY; IntegerВозвращает максимальную вертикальную координату графического экрана.
Procedure GetModeName(ModeNum; Word) ; StringВозвращает строку с именем указанного графического режима.
Procedure GetPaletteSize: IntegerВозвращает размер таблицы палитры.
Procedure GetPixel (X, Y; Integer) : WordВозвращает цвет пикселя с координатами X,Y.
Procedure GetX: IntegerВозвращает координату X текущего указателя.
Procedure GraphResult: Integer Возвращает код ошибки для последней графической операции.