КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Тема: Создание проекта с использованием компонентов ввода и отображения чисел, дат и времени
Лабораторное занятие № 11
Цель: приобретение компетенции программирования методов типа TDateTime в системе Delphi. ТО и ПО: ОС Windows 7, Delphi 2010. МО: методические указания. Задание: Требуется разработать проект, демонстрирующий работу компонента Timer. Описание хода выполнения работы: 1 этап: Размещение компонентов приложения. Настройка основных свойств. Запустила систему программирования Delphi 2010. Создайте Delphi – проект. Со страницы Standart палитры компонентов поместила на форму один компонент: TLabel1. Со страницы Additional палитры компонентов поместила на форму один компонент: TStaticText. Компонент StaticText. Со страницы Additional палитры компонентов поместила на форму три компонента: TBitBtn1, TBitBtn2, TBitBtn. Со страницы System палитры компонентов поместите на форму компонент TTimer. Настроила свойство Kind для первой кнопки. Для этого в свойстве Kind, которое определяет тип кнопки, выбрала значение bkОк. Изменила надпись, написав в свойстве Caption новое значение Старт. 8. Настроила свойство Kind для второй кнопки. Для этого в свойстве Kind выбрала значение bkNo. Изменила надпись, написав в свойстве Caption новое значение Стоп. Настроила свойство Kind для третьей кнопки. Для этого в свойстве Kind выбрала значение bkAbort. Изменила надпись, написав в свойстве Caption новое значение Сброс. Выполнила выравнивание положения кнопок на форме. Сначала выделила их в группу. Для этого, удерживая клавишу Shift, щелкнула мышкой по каждой кнопке, начиная с первой по порядку. Затем в главном меню Delphi выполнила команду Edit - Align… – выравнивание размещения. В открывшемся окне Alignment, в его левой части Horizontal (выравнивание компонентов по горизонтали), выбрала вариант Spaceequally – разместила с равными интервалами между компонентами. А в правой части окна – Vertical (выравнивание компонентов по вертикали) выбрала вариант Tops – выровнять компоненты по их верхним сторонам. Нажала кнопку OK, чтобы выполнить выравнивание компонентов. После этого, не снимая выделения с группы и удерживая клавишу Ctrl, с помощью клавиш со стрелочками переместила всю группу кнопок в нижнюю часть формы. Для компонента StaticText изменила значение свойства Caption на 0. Изменила размер шрифта надписи. Для этого в свойстве Font в подсвойстве Size написала значение 12.Задала стиль бордюра, выбрав у свойства BorderStyle значение sbsSunken. Настроила свойства таймера. Если таймер включен (свойство Enabled:=true), то периодически, через интервал времени, заданный в миллисекундах в свойстве Interval(по умолчанию значение равно 1000 mc=1 с), таймер срабатывает, вызывая событие OnTimer. Чтобы после запуска программы до нажатия соответствующей кнопки таймер был выключен, установила у его свойства Enabledзначение false. 2 этап: Программирование обработчиков событий У кнопки BitBtn1 («Старт») в обработчике события OnClick записала: Timer1.Enabled:=true; При нажатии на эту кнопку таймер включается. У кнопки BitBtn2 («Стоп») в обработчике события OnClick записала: Timer1.Enabled:=false; При нажатии на эту кнопку таймер выключается. У компонента Timer1 создала событие OnTimer. В обработчик этого события записала: Timer1.Tag:=Timer1.Tag+1; StaticText1.Caption:=IntToStr(Timer1.Tag); В данном приложении в значении свойстваTag я сохранила количество срабатываний таймера, что записано в первой строке этого обработчика события. У кнопки BitBtn3 («Сброс») создала событие OnClick. В обработчик этого события записала: Timer1.Enabled:=false; Timer1.Tag:=0; StaticText1.Caption:='0'; 3 этап: Модернизация приложения Разместила два компонента TLabel. Задала для первого надпись: Текущее время. Надпись для второго оставила без изменения. В разделе реализации (implementation) объявила процедуру: procedure TForm1.ShowTime; begin Time:= now(); label1.Caption:=FormatDateTime('hh:mm:ss', Time); end; Вручную в разделеTypeдобавилапроцедуру: procedureShowTime; В обработчик OnTimer компонента Timer1 добавила вызов процедуры: ShowTime; Размеcтила на форме компонент Label5. Создалаобработчиксобытия: procedure TForm1.FormCreate(Sender: TObject); var present: TDateTime; year, month, day: WORD; begin present:=now; DecodeDate(present, year, month, day); label5.Caption:='Сегодня '+ ' '+inttostr(day)+' '+inttostr(month)+' '+inttostr(year)+' ' +' деньнедели '+inttostr(DayOfWeek(present)); end; Модернизировала программу, выводя названия месяца и дня недели. Для этого объявила строковую константу в разделе реализации перед директивой препроцессора const tday:array[1..7] ofstring[20]= ('воскресение', 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота'); в procedure TForm1.FormCreate(Sender: TObject) замениластроку: label5.Caption:='Сегодня '+ ' '+inttostr(day)+' '+inttostr(month)+' '+inttostr(year)+' ' +' деньнедели'+tday[DayOfWeek(present)]; end; Проверила разработанное приложение на работоспособность. Это продемонстрировано на рисунке 11.1.
Рисунок 11.1
Полный код разработанного приложения: unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, Buttons; type TForm1 = class(TForm) Label1: TLabel; StaticText1: TStaticText; BitBtn1: TBitBtn; BitBtn2: TBitBtn; BitBtn3: TBitBtn; Timer1: TTimer; Label2: TLabel; Label3: TLabel; Label4: TLabel; procedure BitBtn1Click(Sender: TObject); procedure BitBtn2Click(Sender: TObject); procedure Timer1Timer(Sender: TObject); procedure BitBtn3Click(Sender: TObject); procedure Showtime; procedureFormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1;Time:tdatetime; implementation {$R *.dfm} procedure TForm1.BitBtn1Click(Sender: TObject); begin Timer1.Enabled:=True; end; procedure TForm1.BitBtn2Click(Sender: TObject); begin Timer1.Enabled:=false; end; procedure TForm1.BitBtn3Click(Sender: TObject); begin Timer1.Enabled:=false; Timer1.tag:=0; StaticText1.Caption:='0'; end; procedure TForm1.FormCreate(Sender: TObject); var present: TDateTime; year,month,day: Word; begin DecodeDate(present,year,month,day); label3.Caption:='Сегодня '+ ' '+inttostr(day)+' '+inttostr(month)+' ' +inttostr(year)+' '+' деньнедели'+inttostr(DayofWeek(present)); end; procedure TForm1.Timer1Timer(Sender: TObject); begin ShowTime; Timer1.Tag:=Timer1.Tag+1; Statictext1.Caption:=inttostr(Timer1.tag); end; procedure TForm1.Showtime; begin Time:=now(); label2.Caption:=formatdatetime('hh:mm:ss',Time); end; end.
Вывод: В ходе лабораторного занятия был разработан проект, демонстрирующий работу компонента Timer. При создании проекта с использованием компонента ввода и отображения чисел, дат и времени приобрела компетенции программирования методов типа TDateTime в системе Delphi.
Дата добавления: 2014-12-25; Просмотров: 1422; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |