Лабораторная работа Разработка программного проекта в системе Delphi. Разработка средств контроля данных в прикладной программе
скачать (235 kb.)
Доступные файлы (1):
1.doc | 235kb. | 17.11.2011 14:26 | ![]() |
содержание
- Смотрите также:
- Диплом - Разработка системы компьютерного контроля знаний по дисциплинам кафедры [ дипломная работа ]
- Разработка программного продукта [ курсовая работа ]
- Артемов М.А., Караичев С.А. Разработка и стандартизация программных средств и информационных технологий. Разработка и оформление программной документации [ документ ]
- Разработка проекта информационной системы предприятия [ лабораторная работа ]
- АСУ и обработка информации на предприятии [ документ ]
- Разработка автоматизированной системы автотехсервис [ документ ]
- Курсовой проект по мдк: 01. 02 Поддержка и тестирование программных модулей на тему: Разработка, поддержка и тестирование программного модуля: браузер [ документ ]
- №3 Разработка содержания проекта Цель работы: изучить основные этапы разработки содержания проекта [ документ ]
- Web-сайт художественного салона [ документ ]
- по ТРПП [ документ ]
- Задачи курсового проекта [ документ ]
- по предмету Технология разработки ПО для подготовки к экзамену [ документ ]
1.doc
Федеральное агентство по образованиюПензенская государственная ..
Кафедра информатики
Отчет
по лабораторной работе
по дисциплине
«Объектно-ориентированное программирование»
Выполнила: студентка группы М.А.,
Проверил: К..
Пенза 2008
Лабораторная работа
«Разработка программного проекта в системе Delphi.
Разработка средств контроля данных в прикладной программе»
Цель работы
Целью лабораторной работы стало освоение инструментальных средств и технологии создания прикладных программ, освоение методов и средств контроля данных и выполняемых операций в прикладных программах, разработка процедур контроля данных с использованием среды визуального программирования (СВП) Delphi.
При выполнении лабораторных работ выполнено проектирование пользовательского интерфейса, составлены тексты процедур для решения поставленной вычислительной задачи, отлажена программа, выполнено документирование разработки.
^
Задание на лабораторную работу состоит в том, чтобы познакомиться с назначением среды визуального программирования Delphi, компонентами интерфейса, изучить и освоить основные приемы работы в этой среде; разработать простую программу в среде Delphi, которая выполняет ввод данных заданного типа, выполняет вычисления и выводит результат; освоить средства отладки программ в СВП Delphi, позволяющие обнаружить и исключить алгоритмические (логические) ошибки в программе, разработать процедуры контроля данных в прикладной программе и дополнить функции программы выводом формы «О программе».
Программа создана на основании исходных данных соответствующего варианта задания, которые приведены ниже:
№ вар | Компонент для выбора функции | Компонент для окончания работы | Компонент для вывода результата | Типы данных | Функции |
6 | Метка | Метка | Memo | Integer | Y=B2 / A |
№ вар | Операторы для контроля | Исключения | Проверка | |||
Try … except … | If … then … | Стандартные | Оригинальные | Диапазоны данных | Отношения между данными | |
6 | - | + | + | + | |B|<150 | A < B |
^
В результате работы был создан программный проект следующей иерархической структуры (рис. 1):
Project 1
Project1.dpr Project1.dof
Project1.res Project1.exe





*.pas
Unit 1
Unit 3
Unit 4
*.dfm






TForm1.Label6Click
TAboutBox.OKButtonClick
TForm4.Button1Click





TForm1.Label5Click
TForm4.Button2Click


TForm1.Label4Click

TForm1.N3Click

TForm1.N2Click


Процедуры-обработчики событий
в составе модулей Unit1, Unit2, Unit3 проекта
рис. 1 Иерархическая модель программы
Алгоритм работы программы представлен блок-схемой (рис. 2):









+ -






ShowMessage('Не задано значение А' (В))







ShowMessage('Недопустимое значение А. Деление на 0')


+ -







ShowMessage('Не удовлетворяется условие задачи А<В')








ShowMessage('Не удовлетворяется условие задачи В<150')
Результат = В2/А





