Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Создание оконного приложения





Создание оконного приложения выполните согласно предложенного сценария и выполните требования.

1. Разобрать приложение под Windows согласно сценария, приведенного в задании 1 с целью знакомства с разработкой оконных приложений.

2. Разработать приложение под Windows на основе варианта лабораторной работы 9. В приложении использовать модули Unit_def, Unit_operation, разработанные в лабораторной работе 9.

Задание 1. Создание оконного приложения.

Создать приложение под Windows для заполнения и отображения записей следующей структуры: ФИО сотрудника, адрес(город, улица), количество детей, управляемое с помощью оконного пользовательского интерфейса, созданного на основе формы.

1. Создайте модуль Unit и включите в него определение типа записи. Сохраните модуль в папке данной лаб.работы с именем TypeRecord.

type

TAdress= record

city:string[80];

street:string[80];

end;

Trec=record

FIO:string[40];

Adress:TAdress;

Childs:byte;

end;

2. Создайте проект под Windows, выполнив команду FileàNewàApplication, и подключите к нему ваш модуль.

3. Создайте проект формы, обеспечивающей ввод данных в поля записи, отображение записи, очистку полей записи, закрытие формы. Для ввода данных используйте компонент VCL Edit, ComboBox, ListBox, для отображения записей компонент Memo, для очистки полей Edit, ComboBox, ListBox используйте их метод Clear. Для выполнения пользователем операций: ввод данных в переменную типа запись, вывод значения переменной, очистку полей, закрытие формы, включите в проект четыре кнопки типа Button. Для подписей назначения элемента управления, представленного в форме используйте компонент Label. Пример проекта приведен на рис 9.

4. Реализация проекта формы.

· Объявите переменные r – для записи и i для номера вводимой записи, видимые во всех подпрограммах модуля, в интерфейсной части модуля формы.

· Измените свойство Caption всех меток на их содержание, используя, инспектор объектов для каждой метки. Установите свойство WordWrap для Label3 равным true.

· Подпишите кнопки, изменив свойство Caption, каждой кнопки, согласно операции, которая будет выполняться при щелчке по этой кнопке.

 

Рис.9. Проект формы приложения

 

· Сделайте элементы Edit, ComboBox, ListBox одного размера и расположите их на одинаковом расстоянии, для этого выделите все поля и вызовите контекстное меню, щелкнув на выделенных объектах правой клавишей мыши. Раскройте меню команды Position и выполните указанные действия.

· Введите подписи названий полей записи в первую строку Memo поля. Для этого откройте свойство lines и в окне редактора строк очистите первую строку и введите текст согласно образцу на рис.9.

· Заполните источник данных (свойство Items) элемента ComboBox. Для этого щелкните по кнопке свойства Items элемента ComboBox, введите названия городов в открывшемся окне редактора строк. Закройте окно редактора, щелкнув по кнопке ОК.

· Заполните источник данных (свойство Items) элемента ListBox. Для этого щелкните по кнопке свойства Items элемента ListBox, введите названия улиц в открывшемся окне редактора строк. Закройте окно редактора.

· Измените свойство Caption формы согласно образцу на рис.10.

5. Реализация обработчиков событий кнопок OnClick.

· Разработайте процедуру обработки события OnC l ick для кнопки Закрыть форму. Для этого дважды щелкните по кнопке, откроется окно кода приложения и процедура обработки этого события. Введите в тело процедуры команду Close. Для перехода в окно редактора кода щелкните в нем мышью.

procedure TForm1.Button4Click(Sender: TObject);

begin

Close

end;

· Разработайте обработчик события OnClick для кнопки, Ввод записи и в тело процедуры добавьте операторы, которые заполняют переменную r типа запись. успешного формирования записи активизируйте кнопку Button1, оператором Button1.Enabled:=true; который сделает кнопку доступной.

 

Рис.10. Реализованный проект формы

 

procedure TForm1.Button1Click(Sender: TObject);

