
- •Тема 2.3.16: Дополнительные компоненты Delphi. План.
- •Примеры программы с использованием компонент Флажок, Переключатель, Полоса прокрутки, Панель (самостоятельная работа).
- •Форматы даты и времени (самостоятельная работа).
- •Пример программы с использование таймера (самостоятельная работа).
- •1. Примеры программы с использованием компонент Флажок, Переключатель, Полоса прокрутки, Панель.
- •2. Форматы даты и времени.
- •3. Пример программы с использование таймера.
3. Пример программы с использование таймера.
Использование таймера иллюстрирует код модуля TimerEx. Выполнение этой программы показано на рис. 4.
Рис. 4. Выполнение примера с таймером
Компонент |
Свойство |
Значение |
Форма
Надпись
Надпись
Кнопка
Кнопка
Таймер |
Name Caption Name Alignment Caption Font Name Size Name Caption Font Name Size Name Caption Font Size Style Name Caption Font Size Style Name Enabled Interval |
frmTimer Пример с таймером lblStopwatch taTightJustify 0.0 Arial 16 lblSeconds секунд
Arial 16 btnToggle Старт
12 [fsBold] btnReset Сброс
12 [fsBold] tmrStopWatch False 100 |
Имя компонента |
Событие |
Имя обработчика |
btnToggle btnReset tmrStopwatch |
OnClick OnClick OnClick |
ToggleState() ResetTime() UpdateTime() |
unit TimerEx;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type
TfrmTimer = class(TForm)
tmrStopwatch: TTimer;
lblStopwatch: TLabel;
btnToggle: TButton;
btnReset: TButton;
lblSeconds: TLabel;
procedure ToggleState(Sender: TObject);
procedure ResetTime(Sender: TObject);
procedure UpdateTime(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations )
end;
var
frmTimer: TfrmTimer;
implementation
{$R *.DFM}
procedure TfrmTimer.ToggleState(Sender: TObj ect);
begin
tmrStopwatch.Enabled := not(tmrStopwatch.Enabled);
if tmrStopwatch.Enabled then
btnToggle.Caption := 'Стоп'
else
btnToggle.Caption := 'Старт';
end;
procedure TfrmTimer.ResetTime(Sender: TObj ect);
begin
lblStopwatch.Caption := '0.0';
end;
procedure TfrmTimer.UpdateTime(Sender: TObj ect);
var watchTime: Real;
code: Integer;
newTime: String;
begin
Val(lblStopwatch.Caption, watchTime, code);
watchTime := watchTime + 0.1;
Str(watchTime:6:1, newTime);
lblStopwatch.Caption := newTime;
end;
end.
Вопросы для самоконтроля:
1. Какое свойство отвечает за установку флажка?
2. Какие функции позволяют определить текущую дату и время?
3. Какие функции позволяют выполнить преобразование из формата даты в строку и наоборот?