Рис. 2 Блок-схема алгоритма
Для решения поставленной задачи были созданы три формы – форма, непосредственно в которой производится расчет значений функции У=В2/А при задаваемых значениях А и В; «Главная» форма, открывающаяся сразу после запуска файла ЕХЕ; форма AboutBox «О программе».
Сведения о функциях, выполняемых процедурами, использованными во всех формах проекта, отражены в таблице 1.
^
Процедуры и элементы управления
^ | Назначение, выполняемые функции | Элемент управления | ||
название | имя (идентификатор) | надпись | ||
procedure TForm1.Label6Click | Закрытие формы | метка | Label6 | Закрыть |
procedure TForm1.Label5Click | Сброс данных, очистка полей Edit1, Edit2, Memo1 | метка | Label5 | Сброс |
procedure TForm1.Label4Click | Вычисление функции У=В2/А, вывод результата в поле Memo1 | метка | Label4 | Рассчитать |
procedure TForm1.N3Click | Закрытие формы | Пункт меню | N3 | Закрыть |
TForm1.N2Click | Вызов формы AboutBox | Пункт меню | N2 | О программе |
procedure TAboutBox.OKButtonClick | Закрытие формы «О программе» | Кнопка | OKButton | Ok |
procedure TForm4.Button1Click | Закрытие главной формы | Кнопка | Button1 | Закрыть |
procedure TForm4.Button2Click | Вызов формы Form1 | Кнопка | Button2 | Начать |
Данные о значениях свойств компонентов, использованных в форме Form1, измененных по сравнению с первоначальными значениями, описаны в таблице 2.
^
Свойства компонентов формы Form1
«Решение функции У = В2 / А»
^ | Надпись | Свойство | Значение | |
Окно ввода, Edit1 | - | ParentShowHint | True | |
| Text | - | ||
| Hint | Поле для ввода значения переменной А | ||
Окно ввода, Edit2 | - | ParentShowHint | True | |
| Text | - | ||
| Hint | Поле для ввода значения переменной В | ||
Окно вывода, Memo1 | - | ParentShowHint | True | |
| Hint | Поле вывода результата | ||
Метка, Label1 | Введите А | Font / Size | 15 | |
| Caption | Введите А | ||
Метка, Label2 | Введите В | Font / Size | 15 | |
| Caption | Введите В | ||
Метка, Label3 | Результат | Font / Size | 15 | |
| Caption | Результат | ||
Метка, Label4 | Рассчитать | Font / Size | 15 | |
| Caption | Рассчитать | ||
| ParentShowHint | True | ||
| Hint | Нажмите для подсчета результата | ||
Метка, Label5 | Сброс | Font / Size | 15 | |
| Caption | Сброс | ||
| ParentShowHint | True | ||
| Hint | Нажмите для очистки полей ввода | ||
Метка, Label6 | Закрыть | Font / Size | 15 | |
| Caption | Закрыть | ||
| ParentShowHint | True | ||
| Hint | Нажмите для выхода | ||
MainMenu1 | - | Name | MainMenu1 |
Аналогичные данные о значениях свойств компонентов форм AboutBox и Form4, описаны соответственно в таблицах 3 и 4.
^
Свойства компонентов формы
AboutBox «О программе»
^ | Надпись | Свойство | Значение |
ProductName | Программа расчета функции квадрат В/А | Font / Size | 20 |
| Font / Name | Palatino Linotype | |
Version | Учебная версия студентки группы 05ММ1з Кольцовой М.А. | Font / Size | 8 |
| Font / Name | MS Sans Serif | |
Comments | Внимание! Данная программа защищена законами… | Font / Size | 8 |
| Font / Name | MS Sans Serif | |
Кнопка, OkButton | Ok | ParentShowHint | True |
| Hint | Нажмите для закрытия окна | |
ProgramIcon | - | Picture | TJPEGImage |
^
Свойства компонентов
формы Form4 «Главная»
^ | Надпись | Свойство | Значение |
Метка, Label1 | Программа расчета функции У=В2/А | Font / Size | 18 |
| Font / Name | MS Sans Serif | |
Кнопка, Button1 | Закрыть | ParentShowHint | True |
| Hint | Нажмите для выхода из программы | |
Кнопка, Button2 | Начать | ParentShowHint | True |
| Hint | Нажмите для начала работы |
Модули к программе в среде визуального программирования (СВП) Delphi после добавления кодов процедур и закомментированных пояснений, приняли следующий вид:
Модуль к форме Form1
unit Unit1;
interface
uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, Menus;
Type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Edit1: TEdit;
Edit2: TEdit;
Memo1: TMemo;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N3: TMenuItem;
N4: TMenuItem;
N5: TMenuItem;
procedure Label6Click(Sender: TObject);
procedure Label5Click(Sender: TObject);
procedure Label4Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
Public
{ Public declarations }
end;
var
Form1: TForm1;
Implementation
uses Unit2, Unit3;
{$R *.dfm}
procedure TForm1.Label6Click(Sender: TObject); {закрытие формы по клику на метке «Закрыть»}
begin
Close;
end;
procedure TForm1.Label5Click(Sender: TObject); {очистка полей ввода и вывода данных по клику на метке «Сброс»}
begin
Edit1.Text:='';
Edit2.Text:='';
Memo1.Text:='';
end;
procedure TForm1.Label4Click(Sender: TObject); {расчет результата по клику на метке «Рассчитать»}
begin
Memo1.text:='';
if trim(Edit1.text)= '' {проверка наличия данных в окне Edit1 без генерации исключений}
then
begin
ShowMessage('Не задано значение А');
Edit1.setfocus;
Exit
end;
begin
Memo1.text:='';
if trim(Edit2.text)= '' {проверка наличия данных в окне Edit1 без генерации исключений}
then
begin
ShowMessage('Не задано значение B');
Edit2.setfocus;
Exit
end;
end;
begin
if trim(Edit1.text)= '0' {обработка исключительного случая А=0}
then
begin
ShowMessage('Недопустимое значение А. Деление на 0');
Edit1.setfocus;
Exit
end;
end;
begin
Memo1.text:='';
if StrToInt(Edit1.Text)> StrToInt(Edit2.Text) {проверка соблюдения условий задачи}
then
begin
ShowMessage('Не удовлетворяется условие задачи А<В');
Exit
end;
end;
begin
Memo1.text:='';
if StrToInt(Edit2.Text)>149 {проверка соблюдения условий задачи}
then
begin
ShowMessage('Не удовлетворяется условие задачи /В/<150');
Exit
end;
end;
begin
Memo1.Text:=FloatToStr(StrToInt(Edit2.Text)*StrToInt(Edit2.Text)/StrToInt(Edit1.Text));
end;
end;
procedure TForm1.N3Click(Sender: TObject); {Закрытие формы по клику в пункте главного меню «Закрыть»}
begin
Close;
end;
procedure TForm1.N2Click(Sender: TObject); {Вызов формы «О программе» в модальном режиме по клику на пункте главного меню «О программе»}
begin
AboutBox.ShowModal;
end;
end.
Модуль к форме AboutBox
unit Unit3;
interface
uses Windows, SysUtils, Classes, Graphics, Forms, Controls, StdCtrls,
Buttons, ExtCtrls, jpeg;
type
TAboutBox = class(TForm)
Panel1: TPanel;
ProgramIcon: TImage;
ProductName: TLabel;
Version: TLabel;
Comments: TLabel;
OKButton: TButton;
Label1: TLabel;
Label2: TLabel;
procedure OKButtonClick(Sender: TObject);
private
{ Private declarations }
Public
{ Public declarations }
end;
var
AboutBox: TAboutBox;
implementation
{$R *.dfm}
procedure TAboutBox.OKButtonClick(Sender: TObject); {Закрытие формы «О программе» по клику на кнопке «Ok»}
begin
Close;
end;
end.
Модуль к форме Form4
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm4 = class(TForm)
Button1: TButton;
Button2: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
Label7: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit1;
{$R *.dfm}
procedure TForm4.Button1Click(Sender: TObject); {Закрытие формы «Главная» по клику на кнопке «Закрыть»}
begin
Close;
end;
procedure TForm4.Button2Click(Sender: TObject); {Вызов формы Form1 в модальном режиме по клику на кнопке «Начать»}
begin
Form1.ShowModal;
end;
end.
^

