Файл: Лабораторная работа 1 Часть i 13 лабораторная работа n 1 Часть ii 16 лабораторная работа n 1 Часть iii 1.docx
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 10.11.2023
Просмотров: 299
Скачиваний: 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
ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 6 вариант
Задание №1
Создайте приложение, позволяющее:
-
формировать таблицу StringGrid с 8 столбцами и 8 строками; -
закрашивать ячейки таблицы таким образом, чтобы она выглядела как шахматная доска; -
изменять набор цветов закраски ячеек по выбору пользователя через ColorGrid.
Задание №2
Создайте приложение, позволяющее:
-
устанавливать количество строк и столбцов таблицы StringGrid равные числам, введенным пользователем; -
заполнить список Сombobox значениями, введёнными пользователем в ячейки таблицы; -
изменять цвет символов в таблице на выбранный пользователем.
Задание №3
Разработать приложение, позволяющее:
-
задавать фактическую размерность одномерного массива А целых чисел в компоненте SpinEdit1 и проверять корректность ввода; -
отображать на экране компонент StringGrid1 (количество строк – одна, количество столбцов соответствует фактической размерности массива); -
вводить элементы массива А в ячейки таблицы StringGrid1 (обеспечив ввод в ячейку таблицы только допустимые символы, т.е. цифры и знак минус первым символом); -
находить и визуализировать на форме:
а) количество чётных элементов массива;
б) среднее арифметическое значение отрицательных элементов массива;
в) максимальный элемент массива.
Рекомендация: Обработку корректности ввода элементов массива в ячейки таблицы StringGrid1, можно реализовать в процедуре обработки события OnKeyPress:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
Case key of
'0'. .'9', #8 : ; // цифрыи
#13 : if stringgrid1.Col < stringgrid1.ColCount-1 then stringgrid1.Col := stringgrid1.Col + 1; // принажатии
'-' : if length(stringgrid1.Cells[stringgrid1.Col, 0] ) <> 0 then key := #0; // минусможновводитьвячейку //толькопервымсимволом
else key := #0; // остальные символы запрещены для ввода
end;
end;
ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 7 вариант
Задание 1
Создайте приложение, позволяющее:
-
устанавливать количество строк и столбцов таблицы StringGrid равные числам, введенным пользователем; -
закрашивать все нечетные строки таблицы цветом выбранным пользователем.
Цвет закраски выбирается пользователем при помощи ColorGrid или ColorDialog.
Задание 2
Создайте приложение, позволяющее:
-
устанавливать количество строк и столбцов таблицы StringGrid равные числам, введенным пользователем; -
заполнять список Combobox во время работы приложения; -
заполнить ячейки таблицы элементами списка Сombobox; -
изменять цвет символов в таблице на выбранный пользователем.
Задание №3
Разработать приложение, позволяющее:
-
задавать фактическую размерность одномерного массива А целых чисел в компоненте SpinEdit1 и проверять корректность ввода; -
отображать на экране компонент StringGrid1 (количество строк – одна, количество столбцов соответствует фактической размерности массива); -
- вводить элементы массива А в ячейки таблицы StringGrid1 (обеспечив ввод в ячейку таблицы только допустимые символы, т.е. цифры и знак минус первым символом); -
находить и визуализировать на форме:
а) количество чётных элементов массива;
б) среднее арифметическое значение отрицательных элементов массива;
в) максимальный элемент массива.
Рекомендация: Обработку корректности ввода элементов массива в ячейки таблицы StringGrid1, можно реализовать в процедуре обработки события OnKeyPress:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
Case key of
'0'. .'9', #8 : ; // цифрыи
#13 : if stringgrid1.Col < stringgrid1.ColCount-1 then stringgrid1.Col := stringgrid1.Col + 1; // принажатии
'-' : if length(stringgrid1.Cells[stringgrid1.Col, 0] ) <> 0 then key := #0; // минусможновводитьвячейку //толькопервымсимволом
else key := #0; // остальные символы запрещены для ввода
end;
end;
ЛАБОРАТОРНАЯ РАБОТА № 3 / Часть II / 8 вариант
Задание №1
Создайте приложение, позволяющее:
-
устанавливать количество строк и столбцов таблицы StringGrid равные числу, введенному пользователем; -
закрашивать все ячейки таблицы указанной строки и указанного столбца цветом выбранным пользователем.
Цвет закраски выбирается пользователем при помощи ColorGrid или ColorDialog.
Задание №2
Создайте приложение, позволяющее:
-
устанавливать количество столбцов и строк таблицы StringGrid равными числам, вводимым пользователем; -
переместить содержимое ячеек указанного пользователем столбца таблицы StringGrid в список ListBox; -
изменять цвет фона и символов в таблице на выбранный пользователем.
Задание №3
Разработать приложение, позволяющее:
-
задавать фактическую размерность одномерного массива А целых чисел в компоненте SpinEdit1 и проверять корректность ввода; -
отображать на экране компонент StringGrid1 (количество строк – одна, количество столбцов соответствует фактической размерности массива); -
вводить элементы массива А в ячейки таблицы StringGrid1 (обеспечив ввод в ячейку таблицы только допустимые символы, т.е. цифры и знак минус первым символом); -
находить и визуализировать на форме:
а) количество чётных элементов массива;
б) среднее арифметическое значение отрицательных элементов массива;
в) максимальный элемент массива.
Рекомендация: Обработку корректности ввода элементов массива в ячейки таблицы StringGrid1, можно реализовать в процедуре обработки события OnKeyPress:
procedure TForm1.StringGrid1KeyPress(Sender: TObject; var Key: Char);
begin
Case key of
'0'. .'9', #8 : ; // цифрыи
#13 : if stringgrid1.Col < stringgrid1.ColCount-1 then stringgrid1.Col := stringgrid1.Col + 1; // принажатии
'-' : if length(stringgrid1.Cells[stringgrid1.Col, 0] ) <> 0 then key := #0; // минусможновводитьвячейку //толькопервымсимволом
else key := #0; // остальные символы запрещены для ввода
end;
end;
Тема 4. Графические средства Delphi
Delphi представляет разработчику три способа отображения графики:
-
Построение графиков во время работы программы. -
Использование заранее созданных графических изображений. -
Создание изображений при помощи графических компонентов.
Для построения графиков созданы специальные классы, предоставляющие инструменты и методы для рисования: инструменты рписаны в трех классах – TFont, TPen, TBrush; область рисования и методы предоставляет класс TCanvas.
Класс TFont – задает характеристики шрифта, которым отображается текст в канве. Свойства класса описаны в разделе «Тема 1».
Класс TPen – задает характеристики пера (карандаша), с помощью которого рисуются линии.
Свойства класса TPen:
Color: TColor –
Width: integer –
Style = ( | psSolid | psDash | psDot | psDashDot | PsClear) | - определяет стиль линии. |
| сплошная | штриховая | пунктирная | штрих-пунктирная | невидимая | |
Класс TBrush – задает характеристики кисти, которой закрашиваются поверхности изображения.
Свойства класса TBrush:
Color: TColor – цвет кисти (по умолчанию белый);
Style – орнамент кисти, может принимать значения:
bsClear – отсутствует закраски;
bsVertical – вертикальные линии;
bsBdiagonal – правые диагональные линии;
bsDiagCross – косая клетка;
bsSolid – сплошная закраска;
bsHorizontal – горизонтальные линии;
bsFdiagonal – левые диагональные линии;
bsCross – клетка.
Класс TCanvas – определяет поверхность, на которой помещается создаваемое изображение, и инструменты, с помощью которых создается изображение: шрифт, карандаш, кисть.
В качестве рабочей области (канвы, «холста») по умолчанию используется вся клиентская область формы (без заголовка, главного меню и линий скроллинга формы), но можно внутри формы отводить меньшие рабочие области при помощи компонентов PaintBox или Image. Начало координаты канвы – верхний левый угол рабочей области, ширина рабочей области определяется свойством ClientWidth, высота – свойством ClientHeight.
Свойства класса TCanvas:
Canvas: TCanvas – определяет область рисования;
Brush: TBrush – кисть для закраски замкнутых фигур;
Font: TFont – шрифт для отображения текста на канве;
Pen: TPen – карандаш (перо) для рисования;
PenPos: TPoint – текущее положение невидимого курсора на канве;
Замечание: тип TPoint определяется следующим образом:
Type TPoint = record
x: longint;
y: longint;
end;
Pixels[x,y:integer]:TColor – задает цвета пикселов канвы, X, Y – координаты пиксела. Свойства Pixels удобно использовать для построения графиков при помощи точек выбранного цвета.
Основные методы класса TCanvas
-
Procedure MoveTo (x,y: integer); - перемещает перо без рисования линии в точку с координатами (x,y). -
Procedure LineTo (x,y: integer); - рисует линию от текущей точки до точки с координатами (x,y).
Пример: Нарисуем диагональную линию синего цвета на форме из левого верхнего угла формы до правого нижнего угла.
with canvas do begin
pen.color:=clblue;
MoveTo(0,0);
LineTo(ClientWidth, ClientHeight);P rocedure Rectange (x1, x2, y1, y2: integer);
End;
-
Procedure Rectangle (x1, x2, y1, y2: integer); - рисует прямоугольник: x1, y1 – координаты верхнего левого угла, x2, y2 – координаты правого нижнего угла.
Пример: Нарисуем закрашенный в желтый цвет квадрат со стороной 6 пикселов в середине формы.
varXc, Yc: integer; //координаты центра клиентской области формы
begin
Xc:=ClientWidth div 2;
Yc:=ClientHeight div 2;
Canvas.Brush.Color:=clYellow;
CAnvas.Rectangle(Xc-30,Yc-30,Xc+30,Yc+30);
End;
-
Procedure Ellipse (x1, x2, y1, y2: integer); - рисует эллипс, вписанный в прямоугольник с указанными координатами.
Пример: Нарисуем эллипс, вписанный в компонент PaintBox.
PaintBox1.Canvas.Pen.Width:=4; // ширина линии – 4 пиксела
PaintBox1.Canvas.Ellipse(0,0,PaintBox1.ClientWidth, PaintBox1.ClientHeight);
-
Procedure Polygon (Points: array of TPoint); - рисует замкнутый многоугольник, заданный массивом координат.
Замечание: существует стандратная фукнкция Point, которая позволяет указанные координаты X, Y преобразовать в тип TPoint˗> FunctionPoint (x,y:integer): Point;
Пример: Нарисуем закрашенный ромб, соединяющий середины сторон формы.
varXc, Yc: integer; //координаты центра клиентской области формы
begin
Xc:=ClientWidth div 2;
Yc:=ClientHeight div 2;
Canvas.Brush.Color:=RGB(255,140,70);
CAnvas.Polygon([Point(Xc,0),Point(ClientWidth,Yc),Point(Xc,ClientHeight),Point(0,Yc)]);