Файл: Лабораторная работа 1 Часть i 13 лабораторная работа n 1 Часть ii 16 лабораторная работа n 1 Часть iii 1.docx

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 10.11.2023

Просмотров: 320

Скачиваний: 2

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

СОДЕРЖАНИЕ

Оглавление

Тема 1: Знакомство с основными компонентами группы Standard. Компоненты Delphi визуальные и невизуальные. Свойства и события компонентов. Назначения и основные свойства компонентов группы Standard.

ЛАБОРАТОРНАЯ РАБОТА № 1 / Часть I /

ЛАБОРАТОРНАЯ РАБОТА N 1 / Часть II /

ЛАБОРАТОРНАЯ РАБОТА N 1 / Часть III / 1 вариант

ЛАБОРАТОРНАЯ РАБОТА N 1 / Часть III / 2 вариант

ЛАБОРАТОРНАЯ РАБОТА N 1 / Часть III /3 вариант

ЛАБОРАТОРНАЯ РАБОТА N 1 / Часть III / 4 вариант

ЛАБОРАТОРНАЯ РАБОТА N 1 / Часть III / 5 вариант

ЛАБОРАТОРНАЯ РАБОТА N 1 / Часть III / 6 вариант

ЛАБОРАТОРНАЯ РАБОТА N 1 / Часть III / 7 вариант

ЛАБОРАТОРНАЯ РАБОТА N 1 / Часть III / 8 вариант

Тема 2: Стандартные диалоговые панели – компоненты группы Dialogs.

ЛАБОРАТОРНАЯ РАБОТА №2

Тема 3. Работа с таблицами в Delphi

ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть I /

ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 1 вариант

ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 2 вариант

ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 3 вариант

ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 4 вариант

ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 5 вариант

ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 6 вариант

ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 7 вариант

ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 8 вариант

Тема 4. Графические средства Delphi

Тема 4.1 Графические компоненты

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 1

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 2

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 3

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 4

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 5

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 6

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 7

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 8

Тема 5. Работа с файлами в Delphi

ЛАБОРАТОРНАЯ РАБОТА № 5



  1. Procedure Arc (x1, x2, x3, x4, y1, y2, y3, y4: integer); - отображает дугу эллипса, ограниченного прямоугольником (x1, x2, y1, y2). Дуга отображается из точки с координатами (x3, y3) до точки с координатами (x4, y4) против часовой стрелки.

Пример: Нарисуем дугу эллипса, соединяющую середину верхней стороны компонента PaintBox с серединой его правой стороны.

procedure TForm1.Button1Click(Sender: TObject);

var x3,y3,x4,y4:integer;

begin

with PaintBox1 do begin

Canvas.Pen.Color:=clWhite; Canvas.Pen.Color:=3;

Canvas.Rectangle(0,0,PaintBox1.ClientWidth,PaintBox1.ClientHeight);

x3:=ClientWidth div 2;

x4:=ClientWidth;

y3:=0;

y4:=ClientHeight div 2;

Canvas.Pen.Color:=clMaroon;

Canvas.Arc(0,0,PaintBox1.ClientWidth,PaintBox1.ClientHeight,x3,y3,x4,y4);

end;

end;

  1. Procedure Chord (x1, x2, x3, x4, y1, y2, y3, y4: integer); - рисует хорду – прямую, соединяющую 2 точки эллипса: точку с координатами (x3,y3) с точкой (x4,y4).

Пример: Подставьте в примере, приведенном для метода Arc, метод Chord и получите такой результат.



  1. Procedure Pie (x1, x2, x3, x4, y1, y2, y3, y4: integer); - рисует сегмент эллипса, соединяющего центр эллипса с координатами (x3, y3) и (x4, y4).

Пример: Подставьте в примере, приведенном для метода Arc, метод Pie и получите такой результат.


  1. Procedure TextOut (x,y: integer; Text:string); - выодит строку, переданную в параметре Text, в прямоугольник, верхний левый угол которого задан координатами x, y. Характеристики шрифта задаются инструментом Font.

Пример: Напишем название построенного графика внизу формы.

Canvas.Font.Height:=20;

Canvas.Font.Color:=clblue;

Canvas.TextOut(10,ClientHeight-24, 'Графикфункции');

Тема 4.1 Графические компоненты


