Logo GenDocs.ru

Поиск по сайту:  

Загрузка...

Лабораторная работа Разработка программного проекта в системе Delphi. Разработка средств контроля данных в прикладной программе - файл 1.doc


Лабораторная работа Разработка программного проекта в системе Delphi. Разработка средств контроля данных в прикладной программе
скачать (235 kb.)

Доступные файлы (1):

1.doc235kb.17.11.2011 14:26скачать

содержание

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

Project1.cfg Project1.dpr




*.pas


Unit 1

Unit 3


Unit 4

*.dfm


*.dcu

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.

^ Таблица 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.

^ Таблица 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.


^ Таблица 3.

Свойства компонентов формы

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



^ Таблица 4.

Свойства компонентов

формы 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





^ Рис. 6 Сообщение об ошибке несоответствия введенных значений переменных условиям задачи





Рис. 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.)

Поиск по сайту:  

© gendocs.ru
При копировании укажите ссылку.
обратиться к администрации