Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лаб.работы по программированию

.pdf
Скачиваний:
30
Добавлен:
21.05.2015
Размер:
1.07 Mб
Скачать

TCalendar – календарь

Компонент календарь отображает календарь на выбранный месяц и год. Его свойства 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 они содержат четыре дополнительных:

© ИМПИ ОГПУ