Лаб.работы по программированию
.pdfTCalendar – календарь
Компонент календарь отображает календарь на выбранный месяц и год. Его свойства Day, Month, Year могут содержать любую дату от 1 до 9999 года от Рождества Христова.
TMonthCalendar – календарь
Предназначен для выбора и отображения даты. Очень похож на календарь, рассмотренный выше, но, в отличие от него, может одновременно отображать несколько смежных месяцев – в зависимости от своих размеров.
Свойства объекта класса TMonthCalColors:
BackColor - цветфона, разделяющего смежные месяцы;
MonthBackColor - цвет фона дат;
TextColor - цвет дат;
TitleBackColor - цвет фона заголовка месяца;
TitleTextColor - цвет текста заголовка;
TrailingTextColor - цвет текста ведущих и ведомых дат.
Свойства компонента:
Свойство |
Описание |
CalColors |
Цвет календаря (фона, дат, заголовков) |
Date |
Определяет выбранную дату |
EndDate |
Определяет конечную дату диапазона выбранных дат |
FirstDayOfWeek |
Определяет первый день недели |
MaxDate |
Определяет максимальную дату, месяц которой еще |
|
будет доступен для отображения в компоненте. Если |
|
свойство содержит пустое значение, то отображается |
|
любой следующий месяц |
MinDate |
Определяет минимальную дату, месяц которой еще будет |
© ИМПИ ОГПУ
|
доступен для отображения в компоненте. Если свойство |
|
содержит пустое значение, то отображается любой |
|
предыдущий месяц |
ShowTodayCircle |
Разрешает/запрещает обводить кружком текущую дату |
WeekNumbers |
Разрешает/запрещает показ порядковых номеров недель |
|
от начала года в левой колонке |
MultiSelect |
При значении True разрешается выбрать диапазон дат |
ShowToday |
При значении True текущая дата дополнительно |
|
отображается в нижней части календаря |
Timer – таймер |
|
Данный невизуальный компонент служит для отсчета интервалов реального времени. Минимальный реально достижимый интервал отсчета времени в Windows XP длительность тика составляет 10 миллисекунд.
таймер
Для активации таймера используем событие OnTimer и свойство Enabled следующим образом:
Timer1.Enabled := True; {запуск}
Timer1.Enabled := False; {остановка}
Задания для самостоятельной работы
Напишите программу «Электронные часы». Программа должна в главной форме выводить текущее время. Форма должна содержать кнопки «Календарь» и «Секундомер». По нажатию кнопки «Календарь» должна показываться форма с выбором даты. По нажатию кнопки «Секундомер» должна показываться форма с секундомером. Секундомер должен обеспечивать старт отсчета секунд, остановку и обнуление.
Лабораторная работа 21. Таблица строк
TStringGrid – текстовая таблица
Компонент TStringGrid предназначен для создания таблиц, в ячейках которых располагаются произвольные текстовые строки. Таблица делится на две части – фиксированную и рабочую. Фиксированная часть служит для показа заголовков столбцов (columns) и строк (rows), а так же для ручного управления их
© ИМПИ ОГПУ
размерами. Обычно фиксированная часть занимает левую колонку и верхний ряд таблицы, однако с помощью свойств FixedCols и FixedRows можно задать другое количество фиксированных колонок и рядов.
Рабочая часть – это остальная часть таблицы. Она может содержать произвольное количество колонок и рядов, более того, эти величины могут изменяться программно. Если рабочая часть таблицы не помещается целиком на экране, то автоматически появляется полоса прокрутки.
Свойства компонента:
Свойство |
|
|
Описание |
|
|
BorderStyle |
Определяет рамку компонента: bsNone – нет рамки, |
||||
|
bsSingle – рамка толщиной 1 пиксел |
|
|||
Cells[col,row] |
Определяет содержимое ячейки с табличными координатами |
||||
|
(col,row) |
|
|
|
|
Col |
Содержит номер колонки с ячейкой, имеющей фокус ввода |
||||
ColCount |
Содержит количество колонок таблицы |
|
|||
ColWidths |
Содержит ширину колонки с индексом Index |
|
|||
EditorMode |
Разрешает/запрещает редактирование ячеек. Игнорируется, |
||||
|
если |
свойство |
Options |
включает |
значение |
|
goAlwayseShowEditor или не включает значение |
||||
|
goEditing |
|
|
|
|
FixedColor |
Определяет цвет фиксированной зоны |
|
|
||
FixedCols |
Определяет количество колонок фиксированной зоны |
||||
FixedRows |
Определяет количество рядов фиксированной зоны |
|
|||
GridHeight |
Содержит значение высоты таблицы |
|
|
||
GridLineWidth |
Определяет ширину линий, расчерчивающих таблицу |
||||
GridWidth |
Содержит значение ширины таблицы |
|
|
||
Row |
Содержит номер ряда ячейки, имеющий фокус ввода |
||||
RowCount |
Содержит количество рядов таблицы |
|
|
||
RowHeights |
Содержит значение высоты ряда с индексом Index |
|
|||
Rows |
Содержит все текстовые строки ряда с индексом Index |
||||
ScrollBars |
Определяет полосы прокрутки: ssNone – нет полос; |
||||
|
ssHorizontal – в таблицу вставляется горизонтальная |
||||
|
полоса; ssVertical – вставляется вертикальная полоса; |
||||
|
ssBoth – вставляются обе полосы. |
|
|
Для обращения к ячейке [0,0] нужно использовать свойство Cells:
StringGrid1.Cells[0,0]:=IntToStr(5);
Задания для самостоятельной работы
1. Проиллюстрируйте возможности рассмотренного компонента, составив таблицу следующего вида:
© ИМПИ ОГПУ
|
Дисциплина |
ФИО педагога |
1. |
Математика |
Иванов И.И. |
2. |
Русский язык |
Петров П.П. |
3. |
… |
… |
2. Составить таблицу 4х4, состоящую из целых чисел. Программа должна выводить число, лежащее в ячейке с введенным с клавиатуры номером столбца и строки.
3. Заполнить таблицу 5х5 случайными целыми числами. Найти сумму элементов главной диагонали.
Лабораторная работа 22. Графика в Delphi
Рассмотрим компоненты для работы с графикой.
TImage – изображение
Данный компонент служит для размещения на форме одного из трех поддерживаемых Delphi типов изображений: растрового рисунка (*.bmp), значка (*.ico) или метафайла (*.wmf, *.emf). С помощью свойства Canvas можно отредактировать растровое изображение (но не метафайл или значок!)
Свойства компонента:
Свойство |
Описание |
AutoSize |
Разрешает/запрещает изменять размеры компонента так, чтобы |
|
в них полностью загрузилось изображение |
Canvas |
Для прорисовки изображения |
Center |
Указывает, надо ли центрировать изображение в границах |
|
компонента |
Picture |
Контейнер изображения |
© ИМПИ ОГПУ
Stretch |
Разрешает/запрещает изменять размеры изображения так, |
|||
|
чтобы оно целиком заполнило клиентскую область компонента |
|||
Transparent |
Разрешает/запрещает |
накладывать |
собственный |
фон |
|
изображения на фон компонента |
|
|
|
TShape – стандартная фигура |
|
|
|
Компонент рисует одну из простейших геометрических фигур:
stCircle – окружность
stRoundSquare – квадрат с закругленными сторонами
stSquare – квадрат
stEllipse – эллипс
stRectangle – прямоугольник
stRoundRect – прямоугольник с закругленными сторонами
Фигура полностью занимает все пространство компонента. Помимо стандартных графических инструментов Brush и Pen, в компоненте определено свойство Shape, задающее вид фигуры. Изменение этого свойства приводит к немедленной перерисовке изображения.
TPaintBox – окно для рисования
Для создания изображения в компоненте TPaintBox используется свойство холст (Canvas). Графические инструменты расположены в свойствах Font, Pen, Brush. Рисование осуществляется в обработчике события OnPaint.
Задания для самостоятельной работы
1.Нарисовать пейзаж.
2.Нарисовать график функции y = sin(x).
Лабораторная работа 23. Калькулятор
Задания для самостоятельной работы
Создать калькулятор, выполняющий основные арифметические действия, похожий на стандартный калькулятор Windows.
Замечание: необходимо обработать исключительные ситуации исключающе ошибку некорректно введенных данных: ввода символов, ввода нескольких запятых и проч.
© ИМПИ ОГПУ
Лабораторная работа 24. Моделирование движения. Пуля
Задания для самостоятельной работы
Моделирование движения. По команде пользователя из ствола вылетает пуля, попадает в шарик, который разлетается на множество мелких частей. Предусмотреть возможность регулирования количества осколков и скорости их разлета.
© ИМПИ ОГПУ
Лабораторная работа 25. Моделирование движения по кругу
Задания для самостоятельной работы
Организуем движение по кругу вдоль линии окружности с возможностью изменения значений радиуса и положения центра вращения. Предусмотреть возможность задания вращения в обратном направлении и изменение скорости вращения.
© ИМПИ ОГПУ
Лабораторная работа 26. Цветомузыка
Задания для самостоятельной работы
Создать нечто похожее на цветомузыку на дискотеке. Это будут цветные круги, появляющиеся и исчезающие в окне программы. Все действо будет сопровождаться мелодией, которую выберем сами.
Лабораторная работа 27. Проигрыватель
Задания для самостоятельной работы
Создать электронный проигрыватель, с помощью которого можно также смотреть видеоролики и фильмы.
© ИМПИ ОГПУ
Лабораторная работа 28. Цветочная поляна
Задания для самостоятельной работы
По щелчку указателя мыши в любом месте зеленой поляны появляется маленький цветочек. Цветок вырастает. Щелкнув в другом месте экрана, образуем новый цветочек, который тоже вырастает. Так можно засадить всю поляну цветами.
Лабораторная работа 29. QUEST
Задания для самостоятельной работы
Создадим игру в стиле Quest (поиск). Суть игры: в начале на экране монитора появляется черное поле, на котором имеется выключатель. При наведении указателя мыши на выключатель, над ним появляется надпись: «Включить?». Щелкнув по выключателю, черное поле исчезает и появляется интерьер комнаты: дверь, в двери замочная скважина, картина на стене, лампочка под потолком, на переднем плане стол, книга на столе, выключатель и ключ на гвозде. С помощью выключателя можно включить или выключить свет, если щелкнуть на нем указателем мыши. Щелкать указателем мыши можно на любом предмете, находящемся в комнате. При этом рядом с предметом, на котором произведен щелчок, появляется пояснительная надпись. Так при щелчке по двери появляется надпись о том, что дверь закрыта. Щелчок по книге, лежащей на столе, открывает текст с инструкцией, объясняющей суть игры. В процессе игры нужно найти выход из комнаты. Для этого надо использовать предметы, находящиеся в комнате. Очевидно, что для того, чтобы выйти из комнаты, необходимо взять ключ в гвоздя. Щелчок указателя мыши на ключе помещает этот гвоздь в специальный чемоданчик. В левой верхней части картинки имеется кнопка меню, щелчком на которой открывается этот чемоданчик. На его крышке имеются две кнопки: «Закончить» и «Не закончить». Первая кнопка предназначена для выхода из игры, вторая – возвращает пользователя в игру. Чемоданчик остается пустым, пока не щелкнуть по ключу. Для использования ключа необходимо щелкнуть указателем мыши на его изображении в чемоданчике, а затем
© ИМПИ ОГПУ
щелкнуть указателем мыши на замочной скважине. На этом игра заканчивается. Появляется надпись Game Over и приложение закрывается.
Лабораторная работа 30. Тир
Задания для самостоятельной работы
Игрок должен поражать мишень. Для этого он наводит мышкурсор (крест) на центр мишени и нажимает левую мышкнопку. Мишень от выстрела к выстрелу меняет свое положение. Предусмотрены разные уровни сложности. По итогам 10 выстрелов пользователь набирает определенное количество очков относительно своей меткости.
Лабораторная работа 31. Компоненты Delphi для взаимодействия с серверами автоматизации MS Office
В поставку Delphi включен ряд компонентов, специально предназначенных для организации взаимодействия с приложениями MS Office. Данные компоненты располагаются на странице Servers палитры компонентов Delphi IDE. Компоненты доступа к серверам автоматизации могут использоваться и для доступа к вложенным объектам приложений MS Office (таким как Document, Excel WorkBook и т.д.). Рассмотрим опубликованные свойства компонентов серверов СОМ, устанавливающих контакт с интерфейсом Application (компоненты WordApplication,
ExcelApplication). PowerPointApplication, OutlookApplication).
Наряду с традиционными для всех компонентов свойствами Name и Tag они содержат четыре дополнительных:
© ИМПИ ОГПУ