основные невизуальные компоненты уметь: создавать в среде Lazarus приложения с использованием компонента Timer Оснащение рабочего места: ПК, инструкционные карты, конспект.


Чтобы посмотреть этот PDF файл с форматированием и разметкой, скачайте его и откройте на своем компьютере.
(
П7
8
пр37
)


1

Основы программирования и баз данных

Занятие
7
8

практическое

ИНСТРУКЦИОННАЯ КАРТА №
3
7

на выполнение практического занятия по дисциплине


"
Основы программирования и баз данных
"

для студентов специальности

09.02.02 Компьютерные сети

Тема:
Создание приложений с использованием невизуальных компонентов

Цель работы:

освоить использование
невизуального компонента
Timer

Норма времени:

2 часа
.

После выполненных работ студен
т

должен

знать:

понятие
невизуального

компонента, основные невизуальные компоненты

уметь:

создавать
в среде
Lazarus

приложения
с использованием компонента
Timer

Оснащение рабочего места:

ПК
, инструкционные карты, конспект.


Вводный
инструктаж

................................
................................
...............

1

Понятие невизуального компонента
................................
................................
................................
.................
1

Компонент
Timer

................................
................................
................................
................................
...............
1

Пример создани
я приложения: Электронные часы

................................
................................
.........................
2

Пример создания приложения: Таймер

................................
................................
................................
............
2

Порядок выполнения

................................
................................
..............

4

Задания дл
я самостоятельного выполнения

................................
........

4

Содержание отчета о занятии
................................
................................
.

4

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

4


Литература:

ОИ2. Алексеев Е.Р., Чеснокова

О.В., Кучер Т.В. Самоучитель по программированию на Free Pascal и Lazarus.


Донецк.: ДонНТУ, УНИТЕХ, 2011.
-

503 с.

И
-
Р2. Ачкасов В.Ю. Программирование на
Lazarus
.


М., Интернет
-
университет информационных технол
о-
гий (ИНТУИТ), 2015.

Вводный инструктаж

П
онятие невизуального компонента

Все множество компонентов подразделяется на две группы: визуальные и невизуальные компоненты.

Визуальные компоненты

(visual components)


это
управляющие элементы пользовательского интерфейса

(controls), т. е. кнопки, метки,

блоки списков и др. Они видны на экране и выглядят одинаково на стадии проектир
о-
вания и во время работы приложения.

Невизуальные компоненты

(nonvisual components)

их особенность заключается в том, что они не отобр
а-
жаются на этапе выполнения прогарммы.

К

невизуальным компонентам относятся таймер, компоненты доступа к
базам данным и др. На стадии проектирования невизуальный компонент представляется на форме небольшим зна
ч-
ком. Его свойства устанавливаются в Инспекторе Объектов. Некоторые компоненты хотя и я
вляются невизуальн
ы-
ми, могут что
-
нибудь отображать на экране. Например, невизуальный компонент

MainMenu

отображает на форме
строку главного меню, а невизуальный компонент

OpenDialog



стандартное диалоговое окно выбора файла
(рис.
1).


Наиболее часто из н
евизуальных компонентов используются таймер (
TTimer
)
, меню
(
TMenu
,
TPopUpMenu
),
диалоги и компоненты доступа к базам данных.


Компонент
Timer

Компонент
Timer

находится на странице
System


Палитры компонентов. Он обеспечивает генерацию
посл
е-
довательности
событий
OnTimer

через заданные интервалы времени. Основные свойства компонента:

Interval



период генерации события
OnTimer
, задается в миллисекундах. По умолчанию значение равно
1000 мс (1 секунда);

(
П7
8
пр37
)


2

Раздел
4
: Системы визуального программирования

Enabled



разрешает (
True
)
или запрещает
(
False
)
генерац
ию события
OnTimer
.

Пример создания приложения
: Электронные часы

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


Рис.1. Вид приложения «Электронные часы»

Сценарий работы программы: при создании формы программа
инициализирует

компонент
Timer
, интервал
таймера установим в 1000 мс. После каждого интервала на форме отображается новое время.

Общий вид приложения показан на рис. 1. Для компонента
Label
1

установлен шрифт
Arial

36
пт.

На форму
также помещается компонент
Timer
.

В обработчике события


формы
OnCreate

устанавливаем интервал для компонента
Timer
1

и выводим тек
у-
щее время:

procedure TForm1.FormCreate(Sender: TObject);

begin


Label1.Caption:=Forma


Timer1.Enabled:=True;


Timer1.Interval:=1000;

end;

Обратите внимание на вызов функции
.

В обработчике события
OnTimer

используется переменная
Time

встроенного в
Lazarus

типа
:

procedure

TForm1.Timer1Timer(Sender: TObject);

var



begin


Time:=Now();



end;

Пример создания приложения: Таймер

Создать приложение, которое после истечения заданного интервала выводит системное с
ообщение.

Сценарий работы: В данном приложении компоненты
Label
1
,
Label
2
,
Edit
1

и
Edit
2

перекрываются комп
о-
нентом
Label
3
. При запуске приложения отоб
ражаются компоненты редактирования, а для
Label
3

свойство
Vis
i-
ble


установлено в
False
. После щелчка на кнопке «Пуск»
Label
3

становится видимым, а остальные


нет.


