Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ЛПЗ поОАиП.doc
Скачиваний:
55
Добавлен:
18.05.2015
Размер:
3.08 Mб
Скачать

Лабораторная работа №10

Тема: Решение задачи на создание наследника.

Цель: Ознакомить с инструкциями write и writeln, read и readln, научить применять инструкции при создании программы.

Практическая работа «Текущее время и текущая дата»

Описание плана разработки программы

  1. Открыть новый проект.

  2. Разместить на форме экземпляры компонентов: Button,Edit,Label.

  3. Выполнить следующие действия:

Таблица 24. Свойства проекта 24

Выделенный объект

Вкладка окна

ObjectInspector

Имя свойства/

имя события

Действие

Form1

Properties

Caption

Установка имени формы «Таймер»

Button1

Properties

Caption

Введите название «Текущее время»

Events

Onclick

DateTime:=Time;

Edit1.Text:=TimeToStr(DateTime);

Button2

Properties

Caption

Введите название «Текущая дата»

Events

Onclick

Edit2.Text:=DateToStr(Date);

Edit1

Properties

Caption

Очистить значение свойства Text

Edit2

Properties

Caption

Очистить значение свойства Text

Листинг подпрограмм

var

DateTime:TdateTime;

procedureTform1.Button1Click(Sender: Tobject);

begin

DateTime:=Time;

Edit1.Text:=TimeToStr(DateTime);

end;

procedureTform1.Button2Click(Sender: Tobject);

begin

Edit2.Text:=DateToStr(Date);

end;

end.

Контрольные вопросы:

  • Для чего используется компонент Label, Edit, Button?

Лабораторная работа №11

Тема: Решение задач на перегружаемые и виртуальные методы.

Цель работы - написать программу «Электронные часы», в окне которой отображается текущее время, дата и день недели.

Описание плана разработки программы

  1. Открыть новый проект.

  2. Разместить на форме экземпляры компонентов: Label, Timer.

  3. Выполнить следующие действия:

    1. Ввести константы, отвечающие за названия дней недели и месяцев.

    2. Объявить процедуру ShowTimeвручную для доступа к компонентам формы напрямую.

    3. Процедура ShowTimeотображает текущее время.

    4. Процедура FormTimeобрабатывает событиеPaint.

    5. Процедура Timer1Timerобрабатывает сигнал таймера.

    6. Процедура FormCreateобрабатывает событиеOnCreate.

Листинг программы:

var

Form1:TForm1;

Implementation

const

stDay : array[1..7] of string[11] =

('воскресенье','понедельник','вторник',

'среда','четверг','пятница','суббота');

stMonth : array[1..12] of string[8] =

('января','февраля','марта',

'апреля','мая','июня','июля',

'августа','сентября','октября',

'ноября','декабря');

{$R *.dfm}

procedureTForm1.ShowTime;

var Time : TDateTime; // текущее время

begin

Time := Now(); // получить системное время

Label1.Caption := FormatDateTime('hh:mm:ss',Time);

end;

procedureTForm1.Timer1Timer(Sender: TObject);

begin

ShowTime; // отобразить время

end;

procedureTForm1.FormCreate(Sender: TObject);

var

Present: TDateTime; // текущая дата и время

Year, Month, Day : Word; // год, месяц и число, как

// отдельные числа

begin

Present:= Now; // получить текущую дату

DecodeDate(Present, Year, Month, Day);

Label2.Caption := 'Сегодня '+IntToStr(Day)+ ' ' +

stMonth[Month] + ' '+ IntToStr(Year)+

' года, '+ stDay[DayOfWeek(Present)];

// настроить и запустить таймер

Timer1.Interval := 1000; // период сигналов таймера 1 с

Timer1.Enabled := True; // пуск таймера

end;

procedureTForm1.FormPaint(Sender: TObject);

begin

ShowTime; // отобразить часы

end;

end.