Рис. 3 Вызов главной формы программы по открытию файла ЕХЕ

Рис. 4 Сообщение об отсутствии данных в поле Edit1 генерируется по нажатию на метку «Рассчитать»

Рис. 5 Сообщение об ошибке деления на 0

^ Сообщение об ошибке несоответствия введенных значений переменных условиям задачи
…
Рис. 7 Форма «О программе»

Рис. 8 Работа главного меню программы
^
Для отладки созданной программы был использован набор специальных инструментальных средств, который имеется в составе СВП Delphi. Это - наблюдение значений переменных через пункты меню View / Debug Windows / Watches, изменение значений переменных в процессе выполнения программы «по шагам» через пункты меню Run / Evaluate / Modify (или View / Evaluate / Modify), выполнение программы «по шагам» с использованием «горячих» клавиш F8 (Step over - «Шаг поверх …»), F7 (Trace into - «Трассировка с заходом в …»), Shift+F7 (Trace to next source line - «Трассировка до следующей строки»), F4 (Run to cursor - «Выполнить до курсора»), установка точек прерывания (breakpoint) с помощью щелчка на левом поле у нужной строки текста программы, использование «инспектора отладки» (Debug Inspector).
Выводы
Созданная программа позволяет выполнять:
вывод главной формы с заголовком «Программа расчета функции У=В2/А», соответствующим назначению программы;
- ввод данных в режиме диалога;
проверку наличия исходных данных перед вычислением и вывод соответствующих сообщений об ошибках: «Не задано значение А», «Не задано значение В», а также проверку допустимых значений переменных (Вывод сообщения при задании значения А, равном 0 – «Недопустимое значение А. Деление на 0»), проверку соответствия введенных значений заданному диапазону - В<150 и заданному соотношению между переменными – А<В с выводом соответствующих сообщений об ошибках;
вывод подсказок о назначении компонентов, заданных в свойстве Hint окна Object Inspector;
вывод формы «О программе».
Скачать файл (235 kb.)