- •1. Нарисуйте и опишите структуру главного окна системы Delphi. Для чего нужно окно инспектора объектов и как им пользоваться?
- •2. Объясните назначение окна формы. Как на нём размещать компоненты и настраивать их параметры?
- •4. Что собой представляет программа решения задачи в системе Delphi? Как организуются процедуры обработки событий: «щелчок мыши на кнопке», «создание формы»?
- •8. Как запустить программу? Как работать с программой? Как остановить программу для её редактирования?
- •9. Какие файлы содержит программа, их структура? Как организовать запись программы в отдельный каталог? Как создать новый каталог?
- •12. Приведите примеры схем циклических алгоритмов и их программ с использованием оператора repeat.
- •13. Приведите примеры схем циклических алгоритмов и их программ с использованием оператора while.
- •14.Приведите примеры схем циклических алгоритмов и их программ с использованием оператора for.
- •15. Как организуется работа с массивами в языке Pascal: описание, обращение к элементам, операции над массивами? Проиллюстрируйте на примерах.
- •16. Понятия статического и динамического распределения памяти. Что такое указатель? Операции над указателями. Что такое динамическая переменная? Наложение переменных с помощью указателя.
- •17. Понятие множеств в языке Pascal. Как они описываются? Какие операции над ними допустимы? Привести примеры их полезного использования.
- •18. Что такое строки в языке Pascal? Как они описываются, что такое текущая и максимальная длина строки? Опишите процедуры и функции обработки строк.
- •23. Как выводить графики в Delphi, используя компоненту tImage. Опишите последовательность действий по настройке tImage и фрагмент программы вывода закрашенного квадрата внутри круга.
- •24. Что такое записи в языке Pascal? Как они описываются, в чем особенность вариантной части?
- •25.Понятие объекта и класса. Объясните на примерах, что такое инкапсуляция наследственность и полиморфизм, раннее и позднее связывание
- •26. Что такое виртуальный и динамический способы реализации полиморфизма. В чем их различие. Понятие абстрактного метода. Как реализуется вызов родительского метода в методе потомке?
- •27.Назначение конструктора и деструктора. Приведите примеры их описаний. Их вид в Delphi
- •28.Понятие свойств класса, для чего они нужны? Как они описываются? Приведите примеры классов со свойствами
- •29. Постановка задачи оптимального выбора. Двоичное дерево решений. Метод полного перебора, метод ветвей и границ эвристические методы.
23. Как выводить графики в Delphi, используя компоненту tImage. Опишите последовательность действий по настройке tImage и фрагмент программы вывода закрашенного квадрата внутри круга.
В стандартную библиотеку визуальных компонент Delphi входит несколько объектов, с помощью которых можно придать своей программе совершенно оригинальный вид. Это - TImage, TShape, TBevel.
Компонент TImage(отображение картинок)- служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растровой картинки (расширение *.bmp), пиктограммы (*.ico) или метафайла (*.mtf). Любой из этих типов изображений содержится в центральном свойстве компонента -Picture.
Свойства TImage:
*AutoSize, разрешает (true) запрещает(false) изменять размеры компонента так, чтобы в него полностью загрузилось изображение; *Canvas, Свойство типа canvas предназначенное для формирования изображения внутри компоненты на стадии выполнения программы;
*Center, определяет положение картинки в поле компонента по горизонтали, если ширина картинки меньше ширины поля компонента. Если значение true, изображение выравнивается по центру компоненты, иначе -помещается в левый верхний угол компоненты;*Picture, свойство определяет изображение, которое будет отображаться в компоненте. Указать путь к файлу с изображением можно, нажав на кнопку …; *Stretch, разрешает (true) запрещает(false) изменять размеры изображения так, чтобы оно целиком заполнило область компонента; *Proportional, Признак автоматического масштабирования картинки без искажения. Чтобы масштабирование было выполнено, значение свойства AitoSize должно быть в значении false.
Нарисованную в Image1 картинку можно перенести в отчет, используя процедуру ClipBoard.Assign(Image1.Picture) (модуль Clipbrd). Для рисования используют класс TСanvas, который является свойством многих компонентов, и представляет собой прямоугольный холст в виде матрицы из пикселей и набор инструментов для рисования на нем. Каждый пиксель имеет координату (x, y), где x – порядковый номер пикселя, начиная от левой границы холста, а y – порядковый номер пикселя, начиная от верхней границы холста. Левый верхний угол холста имеет координату (0, 0), а нижний правый (Image1.Width-1, Image1.Height-1).
Основные свойства класса TCanvas:
*Property Pen : TPen; – карандаш. В свою очередь, имеет свойства Color - цвет , Width - толщина и Style – стиль ( psSolid – сплошной, psDash – штриховой, psDot – пунктирный, psClear – отсутствие линии и др.); *Property Brush : TBrush; – кистью. Это свойство определяет фон заполнения замкнутых фигур. В свою очередь, имеет свойства Color - цвет и Style – стиль ( bsSolid – сплошной, bsCross – сетка, bsClear – отсутствие фона и др.); *Property Font : TFont; – шрифт. В свою очередь, имеет свойства Color - цвет, Size - размер и Style – стиль ( fsBold – жирный, fsitalic – курсив и др.).
Некоторые методы класса TCanvas
Pгосеdure Еlliрsе(Х1, Y1, Х2, Y2: Integer) – рисует эллипс в охватывающем прямоугольнике (X1, Y1), (Х2, Y2) и заполняет внутреннее пространство эллипса текущей кистью.
Pгосedure Rectangle (X1, У1, Х2, У2: Integer) – рисует и заполняет прямоугольник (X1, У1), (Х2, У2). Для вычерчивания без заполнения используется FrameRect или РоlуLine.
Pгосedure LineТо (X, У: Integer) – рисует линию от текущего положения пера до точки (X. У).
Procedure МоvеТо(Х, У: Integer) – перемещает карандаш в точку (X, У) без вычерчивания линий.
Pгосedure Роlуgоn (Роints: аrrау оf ТРоint) – рисует многоугольник по точкам, заданным в массиве Роints. Например: Canvas.Polygon([Point(x1, y1), Point(x2, y2), Point(x3, y3]); Конечная точка соединяется с начальной и многоугольник заполняется кистью. Для вычерчивания без заполнения используется метод Роlуline.
Procedure ТехtОut (Х, У: Integer; const Техt: String) – выводит текстовую строку Техt так, чтобы левый верхний угол прямоугольника, охватывающего текст, располагался в точке (X, У).
Пример программы вывода эллипса красного цвета
Begin
With PaintBox1.Canvas do
Begin
Brush.Color:=clRed;
Ellipse(0,0,Width,height);
Font.Size:=Height div 5;
Font.Color:= clWhite;
X:=(Width-TextWidth('Delphi')) div 2;
Y:=(Height-TextHeight('D')) div 2;
TextOut(x,y, 'Delphi');
End;