Файл: Лабораторная работа 1 Часть i 13 лабораторная работа n 1 Часть ii 16 лабораторная работа n 1 Часть iii 1.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.11.2023
Просмотров: 320
Скачиваний: 2
СОДЕРЖАНИЕ
ЛАБОРАТОРНАЯ РАБОТА № 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.
Тема 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
-
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;
-
Procedure Chord (x1, x2, x3, x4, y1, y2, y3, y4: integer); - рисует хорду – прямую, соединяющую 2 точки эллипса: точку с координатами (x3,y3) с точкой (x4,y4).
Пример: Подставьте в примере, приведенном для метода Arc, метод Chord и получите такой результат.
-
Procedure Pie (x1, x2, x3, x4, y1, y2, y3, y4: integer); - рисует сегмент эллипса, соединяющего центр эллипса с координатами (x3, y3) и (x4, y4).
Пример: Подставьте в примере, приведенном для метода Arc, метод Pie и получите такой результат.
-
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) – передает в буфер обмена изображение из компонента.
Замечание:
-
Delphi позволяет перемещать через буфер обмена ClipBoard объекты в пяти форматах:-
CF_TEXT – текстовая информация; -
CF_METAFILE – метафайл; -
CF_PICTURE – пиктограмма; -
CF_OBJECT – объект (компоненты); -
CF_BITMAP – битовая карта.
-
-
Изображение в свойстве 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 кнопки ("Загрузить картинку", "Построить геометрическую фигуру", "Изменить цвет", "Выход"), и позволяет:
-
а) загружать в компонент Image1, выбранное пользователем графическое изображение таким образом, чтобы изображение занимало всю область компонента Image. -
б) под компонентом Image1 выводить надпись «Это картинка из файла <имя файла>.(при любом измерении размеров и положения компонента Image1 надпись должна находиться строго под компонентом). -
рисовать внутри компонента Image2 геометрическую фигуру: закрашенный сегмент эллипса, соединяющий середину компонента Image с серединами нижней и правой сторон компонента Image. (при любом изменении размеров и положения компонента Image2 фигура должна строиться правильно, т.е. согласно заданию, относительно компонента Image2) -
изменять цвет линии, рисуемой в 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 кнопки ("Загрузить картинку", "Построить геометрическую фигуру", "Изменить цвет", "Выход"), и позволяет:
-
загружать в компонент Image1, выбранное пользователем графическое изображение таким образом, чтобы изображение занимало всю область компонента Image. -
под компонентом Image1 выводить надпись «Это картинка из файла <имя файла>. (при любом измерении размеров и положения компонента Image1 надпись должна находиться строго под компонентом). -
рисовать внутри компонента Image2 геометрическую фигуру: дугу эллипса, соединяющую середину левой и правой сторон компонента Image (дуга должна касаться нижней строки компонента). (при любом изменении размеров и положения компонента Image2 фигура должна строиться правильно, т.е. согласно заданию, относительно компонента Image2) -
изменять цвет линии, рисуемой в Image2 фигуры по желанию пользователя с помощью компонента ColorDialog.
Задание №2
Создайте приложение, которое позволяет расположить в компоненте Image случайным образом несколько надписей (например, слово «Ура!»). Для реализации используйте генератор случайных чисел Randomize и функцию Random.
Размеры компонента Image, слово выводимое в Image и количество слов – должен вводить пользователь.
Задание №3
Создайте приложение, позволяющее: в ыбирать из компонента Radiogroup1 тип рисуемой фигуры, из компонента Radiogroup2 - цвет закраски и рисовать в компоненте Image выбранную фигуру.
Задание №4
Создайте приложение, позволяющее задавать пользователю размеры компонента PaintBox1(в пикселях).
Предусмотреть, что размер стороны не может быть текстом, не может быть отрицательным числом и не может превышать меньшего размера формы.
Разделите компонент PaintBox1 на 2 равные части, внутри каждой части нарисовать эллипс, закрашенный в цвет, выбранный пользователем в ColorDialog.