Компоненты TAnimate, TProgressBar, TUpDown, TShape, TTimer.
Компонент TProgressBar предназначен для отображения хода выполнения длительного по времени процесса. Свойства Max и Min определяют максимальное и минимальное значение диапазона изменения свойства Position. Position содержит текущее значение отображаемой величины.
Компонент TUpDownпредназначен для регулирования числовой величины. Обычно компонент TUpDown связан с другим компонентом класса TEdit, который отображает регулируемую величину и при необходимости, может редактировать ее. Свойство Associate определяет связанный компонент.
Компонент TAnimate представляет собой проигрыватель видеоклипов формата AVI.Свойство FileName связывает компонент с AVI-файлом. Свойство Active разрешает/запрещает демонстрацию клипа.
Компонент TShape рисует одну из простейших геометрических фигур. Свойство Shape определяет вид геометрической фигуры.
Компонент TTimer служит для отсчета интервалов реального времени. Его свойство Interval определяет интервал времени в миллисекундах, который должен пройти от включения таймера до наступления события OnTimer. Таймер включается при установке значения Trueв его свойство Enabled. Один раз включенный таймер все время будет возбуждать события OnTimer, пока его свойство Enabled не примет значения False.
1. Поместите на третью страницу блокнота компоненты TAnimate, TProgressBar, TupDown(страница Win32), TShape(страница Additional), TTimer (страница System), TEdit.
2. Найдите в каталоге Delhi6 любой файл с расширением AVIи скопируйте его в свой каталог Lab7.Установите имя этого файла в свойство FileName компонента Animate1.(C:\Program Files\Borland\Delphi7\CollStuf)
3.Установите в свойство Enabled компонента Timer1 значение False.
4. Поместите в свойство Visible компонента ProgressBar1значение False.
5. Создайте обработчик события OnTimer компонента Timer1:
Procedure TForm1.Timer1Timer(Sender: TObject);
Begin
ProgressBar1.Position:= ProgressBar1.Position + 1;
If ProgressBar1.Position >= ProgressBar1.Max then
begin
Timer1.Enabled:=False;
ProgressBar1.Hide;
Animate1.Stop;
End;End;
6. При щелчке по кнопкам компонента TUpDown возникает событие OnClick. Создадим соответствующий обработчик:
Procedure TForm1.UpDown1Click(Sender: TObject; Button: TUDBtnType);
Begin
//Значение свойства Position компонента UpDown1 отражается в Edit1.
Edit1.Text:=IntToStr(UpDown1.Position);
Case UpDown1.Position mod 5 of
//В зависимости от значения свойства Position компонента UpDown1
// изменяется вид фигуры в компоненте Shape1.
0: Shape1.Shape:= stRectangle;
1: Shape1.Shape:= stSquare;
2: Shape1.Shape:= stRoundRect;
3: Shape1.Shape:= stRoundSquare;
4: Shape1.Shape:= stEllipse;
5: Shape1.Shape:= stCircle;
end; end;
7. Таймер включается при нажатии на кнопку №3 панели инструментов:
Procedure TForm1.ToolButton3Click(Sender: TObject);
Begin
PageControl1.ActivePageIndex:=2;
ProgressBar1.Position:=0;
Animate1.Active:=True;
ProgressBar1.Show;
Timer1.Enabled:=True;
End;
8. Запустите программу и проверьте правильность Ваших действий.
Календари.
Выбор даты – одна из часто используемых операций при вводе данных. Компонент TМonthCalendar(страница Win32) инкапсулирует календарь, панель которого содержит типовую таблицу на один месяц. При увеличении размеров в элементе управления отображается целое число календарей для месяцев, ближайших к текущему месяцу. Результат выбора даты в календаре сохраняется в свойстве Date. Компонент NDateTimerPicker совмещает календарь с однострочным текстовым редактором. На странице Samples расположен еще один календарь ТCalendar.
1. На четвертую панель блокнота поместите компоненты: TPanel (Align = alRight); TEdit(на панель); TMonthCalendar.(Align=alClient).
2. Создайте обработчик события OnClick для компонента MonthCalendar1.
Procedure TForm1.MonthCalendar1Click(Sender:TObject);
Begin
Edit2.Text:= DateToStr(MonthCalendar1.Date);
End;
Задания:
Варианты | Исходные данные |
1) На главную форму поместите свой рисунок, сделанный с помощью компонента TPaintBox. 2) На стандартной форме установите календарь. Выбранная в календаре дата должна отображаться в однострочном редакторе. | |
1) Снабдите главную форму видеоклипом. 2) В лабораторной работе №2 осуществите возможность ввода с помощью компонента TUpDown. | |
1) Снабдите форму Password видеоклипом. 2) На стандартной форме установите календарь. Выбранная в календаре дата должна отображаться на панели статуса. | |
1) На панели Password поместите TShape. Вид геометрической фигуры должен изменяться во времени. 2) В лабораторной работе №2 осуществите возможность ввода с помощью компонента TUpDown. | |
1) Снабдите лабораторную работу №2 видеоклипом. 2) В лабораторной работе №3 осуществите возможность ввода с помощью компонента TUpDown. |
ЛАБОРАТОРНАЯ РАБОТА № 8.
ПРОГРАММИРОВАНИЕ ЦИКЛОВ.
Цель работы. Создать форму для решения задачи табулирования функции. Создать главное меню (объект типа MainMenu),содержащее команды: выйти из программы, табулировать функцию, очистить поля вывода результатов, а также контекстное меню (PopupMenu)с командой для очистки поля вывода. Результаты табулирования вывести в многострочное поле редактирования (объект типа Memo).Предусмотреть возможность вывода результатов на экран, в файл, в массив. Направление вывода задать с помощью трех флажков (объектов типа CheckBox),расположенных на панели группы объектов (типа GroupBox) (см. рис.1).
Теоретические сведения
Объект Memoприменяют для создания многострочного редактора текста. Кроме обычных свойств, поле редактирования Memoобладает свойствами:
Свойство | Описание свойства | Примеры значений |
HideSelection | Сохранение выделения фрагмента текста в момент потери фокуса | True (выделение не сохраняется). False (сохраняется) |
Lines | Ввод начального текста в поле редактирования | Комплексное свойство (задается в диалоговом окне) |
MaxLength | Максимально возможное количество введенных символов | Например. 50 - пятьдесят символов, 0 - без ограничений |
ScrollBars | Наличие полос прокрутки | ssNone (отсутствуют), ssHorizontal (горизонтальные), ssBoth (обе) |
Объект CheckBoxиспользуют для создания независимого двух- или трехпозиционного флажка: включен/выключен( /серый). Для этого объекта определены два новых свойства:
Свойство | Описание свойства | Примеры значений |
AllowGrayed | Наличие третьей позиции | True (трехпозиционный флажок), False (двухпозиционный флажок) |
State | Состояние флажка | cdGrayed (серый), cd Unchecked (отключен), cdCheckecl (включен) |
Панель группы объектов GroupBoxпредназначена для размещения на ней группы из нескольких объектов. Панель группы используют для улучшения дизайна окна программы. Свойства этого объекта аналогичны описанным выше.
С помощью объекта MainMenuсоздают главное меню программы. Вот некоторые свойства главного меню:
Свойство | Описание свойства | Примеры значений |
Items | Команды меню | Комплексное свойство (задается в диалоговом окне) |
Tag | Вспомогательная переменная, используется в тексте программы | 0; 8(целое число) |
С помощью объекта PopupMenuсоздают контекстное меню некоторого компонента. Для «связывания» контекстного меню с конкретным объектом необходимо свойству PopupMenuэтогообъекта присвоить значение имени (Name) соответствующего контекстного меню. Рассмотрим некоторые свойства контекстного меню:
Свойство | Описание свойства | Примеры значений |
Alignment | Выравнивание меню относительно точки щелчка по правой клавише мыши | paCenter (по центру), paLeft (слева), paRight (справа) |
AutoPopup | Автоматический вызов контекстного меню | Тrue (вызовется при щелчке по правой клавише), False (вызовется с помощью метода Popup) |
Конкретная команда меню (главного или контекстного) может иметь такие свойства:
Свойство | Описание свойства | Примеры значений |
Break | Разбивка меню в горизонтальном направлении | mbNone (без разбивки), mbBarBreak (разбивка с вертикальной черточкой), mbBreak (разбивка без вертикальной черточки) |
Shortcut | Комбинация «горячих» клавиш для вызова команды меню | Ctrl+A, F8, Ctrl +F10, Shift + F3, Shift +Ctrl+F11, Ctrl+Del |
Ход работы