var

i:integer;

begin

r.FIO:=edit1.Text;

r.Adress.city:=ComboBox.Text;

i:= listBox.ItemIndex;

r.Adress.street:=listBox.Items[i];

r.Childs:=strtoint(edit3.Text);

end;

· Разработайте обработчик события OnClick для кнопки, Очистить поля и в тело процедуры добавьте операторы вызова метода Clear для каждого поля. Последним оператором будет оператор, устанавливающий фокус на первое поле ввода – Edit1. SetFocus – это метод объекта, обеспечивающий перемещение (фокуса) курсора в указанный элемент управления.

procedure TForm1.Button2Click(Sender: TObject);

begin

edit1.Clear;

ComboBox.text:=’’;

edit3.Clear;

edit1.Setfocus;;

end;

· Разработайте обработчик события OnClick для кнопки Отобразить запись и в тело процедуры вставьте операторы, которые заполняют свойство lines каждой строки компонента Memo. Объект Memo1.lines[0] – это строка – заголовок объекта Memo1. Данные выводятся в Мемо, начина со строки с номером один.

procedure TForm1.Button3Click(Sender: TObject);

var

s:string;

begin

s:=r.FIO+' ‘+r.Adress.city+' '+ r.Adress.city+’ ‘+ inttostr(r.Childs);

Memo1.Lines.Add(s);

end;

5. Сохраните проект по команде FileàSave All в папке проекта.

6. Выполните отладку и тестирование проекта сначала на одной записи, затем на нескольких.

7. Внесите изменения в проект, включив в него обработчик, который обеспечит контроль ввода только числовых значений в поле Количество детей. Т.е. в это поле должно вводиться значение, состоящее только из цифр. Для этого поля разработайте обработчик события OnChange. При успешном вводе данных для всех полей этот обработчик должен активизировать кнопку Ввод записи Button1.Enabled:=true;.

procedure TForm1.Edit3Change(Sender: TObject);

var

x:byte;

err:integer;

begin

 

val(edit3.Text,x,err);

if (edit3.text<>'') And (err<>0) then

begin

showmessage('Ошибка ввода’); end

else Button1.Enabled:=true; //активизация кнопки Button1

end;

8. Выполните отладку и тестирование проекта, учитывая изменения.







Дата добавления: 2015-10-01; просмотров: 409. Нарушение авторских прав; Мы поможем в написании вашей работы!




Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...


ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...


Теория усилителей. Схема Основная масса современных аналоговых и аналого-цифровых электронных устройств выполняется на специализированных микросхемах...

Субъективные признаки контрабанды огнестрельного оружия или его основных частей   Переходя к рассмотрению субъективной стороны контрабанды, остановимся на теоретическом понятии субъективной стороны состава преступления...

ЛЕЧЕБНО-ПРОФИЛАКТИЧЕСКОЙ ПОМОЩИ НАСЕЛЕНИЮ В УСЛОВИЯХ ОМС 001. Основными путями развития поликлинической помощи взрослому населению в новых экономических условиях являются все...

МЕТОДИКА ИЗУЧЕНИЯ МОРФЕМНОГО СОСТАВА СЛОВА В НАЧАЛЬНЫХ КЛАССАХ В практике речевого общения широко известен следующий факт: как взрослые...

Классификация холодных блюд и закусок. Урок №2 Тема: Холодные блюда и закуски. Значение холодных блюд и закусок. Классификация холодных блюд и закусок. Кулинарная обработка продуктов...

ТЕРМОДИНАМИКА БИОЛОГИЧЕСКИХ СИСТЕМ. 1. Особенности термодинамического метода изучения биологических систем. Основные понятия термодинамики. Термодинамикой называется раздел физики...

Травматическая окклюзия и ее клинические признаки При пародонтите и парадонтозе резистентность тканей пародонта падает...

Studopedia.info - Студопедия - 2014-2025 год . (0.012 сек.) русская версия | украинская версия