- •Лабораторная работа № 1 Среда программирования Delphi. Линейные алгоритмы
- •Краткие теоретические сведения
- •Графическая среда разработки Delphi
- •Компоненты
- •Обработка событий
- •Редактор кода
- •Компиляция
- •Отладка
- •Структура проекта
- •Сохранение проекта
- •Идентификаторы, операторы
- •Типы данных
- •Переменные
- •Константы
- •Выражение
- •Оператор присваивания
- •Комментарии
- •Стандартные функции
- •Ввод данных
- •Вывод результатов
- •Вывод в окно сообщения
- •Порядок выполнения работы
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 2 Программирование алгоритмов разветвляющейся структуры
- •Краткие теоретические сведения
- •Условие
- •Структура ветвления
- •Компонент Memo
- •Порядок выполнения работы
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 3 Операторы цикла. Создание изображений
- •Краткие теоретические сведения
- •Создание изображений
- •Класс tFont
- •Класс tPen
- •Класс tBrush
- •Компонент Image
- •Компонент Shape
- •Компонент Timer
- •Методы вычерчивания графических примитивов.
- •Порядок выполнения работы Пример1. Использования оператора цикла while
- •Пример2. Создание простейшего изображения.
- •Пример создания заставки
- •Пример 3. Создание приложения, содержащего круговую диаграмму.
- •Содержание отчета
- •Варианты заданий
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 4 Одномерные массивы. Цикл с параметром
- •Краткие теоретические сведения
- •Объявление массива
- •Цикл с параметром
- •Инициализация массива
- •Операции с массивами
- •Вывод массива
- •Ввод массива
- •Использование компонента StringGrid
- •Использование компонента Memo
- •Создание меню
- •Компонент tMainMenu
- •Диалоговые панели File Open и File Save
- •Вывод в файл
- •Открытие файла для записи
- •Закрытие файла
- •Ввод из файла
- •Открытие файла для чтения
- •Чтение чисел
- •Поиск минимального (максимального) элемента массива
- •Поиск в массиве заданного элемента
- •Сортировка массива
- •Порядок выполнения работы
- •Пример 2. Разработка диалоговой программы для работы с произвольным массивом вещественных чисел.
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 5 Двумерные массивы. Вложенные циклы.
- •Краткие теоретические сведения
- •Объявление матриц
- •Инициализация двумерного массива
- •Содержание отчета
- •Варианты заданий
- •Контрольные вопросы
- •Лабораторная работа № 6 Функциональная и интерфейсная эмуляция формы
- •Краткие теоретические сведения
- •Компонент Image
- •Многостраничный блокнот — компоненты tTabControl и tPageControl
- •Компоненты tTreeView w tListView
- •Задание к лабораторной работе
- •Варианты заданий
- •Контрольные вопросы
Порядок выполнения работы
Пример 1. Создание простейшего приложения, содержащего кнопки и простейшие компоненты для вывода текста, а также определение некоторых обработчиков событий.
Работа будет выполняться в три этапа.
Этап 1. Создание и сохранение проекта. Для этого выполните действия, описанные выше.
Итак, мы получили заготовку (прототип) будущего приложения. Теперь добавим в приложение кнопку, при нажатии которой будет появляться модальное окно с надписью «ПРИВЕТ». Для этого необходимо выполнить следующую последовательность действий:
Добавить в форму кнопку TButton со страницы Standard. Для этого на Палитре компонентов щелкните на значке компонента Button, который выглядит так:
С помощью мыши разместите кнопку на форме в нужном месте.
В окне Object Inspector измените с помощью свойства Caption заголовок кнопки Button1 на ОК. Аналогично измените свойство Caption формы Form1 на Лабораторная работа № 1.
Открыть Code Editor, выполнив двойной щелчок на кнопке ОК. Именно здесь вводятся строки кода, предписывающие необходимые действия программе, после нажатия на кнопку пользователя во время выполнения программы. Находясь в Code Editor, в теле процедуры TForm1.Button1Click наберите между зарезервированными словами begin и end следующие строки:
ShowMessage(‘ПРИВЕТ’);
Close;
Процедура ShowMessage создает стандартное окно для вывода сообщений. В скобках пишется текст сообщения, заключенный в кавычки. Метод Close закрывает окно формы, когда мы закроем модальное окно, щелкнув на кнопке Ok окна.
Полный текст модуля:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
ShowMessage (' ПРИВЕТ');
Close;
end;
end.
Компиляция и выполнение программы выполняется командой Run из меню Run (или F9). Теперь Delphi автоматически компилирует программу для генерирования кода времени выполнения (run–time code), необходимого для запуска проекта на выполнение. После выполнения программы на экране появится окно, вид которого приведен на рис. 1. 9.
Рис. 1.9. Окно приложения после выполнения пунктов 4, 5
После нажатия на кнопку ОК появится небольшое диалоговое окно с надписью ПРИВЕТ, вид которого приведен на рис. 1.10.
Рис. 1.10. Результат работы приложения
Это диалоговое окно является модальным, а это значит, что пока Вы не щелкните на кнопке ОК и не закроете модальное окно, программа дальше не выполняется.
При щелчке на кнопке OK программа завершит свое выполнение. Метод Close закрывает форму и управление возвращается к Delphi.
Этап 2. Немного усложним программу. С этой целью для вывода сообщения используем компонент TEdit, представляющий собой однострочный редактор. Для этого необходимо выполнить следующую последовательность действий:
Из палитры компонентов (страница Standard) выбрать компонент TEdit и разместить его на форме.
В Object Inspector изменить свойство Name объекта Edit1 на editHello, свойство Name объекта Button1 на btnHello и свойство Caption на Hello.
Выбрать свойство Text объекта editHello и очистить строку окна ввода/вывода.
Свойство ReadOnly объекта editHello установить равным True. Это позволит защитить строку ввода/вывода редактора от изменений.
Рис. 1.11 Окно приложения
Изменить тело процедуры TForm1.btnHelloClick. Удалить строки
ShowMessage(‘ПРИВЕТ’);
Close;
Вместо них набрать:
editHello.Text:=’ПРИВЕТ’
При выполнении процедуры свойству Text объекта editHello присваивается значение ’ПРИВЕТ’.
После запуска программы на экране появится окно, изображенное на рис. 1.11.
Результат выполнения программы при нажатии на кнопку Hello изображен на рис. 1.12.
Рис. 1.12. Результат работы приложения
Этап 3. Добавим на форму еще две кнопки, одна из которых (btnGoodBye) будет менять текст в строке editHello на ‘До свидания’, а вторая (btnClose) закрывать форму, завершая тем самым программу.
Для закрытия формы определим обработчик события
procedure TForm1.btnCloseClick(Sender: TObject);
begin
Form1.Close;
end;
При закрытии формы можно уточнить, действительно ли пользователь хочет завершить приложение, и в случае подтверждения закрывать форму и завершать приложение. Для этого в Проектировщике форм следует активизировать форму, выбрать в Инспекторе объектов вкладку Events и дважды щелкнуть в окне события OnCloseQuery. Затем определить обработчик события следующим образом:
procedure TForm1.Form1CloseQuery(Sender:TObject;
Var CanClose: boolean);
begin
if MessageDlg(‘Вы действительно желаете завершить работу программы?’, mtConfirmation , [mbYes, mbNo] ,0)= mrNo
then CanClose:=false;
end;
Обработчик события btnGoodByeClick пишется аналогично обработчику события btnHelloClick.
Пример 2.
Вычислить значения p = lg(a+x2)+sin2(z/a), t = xa и
при a=0,59; z= -4,8; x=2,1
Открыть новое приложение с помощью команды File| New Application.
Сохранить проект.
Добавить на форму три компонента Edit.
В Object Inspector Выбрать свойство Text добавленных компонентов и очистить строку ввода-вывода.
Добавить на форму 3 компонента Label. Установить для них свойства Caption равными a=, z= и x= соответственно.
Добавить на форму компонент Memo. Для компонента Memo1 выбрать свойство Lines и открыть окно String list editor. Удалить в нем строку ‘Memo1’.
Добавить на форму 2 кнопки (компонент Button). Установить для них свойства Caption равными Вычислить, Очистить и Выход соответственно. Окончательный вид формы показан на рис. 1.13.
Рис. 1.13. Вид формы приложения
В редакторе кода перед разделом Var добавить строку
Const a=0.59; z=-4.8; x=2.1;
Сделать двойной щелчок на кнопке Вычислить. В появившемся редакторе кода обработчик события определить так:
procedure TForm1.Button1Click(Sender: TObject);
Var y, p, c, t: real;
begin
Edit1.Text:=FloatToStr(a);
Edit2.Text:=FloatToStr(z);
Edit3.Text:=FloatToStr(x);
c:=ArcTan(a+x*x);
y:=Exp(3*Ln(c))+Sqrt(z*z/(a*a+x*x));
p:=(Ln(a+x*x))/Ln(10)+Sqr(Sin(z/a));
t:=Exp(a*Ln(x));
Memo1.Lines.Add('Результаты вычислений');
Memo1.Lines.Add('p='+FloatToStrF(p,FFfixed,5,4));
Memo1.Lines.Add('t='+FloatToStrF(t,FFfixed,5,4));
Memo1.Lines.Add('y='+FloatToStrF(y,FFfixed,5,4));
end;
Сделать двойной щелчок на кнопке Очистить. Обработчик события определить так:
procedure TForm1.Button2Click(Sender: TObject);
begin
Memo1.Clear;
end;
Сделать двойной щелчок на кнопке Выход. Обработчик события определить так:
procedure TForm1.Button3Click(Sender: TObject);
begin
Form1.Close;
end;
Откомпилировать и выполнить приложение.
Рис. 1.14. Пример работы приложения.