Рис.2. Вид формы на этапе проектирования

Если
Timer

не запущен, то на кнопке должна быть надпись «Пуск»,
Label
3.
Visible
:=
False
,
остальные
элементы видимы. После щелчка на кнопке
должна появиться надпись «Стоп».

При создании формы для компонента
Label
3

необходимо установить
Label
3.
Visible
:=
False
, для
Timer
1.
Enabled
=
False
.



Рис.3. Вид приложения на этапе выполнения

Label1

Label
2

Label3

Timer1

(
П7
8
пр37
)


3

Занятие
7
8
:(практ.3
7
):
Использование невизуальных компонентов

Отображение
оставшегося времени используется в программе несколько раз. Поэтому в программе использ
о-
ваны две глобальные переменные
min
,
sec

(они объявлены в разделе
implementation
)

и глобальная процедура
Sho
w-
Time
:

implementation


{$R *.lfm}


var


min, sec: integer;


//
глобальная

процедура

procedure ShowTime;

var


buf: String[10];

begin


// минуты и секунды выводим двумя цифрами


if min 10 then buf := '0' + IntToStr(min) + ':'


else buf := IntToStr(min) + ':';


if sec 10 then buf := buf + '0' + IntToStr(sec)


else buf := buf + IntToStr(sec);


Form1.Label3.Caption := buf;

end;

Обработка

щелчка

на

кнопке
:

procedure TForm1.Button1Click(Sender: TObject);

begin


// если таймер работает, надо остановить


if Form1.Timer1.Enabled then begin


Timer1.Enabled := False; //
остановить


Button1.Caption := '
Пуск
';


// скрыть время, сделать видимыми поля ввода интервала


Label3.Visible:= False;


Label1.Visible:= True; Edit1.Visible:= True;


Label2.Visible:= True; Edit2.Visible:= T
rue;


end


else begin


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


min := StrToInt(Edit1.Text); sec := StrToInt(Edit2.Text);


if (sec = 0) and (min = 0) then begin


ShowMessage('Надо задать интервал!');


exit;


end;


Timer1.Enabled := True;

Button1.Caption := '
Стоп
';


//
скрыть

поля

ввода

интервала


Label1.Visible := False; Edit1.Visible := False;


Label2.Visible := False; Edit2.Visible := False;


Label3.Visible := True;


ShowTime
;


end;

end
;

Обработка

сигнала

от

таймера
:

procedure TForm1.Timer1Timer(Sender: TObject);

begin


//


sec := sec
-

1; if sec0 then sec:=0;


ShowTime;

// показать время


// заданный интервал истек


if (min = 0) and (sec = 0) then begin


Timer1.Enabled := False; Button1.Caption := '
Пуск
';



ShowMessage('Заданный интервал истек!');


Label3.Visible := False; //
скрыть

время


Label1.Visible := True; Edit1.Visible := True;


Label2.Visible := True; Edit2.Visible := True;


exit;


end;


�if (sec = 0) and (min 0) then begin


sec := 60; min := min
-

1;


end;

end;

(
П7
8
пр37
)


4

Раздел
4
: Системы визуального программирования

Порядок

выполнения

1. Создать приложение «Электронные часы» согласно примеру.

2. Создать приложение «Таймер» согласно примеру.

Задания для самостоятельного выполнения

1. Создать программу

«Лототрон»
, которая
с интерва
лом в 0,
01

секунды выводит
на форму случайные числа
до щелчка на кнопке

«Стоп»
.

Указание. Использовать функцию
random
().

Пример


на рис.1.

2
. Создать программу «Секундомер», которая по щелчку на кнопке отсчитывает
количество секунд

с точн
о-
стью 0,1 с.

3
.
Создать программу, которая в течение 10 секунд выводит рекламный текст, а затем квадрат введенного
числа.

4.
На форму поместить компонент
Label
.
Создать программу, которая после щелчка на кнопке с интервалом в
5 секунд изменяет цвет
свойства
Caption

этого
компонента
.

5. На форме разместить компоненты
Memo
,
SaveDialog
.
Создать программу, которая через
1 минуту

после з
а-
пуска предлагает сохранить содержимое поля
Memo

в
файл.

Указание
.

Использовать

метод

Memo1.Lines.SaveToFile(SaveDialog1.FileName).






Содержание отчета о занятии

1
. Эскиз окна приложения (формы)

2. Таблицы свойств формы и свойств компонентов.

3. Тексты программ
-
обработчиков событий.

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

1
. На какие группы подразделяют компоненты?

2. Назовите примеры невизуальных

компонентов.

3. Какова особенность невизуальных компонентов?

4
. Каким образом компоненты скрывают на форме?

5. На какой странице Палитры компонентов находится компонент
Timer
?

6.
Назовите основное свойство компонента
Timer
.

7. Назовите основное событие, г
енерируемое компонентом
Timer
.



Инструкционную карту составил преподаватель
:

Дубик Н.А.

Рассмотрено и одобрено на заседании цикловой комиссии общетехнических и специальных дисциплин

Протокол № _____ от «_____» _____________ 201
8

г.

Председатель цикловой

комиссии

______________________
Ю.Ф. Тулова





Приложенные файлы

  • pdf 87535310
    Размер файла: 861 kB Загрузок: 0

Добавить комментарий