- •Лабораторная работа 1. Реализация линейных алгоритмов
- •Вариант 1
- •1. Даны два ненулевых числа. Найти их сумму, разность, произведение и частное.
- •Вариант 2
- •1. Даны два числа. Найти среднее арифметическое их квадратов и среднее арифметическое их модулей.
- •Вариант 3
- •1. Скорость лодки в стоячей воде V км/ч, скорость течения реки U км/ч (U < V). Время движения лодки по озеру T1 ч, а по реке (против течения) — T2 ч. Определить путь S, пройденный лодкой.
- •Вариант 4
- •1. Скорость первого автомобиля V1 км/ч, второго — V2 км/ч, расстояние между ними S км. Определить расстояние между ними через T часов, если автомобили удаляются друг от друга.
- •Лабораторная работа 2. Условный оператор
- •Лабораторная работа 3. Оператор варианта.
- •Лабораторная работа 4. Строки. Операторы цикла.
- •Программирование численных циклических алгоритмов. Циклы «до» и «пока»
- •Лабораторная работа 5. Подпрограммы
- •Лабораторная работа 6. Массивы
- •Лабораторная работа 7. Множества
- •Лабораторная работа 8. Комбинированный тип данных (Запись)
- •Лабораторная работа 9. Работа с файлами
- •Лабораторная работа 10. Процедуры и функции модуля GraphABC
- •Графические примитивы
- •Подпрограммы для работы с пером
- •Лабораторная работа 11. Создание собственных модулей.
- •Лабораторная работа 12. Решение простейших задач в Console Application
- •Лабораторная работа 13. Динамические массивы
- •Лабораторная работа 14. Тип данных Variant
- •Лабораторная работа 15. Тип TDateTime
- •Лабораторная работа 16. Простейшие задачи на форме
- •Лабораторная работа 17. Флажки и переключатели
- •Лабораторная работа 18. Работа с меню
- •Главное меню
- •КОНТЕКСТНОЕ МЕНЮ
- •Лабораторная работа 19. Работа со списками
- •СПИСКИ ВЫБОРА
- •ВЫПАДАЮЩИЕ СПИСКИ
- •Лабораторная работа 20. Таймер. Работа с календарем
- •Лабораторная работа 21. Таблица строк
- •Лабораторная работа 22. Графика в Delphi
- •Лабораторная работа 23. Калькулятор
- •Лабораторная работа 24. Моделирование движения. Пуля
- •Лабораторная работа 25. Моделирование движения по кругу
- •Лабораторная работа 26. Цветомузыка
- •Лабораторная работа 27. Проигрыватель
- •Лабораторная работа 28. Цветочная поляна
- •Лабораторная работа 29. QUEST
- •Лабораторная работа 30. Тир
- •Лабораторная работа 31. Компоненты Delphi для взаимодействия с серверами автоматизации MS Office
- •Лабораторная работа 32. Обмен данными между программами с помощью DDE
- •Лабораторная работа 33. Технология Drag & Drop
- •Лабораторная работа 34. Использование динамически подключаемых библиотек (DLL).
- •Лабораторная работа 35. Создание собственного класса
- •Лабораторная работа 36. Конструкторы и деструкторы
- •Лабораторная работа 37. Создание собственных компонентов
Лабораторная работа 20. Таймер. Работа с календарем
Для работы с датой и временем используются следующие компоненты.
TDateTimePicker – ввод и отображение даты/времен
Свойства компонента:
Свойство |
|
|
Описание |
|
|
CalAlignment |
Определяет положение |
раскрывающегося календаря: |
|||
|
dtaLeft – слева от компонента; dtaRight – справа от |
||||
|
компонента. Учитывается только для Kind=dtkDate и |
||||
|
DateMode=dmComoBox |
|
|
|
|
CalColors |
Цвет календаря |
|
|
|
|
Checked |
Если |
выполняются |
условия |
Checked=True |
и |
|
ShowCheckBox=True, то флажок рядом с полем даты |
||||
|
(времени) будет показан и установлен. Наличие флажка или |
||||
|
его отсутствие разрешает или запрещает ручной ввод даты |
||||
|
или времени |
|
|
|
|
Date |
Содержит введенную дату |
|
|
|
|
DateFormat |
Определяет формат показа даты: dfShort – 11.01.04; |
||||
|
dfLong – 5 сентября 2004 г. |
|
|
||
DateMode |
Определяет способ выбора даты: dmComboBox – с помощью |
||||
|
раскрывающегося календаря; dmUpDown – с помощью |
||||
|
встроенного компонента TUpDown |
|
|
||
Kind |
Определяет содержимое компонента: dtkDate – дата; |
||||
|
dtkTime – время |
|
|
|
|
MaxDate |
Определяет максимальную дату, которую может выбрать или |
||||
|
ввести пользователь |
|
|
|
|
MinDate |
Определяет минимальную дату, которую может выбрать или |
||||
|
ввести пользователь |
|
|
|
|
Time |
Содержит введенное пользователем время |
|
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 – нет рамки, |
||||
Cells[col,row] |
bsSingle – рамка толщиной 1 пиксел |
|
|||
Определяет содержимое ячейки с табличными координатами |
|||||
Col |
(col,row) |
|
|
|
|
Содержит номер колонки с ячейкой, имеющей фокус ввода |
|||||
ColCount |
Содержит количество колонок таблицы |
|
|||
ColWidths |
Содержит ширину колонки с индексом Index |
|
|||
EditorMode |
Разрешает/запрещает |
редактирование ячеек. Игнорируется, |
|||
|
если |
свойство |
Options |
включает |
значение |
|
goAlwayseShowEditor или не включает значение |
||||
FixedColor |
goEditing |
|
|
|
|
Определяет цвет фиксированной зоны |
|
|
|||
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. |
… |
… |
© ИМПИ ОГПУ