- •Сборник практических работ
- •Практическая работа № 1 Управляющие структуры Delphi. Программирование линейных алгоритмов.
- •Усвоить применение компонентов Label, Edit, Button и BitBtn.
- •Получить практические навыки программирования линейных алгоритмов в Delphi.
- •Практическая работа № 2 Управляющие структуры Delphi. Программирование ветвящихся алгоритмов. Инструкция If
- •Изучить структуру простого проекта на языке Delphi.
- •Усвоить применение инструкции if.
- •Практическая работа № 3 Реализация ветвящихся алгоритмов для решения прикладных задач
- •Получить практические навыки работы с ветвящимися алгоритмами в Delphi.
- •Практическая работа № 4 Использование визуальных компонентов Delphi для организации структуры ветвления:
- •Получить практические навыки работы с ветвящимися алгоритмами в Delphi.
- •Усвоить применение компонента RadioButton.
- •Усвоить применение компонента RadioGroup.
- •Группа переключателей RadioGroup
- •0:MessageDlg('Внимание! Не выбран ни один цвет!',mtInformation,[mbOk],0);
- •Практическая работа № 5 Использование визуальных компонентов Delphi для работы со списками –
- •Получить практические навыки работы с ветвящимися алгоритмами в Delphi.
- •Усвоить применение компонента ListBox.
- •Усвоить применение компонента ComboBox.
- •Практическая работа № 6 Использование циклических структур в Delphi
- •Получить практические навыки работы с циклическими алгоритмами в Delphi.
- •Закрепить практические навыки применения компонентов ListBox, ComboBox.
- •Закрепить практические навыки применения компонентов RadioButton, RadioGroup.
- •Формат записи оператора Repeat…until:
- •Практическая работа № 7 Разработка простейшего приложения типа «Калькулятор»
- •Закрепить практические навыки применения компонентов страницы Standart.
- •Закрепить практические навыки написания обработчиков простейших событий.
- •Практическая работа № 8 Разработка приложения для обработки массива
- •Освоить работу с массивами.
- •Усвоить применение компонента StringGrid.
- •Практическая работа № 9 Разработка простейшего графического редактора
- •Порядок выполнения
- •Практическая работа № 10 Разработка приложений с использованием компонентов Shape и Image
- •Порядок выполнения
Практическая работа № 7 Разработка простейшего приложения типа «Калькулятор»
Цель работы:
Закрепить практические навыки применения компонентов страницы Standart.
Закрепить практические навыки написания обработчиков простейших событий.
Краткие теоретические сведения
Метка Label
Компонент Label размещен на закладке Standard и предназначен для размещения на форме однострочных текстовых надписей.
Строка ввода Edit представляет собой однострочное редактируемое текстовое поле.
Компонент Edit размещен на закладке Standard. Предназначена для ввода строки символов с клавиатуры.
Кнопка Button размещена на закладке Standard.
Обработчик события OnClick компонента Button используется для реализации некоторой команды.
Кнопка с изображением BitBtn размещена на закладке Additional и является разновидностью кнопки Button.
Особенность кнопки BitBtn – свойство Glyph, которое определяет растровое изображение на поверхности кнопки. В комплект Delphi входит множество рисунков, разработанных специально для размещения на кнопке BitBtn.
Переключатель RadioButton размещен на закладке Standart и предназначен для выбора одного из нескольких взаимоисключающих решений. Обычно переключатели размещаются на компоненте-контейнере (например, на компоненте GroupBox или Panel).
Группа переключателей RadioGroup размещена на закладке Standart и представляет собой специальный контейнер для размещения переключателей RadioButton.
Основные свойства компонента RadioGroup:
Items – содержит список заголовков переключателей
ItemIndex – содержит индекс установленного переключателя. Имеет значение –1, если не установлен ни один переключатель, значение 0, если установлен первый переключатель, значение 1, если установлен второй переключатель и т.д.
Задание 1.
Разработать проект простейшего стандартного приложения Windows типа “Калькулятор”.
Порядок выполнения
Загрузите визуальную среду программирования. Создать новый проект.
П
оместите
на форму визуальные компоненты, как
показано на рисунке и соответственно
измените их свойства:
Обратите внимание, что цифровые кнопки и кнопка разделителя разрядов (запятая) – компоненты Button – расположены на группирующей панели – компонент Panel. Т.е. панель должна быть помещена на форму до того, как вы будете помещать на нее компоненты Button.
Для цифровых кнопок и кнопки разделителя разрядов (запятая) создайте обработчики событий по аналогии с приведенным ниже для кнопки “1”:
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Edit1.Text:=form1.Edit1.Text+'1';
end;
Для объекта Form создайте следующий обработчик события:
procedure TForm1.FormActivate(Sender: TObject);
begin
form1.Edit1.Text:='';
end;
Создайте обработчики событий для кнопок арифметических операций и для знака равенства:
Кнопка операции… |
Обработчик события: |
+ |
procedure TForm1.BitBtn1Click(Sender: TObject); begin x:=StrToFloat(form1.Edit1.Text); form1.Tag:=1; form1.Edit1.Text:=''; end; |
– |
procedure TForm1.BitBtn2Click(Sender: TObject); begin x:=StrToFloat(form1.Edit1.Text); form1.Tag:=2; form1.Edit1.Text:=''; end; |
/ |
procedure Tform1.BitBtn3Click(Sender: TObject); begin x:=StrToFloat(form1.Edit1.Text); form1.Edit1.Text:=''; form1.Tag:=3; end; |
* |
procedure TForm1.BitBtn4Click(Sender: TObject); begin x:=StrToFloat(form1.Edit1.Text); form1.Edit1.Text:=''; form1.Tag:=4; end; |
= |
procedure TForm1.BitBtn5Click(Sender: TObject); begin y:=StrToFloat(form1.Edit1.Text); case form1.Tag of 0: begin MessageDlg ('Не выбрано ни одно из дейcтвий. Повторите ввод примера',mtError,[mbOk],0); form1.Edit1.Text:=''; end; 1: y:=y+x; 2: y:=x-y; 3: y:=x/y; 4: y:=x*y; end; form1.Edit1.Text:=FloatToStr(y); end; |
Кроме того, для этих же кнопок (для кнопок арифметических операций и для знака равенства) должны быть созданы обработчики событий очищающих поле Edit1 аналогично ниже приведенному:
procedure TForm1.BitBtn5Exit(Sender: TObject);
begin
form1.Edit1.Text:='';
end;
Переменные x, y должны быть глобальными, т.е. доступны во всех процедурах модуля. Для этого опишите их в разделе описания переменных модуля (т.е. в разделе Var в интерфейсной части модуля).
С
Самостоятельно создайте на форме кнопку, при щелчке по которой будет очищаться содержимое поля ввода Edit1.
Сохраните проект в вашем каталоге и запустите программу на исполнение. Ознакомьтесь с ее работой.
Задание 2-го уровня (дополнительное для самостоятельного выполнения)
Добавить в программу задания 1 расчет следующих функций: х2,
,
ех.Д
обавить
в программу кнопку , позволяющую
удалять последний введенный символ в
поле Edit.
Задание 3-го уровня (дополнительное для самостоятельного выполнения)
Добавить в программу задания 2 расчет следующих функций: lnХ, хy, sinX.
Задать два вида калькулятора: обычный (содержит операции +, –, *, /) и инженерный (содержит все операции и функции). Для этого все кнопки для вычисления функций разместить на панели, которая будет скрываться или открываться в зависимости от выбранного пользователем вида калькулятора.
Содержание отчета:
Постановка задачи
Тексты процедур – обработчиков событий, разработанных в приложении Delphi
Контрольные вопросы:
Для чего используется визуальный компонент Label?
Можно ли выводить данные с помощью компонента Edit?
Как программно очистить поле ввода Edit?
Для чего используется диалоговое окно MessageDlg?
При наступлении какого события буде выполнена процедураЮ имеющая следующий заголовок:
procedure TForm1.FormActivate(Sender: TObject);
Для чего используется компонент Panel?
С помощью каких визуальных компонентов можно организовать выбор пользователем одного из нескольких видов калькулятора?
Литература:
В.Попов. Паскаль и Дельфи.— СПб.: Питер, 2003.
Фаронов В.В. Система программирования Delphi. – СПб.: БХВ-Петербург, 2003.
