Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
лаб.раб. программирование.pdf
Скачиваний:
111
Добавлен:
21.05.2015
Размер:
764.95 Кб
Скачать

2. Составить таблицу 4х4, состоящую из целых чисел. Программа должна выводить число, лежащее в ячейке с введенным с клавиатуры номером столбца и строки.

3. Заполнить таблицу 5х5 случайными целыми числами. Найти сумму элементов главной диагонали.

Лабораторная работа 22. Графика в Delphi

Рассмотрим компоненты для работы с графикой.

TImage – изображение

Данный компонент служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растрового рисунка (*.bmp), значка (*.ico) или метафайла (*.wmf, *.emf). С помощью свойства Canvas можно

отредактировать растровое изображение (но не метафайл или значок!)

Свойства компонента:

Свойство

 

Описание

 

 

AutoSize

Разрешает/запрещает изменять размеры компонента так, чтобы

Canvas

в них полностью загрузилось изображение

 

 

Для прорисовки изображения

 

 

Center

Указывает, надо ли центрировать изображение в границах

Picture

компонента

 

 

 

Контейнер изображения

 

 

 

Stretch

Разрешает/запрещает изменять размеры изображения так,

Transparent

чтобы оно целиком заполнило клиентскую область компонента

Разрешает/запрещает

накладывать

собственный

фон

 

изображения на фон компонента

 

 

© ИМПИ ОГПУ

TShape – стандартная фигура

Компонент рисует одну из простейших геометрических фигур:

stCircle – окружность

stRoundSquare – квадрат с закругленными сторонами

stSquare – квадрат

stEllipse – эллипс

stRectangle – прямоугольник

stRoundRect – прямоугольник с закругленными сторонами

Фигура полностью занимает все пространство компонента. Помимо стандартных графических инструментов Brush и Pen, в компоненте определено свойство Shape,

задающее вид фигуры. Изменение этого свойства приводит к немедленной перерисовке изображения.

TPaintBox – окно для рисования

Для создания изображения в компоненте TPaintBox используется свойство холст (Canvas). Графические инструменты расположены в свойствах Font, Pen, Brush. Рисование осуществляется в обработчике события OnPaint.

Создадим несложную программу просмотра изображений:

1.Поместите на форму панель TPanel, очистите ее свойство Caption.

2.Разместите на панели кнопку TButton с надписью Загрузить.

3.На любое свободное место формы (над панелью) поместите компонент TImage и установите в его свойство Align значение alClient.

4.На любое место поместите компонент TOpenPictureDialog (вкладка Dialogs) – с его помощью пользователь может разыскать нужный файл с изображением.

5.Для кнопки напишите обработчик события OnClick:

Begin

If OpenPictureDialog1.Execute then

Begin

Image1.Picture.LoadFromFile(OpenPictureDialog1.FileName);

Image1.Stretch := True {масштабирует изображение, чтобы оно занимало всю

рабочую область}

End; End;

6. Для того чтобы нарисовать нижеследующий рисунок в окне PaintBox

необходимо растянуть данный компонент по форме, форму развернуть на весь экран и написать представленный код (вспомните назначение оператора With).

© ИМПИ ОГПУ

procedure TForm1.PaintBox1Paint (Sender: TObject); var x, y: integer;

begin

with paintbox1.Canvas do begin

brush.Color:=clRed; ellipse(0, 0, 620, 420); font.Name:='arial'; font.Size:=height div 5;

font.Style:=[fsBold, fsItalic]; font.Color:=clWhite;

x := (620 - textwidth('Delphi')) div 2; y := (420 - textheight('D')) div 2;

textOut(x, y, 'Delphi') end;

end;

Задания для самостоятельной работы

1.Нарисовать пейзаж.

2.Нарисовать график функции y = sin(x).

Лабораторная работа 23. Калькулятор

Задания для самостоятельной работы

Создать калькулятор, выполняющий основные арифметические действия, похожий на стандартный калькулятор Windows.

Замечание: необходимо обрабботать исключительные ситуации исключающе ошибку некорректно введенных данных.

© ИМПИ ОГПУ

Лабораторная работа 24. Моделирование движения. Пуля

Задания для самостоятельной работы

Моделирование движения. По команде пользователя из ствола вылетает пуля, попадает в шарик, который разлетается на множество мелких частей.

© ИМПИ ОГПУ