Delphi предлагает ряд готовых компонентов, позволяющих улучшать пользовательский интерфейс. Эти компоненты размещены на странице Additional и Sysytem палитры компонентов.

Компонент Image (Класса TImage) создан для отображения графических изображений, хранимых во внешних файлах с расширением:

  • *.ico – иконка, пиктограмма;

  • *.bmp – растровое изображение, битовая карта;

  • *.wmf, *.emf – метафайл;

  • *.jpg,*.jpeg – изображение, сжатое по формату JPEG.

Основные свойства:

AutoSize: Boolean – при значение True компонент подстраивает свои размеры под размеры загружаемого изображения; по умолчанию – False;

Stretch: Boolean – при значение True загружаемое изображение занимает всю область компонента; по умолчанию – False;

Center: Boolean – при значение True изображение выравнивается по центру компонента; по умолчанию – False;

Canvas: TCanvas – служит для рисования внутри компонента на этапе выполнения программы.

Picture: TPicture – определяет изображение, помещенное в компоненте.

Основныеметодыкласса TPicture:

Procedure LoadFromFile (FileName: string) –

Procedure SaveToFile (FileName: string) –

Procedure LoadFromClipBoardFormat (AFormat: Word; AData: THadle; APalette: HPalette) – загружает изображение формата AFormat с палитрой APalette из буфера обмена; AData – указатель на изображение.

Procedure SaveToClipBoardFormat (AFormat: Word; AData: THadle; APalette: HPalette) – передает в буфер обмена изображение из компонента.

Замечание:

  1. Delphi позволяет перемещать через буфер обмена ClipBoard объекты в пяти форматах:

    1. CF_TEXT – текстовая информация;

    2. CF_METAFILE – метафайл;

    3. CF_PICTURE – пиктограмма;

    4. CF_OBJECT – объект (компоненты);

    5. CF_BITMAP – битовая карта.

  2. Изображение в свойстве Picture можно определить на этапе проектирования, но можно и пользователю разрешить загружать изображения, написав такой код:

if OpenPictureDialog1.Execute then Image1.Picture.LoadFormFile(OpenPictureDialog1.Filename);

Компонент Shape – позволяет отображать стандартные геометрические фигуры: эллипс, круг, прямоугольник. Тип фигуры определяется свойством Shape = (stRectangle, stSquare, stRoundrect, stCircle, stEllipse). Тип границы определяется свойством Pen: Tpen, цвет и тип заполнителя фигуры определяется свойством Brush: TBrush.



Компонент PaintBox – определяет прямоугольную область для рисования. Главное свойство – Canvas, доступны все методы класса TCanvas, самостоятельных свойств не имеет.

Пример: Нарисуем эллипс желтого цвета, вписанный в компонент PaintBox1.

begin

with PaintBox1.Canvas do begin

Brush.Color:=clYellow;

Ellipse(0,0,PaintBox1.ClientWidth,PaintBox1.ClientHeight);

end; end;

Компонент BitBtn – растровая кнопка.

Компонент BitBtn, в отличие от стандартной, может кроме названия (Caption) содержать изображение, заданное свойством Glyph. Существует набор стандартных кнопок BitBtn, с предопреденными свойствами (с определенной картинкой, надписью и назначением) – тип стандартной кнопки выбирается через свойство Kind.

Kind = (bkCustom, bkAbort, bkCancel, bkClose…)



Компонент SpeedButton – кнопка быстрого доступа.

Может содержать надпись (свойство Caption) и картинку (свойство Glyph). В отличие от кнопки BitBtn кнопки SpeedButton не могут получать воздействие (событие) от клавиатуры, в частности не могут быть активизированы при помощи клавиши TAB, поэтому не рекомендуется использовать их в качестве обычных кнопок. Кнопки SpeedButton занимают меньше памяти, чем обычные кнопки, поэтому их удобно использовать в инструментальных линейках, где размещается большое число кнопок.

Компонент MediaPlayer – предназначен для воспроизведения аудио и видео файлов с расширением: .avi, .wav, .mid, .rmi. Имя файла указывается в свойстве Filename.



|Play|Pause|Stop|Next|Prev|Step|Back|Record|Eject|

Пример: Напишем процедуру, позволяющую «проиграть» выбранный пользователем файл.

procedure TForm1.Button1Click(Sender: TObject);

begin

MediaPlayer1.Close;

if OpenDialog1.Execute then begin

MediaPlayer1.FileName:=OpenDialog1.FileName;

MediaPlayer1.Open;

end; end;

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 1


ТЕМА: «Графика в Delphi – построение простейших геометрических фигур»

Задание №1

Создайте приложение, которое cодержит на главной форме два компонента Image и 4 кнопки ("Загрузить картинку", "Построить геометрическую фигуру", "Изменить цвет", "Выход"), и позволяет:

  1. а) загружать в компонент Image1, выбранное пользователем графическое изображение таким образом, чтобы изображение занимало всю область компонента Image.

  2. б) под компонентом Image1 выводить надпись «Это картинка из файла <имя файла>.(при любом измерении размеров и положения компонента Image1 надпись должна находиться строго под компонентом).

  3. рисовать внутри компонента Image2 геометрическую фигуру: закрашенный сегмент эллипса, соединяющий середину компонента Image с серединами нижней и правой сторон компонента Image. (при любом изменении размеров и положения компонента Image2 фигура должна строиться правильно, т.е. согласно заданию, относительно компонента Image2)

  4. изменять цвет линии, рисуемой в Image2 фигуры по желанию пользователя с помощью компонента ColorDialog.

Задание №2

Создайте приложение, которое позволяет расположить в компоненте Image случайным образом несколько надписей (например, слово «Ура!»). Для реализации используйте генератор случайных чисел Randomize и функцию Random.

Размеры компонента Image, слово, выводимое в Image и количество слов – должен вводить пользователь.

Задание №3

С оздайте приложение, позволяющее выбирать из списка ListBox название геометрической фигуры и рисовать выбранную фигуру в компоненте Image. Цвет фигуры выбирается из компонента RadioGroup.

Задание №4

Создайте приложение, позволяющее задавать пользователю размеры компонента PaintBox1(в пикселях).

Разделите компонент PaintBox1 на 4 равные части, закрасьте каждую часть в разный цвет, например: синий, желтый, зеленый, красный.

Рядом с каждым углом PaintBox1 напишите координаты данного угла (относительно начала координат формы, на которой находится компонент PaintBox1).

ЛАБОРАТОРНАЯ РАБОТА № 4 / Вариант 2


ТЕМА: «Графика в Delphi – построение простейших геометрических фигур»

Задание №1

Создайте приложение, которое cодержит на главной форме два компонента Image и 4 кнопки ("Загрузить картинку", "Построить геометрическую фигуру", "Изменить цвет", "Выход"), и позволяет:

  1. загружать в компонент Image1, выбранное пользователем графическое изображение таким образом, чтобы изображение занимало всю область компонента Image.

  2. под компонентом Image1 выводить надпись «Это картинка из файла <имя файла>. (при любом измерении размеров и положения компонента Image1 надпись должна находиться строго под компонентом).

  3. рисовать внутри компонента Image2 геометрическую фигуру: дугу эллипса, соединяющую середину левой и правой сторон компонента Image (дуга должна касаться нижней строки компонента). (при любом изменении размеров и положения компонента Image2 фигура должна строиться правильно, т.е. согласно заданию, относительно компонента Image2)

  4. изменять цвет линии, рисуемой в Image2 фигуры по желанию пользователя с помощью компонента ColorDialog.

Задание №2

Создайте приложение, которое позволяет расположить в компоненте Image случайным образом несколько надписей (например, слово «Ура!»). Для реализации используйте генератор случайных чисел Randomize и функцию Random.

Размеры компонента Image, слово выводимое в Image и количество слов – должен вводить пользователь.

Задание №3

Создайте приложение, позволяющее: в ыбирать из компонента Radiogroup1 тип рисуемой фигуры, из компонента Radiogroup2 - цвет закраски и рисовать в компоненте Image выбранную фигуру.
Задание №4

Создайте приложение, позволяющее задавать пользователю размеры компонента PaintBox1(в пикселях).

Предусмотреть, что размер стороны не может быть текстом, не может быть отрицательным числом и не может превышать меньшего размера формы.

Разделите компонент PaintBox1 на 2 равные части, внутри каждой части нарисовать эллипс, закрашенный в цвет, выбранный пользователем в ColorDialog.