Политика курса - Интранет сайт ЗКГУ - Западно

advertisement
Западно-Казахстанский государственный университет
им. М. Утемисова
«Утверждаю»
Декан педагогического факультета
______________ Ботагариев Т. А.
«____»__________ 2009г.
УЧЕБНО-МЕТОДИЧЕСКИЙ КОМПЛЕКС
ДИСЦИПЛИНЫ
«Язык программирования Delphi»
по кредитной технологии обучения
для студентов IV курса специальности
050110- Физика
Курс
Семестр
Лекции
Лабораторные
занятия
СРСП
СРС
Экзамен
Всего
4
7
15 ч.
15 ч.
30 ч.
30 ч.
7 семестр
90 ч.
Уральск – 2009
Учебно-методический комплекс дисциплины «Язык программирования Delphi»
составлен на основании ГОСО РК 3.08.260-2006 и типовой программы по физике г. Астана
2006 г.
Составлен: преподавателем Аймичевой Г.И.
Утвержден на заседании кафедры «общая педагогика и информатика»
Протокол № ___ от «___»__________ 2009г.
Зав. кафедрой ______________ Медешева А.Б.
Утвержден на заседании учебно-методического совета педагогического факультета
Протокол № ___ от «___»__________ 2009 г.
Председатель УМС факультета ______________
1. Типовая учебная программа дисциплины
1. Типовая учебная программа дисциплины составлена согласно ГОСО РК 3.08.260-2006
специальности 050110 – Физика
2. Кафедра физики, математики и информатики, каб.№ 407, корпус №1
2. Программа обучения по дисциплине – SYLLABUS
2.1. Данные о преподавателе:
Аймичева Гаухар Ислямовна преподаватель кафедры общей педагогики и информатики
Полный адрес: корпус № 7, 103 каб.
2.2. Данные о дисциплине
Семестр состоит из 15 учебных недель и 2 недель сессии. В неделю предполагается 2
кредит – часа: 1 контактный час (лекция), 1 контактный час (лабораторное занятие) и 2
часа самостоятельной работы студентов под руководством преподавателя (СРСП) и
самостоятельной работы студентов (СРС).
Распределение кредита на неделю:
Занятия
Время
проведения
Контактный
час 1 (лекция)
Контактный
час 2 (лабораторное
занятие)
Занятия СРО
Время
проведения
50 мин
СРСП, СРС
50 мин
100 мин
СРСП, СРС
50 мин
Количество кредитов -2;
Место проведения: корпус №8, ауд. 302-311 по расписанию
Выписка из учебного плана:
Курс
Семестр
Кредиты
4
7
2
Лекции
15
Лабораторные
занятия
15
СРСП
СРС
Всего
30
30
90
Форма
контроля
Экзамен
2.3. Цели и задачи курса
Введение:
Данная дисциплина является дисциплиной из обязательного цикла дисциплин. Она
является логическим продолжением курса «Языки программирования». Данная
дисциплина
рассматривает
принципы
объектно-ориентированного
языка
программирования в частности Object Pascal в среде.
В течение курса углубленно изучаются свойства, методы, события компонентов языка
программирования, расширяющих возможности разработки полноценных приложений.
Цель курса: научить создавать приложения в среде программирования Delphi 7.0
Пререквизиты:
Для изучения данной дисциплины студенты должны владеть знаниями в области
структуры и классификации аппаратного и программного обеспечения, структуры и
организации работы памяти ПК, процессов обработки информации в ПК, составления
корректных алгоритмов решения задач и работоспособных программ с помощью
процедурных языков программирования, их дальнейшей отладки и корректировки, знать
синтаксис языков программирования Turbo Pascal, Turbo C.
Постреквизиты:
Студент, изучив дисциплину должен знать:
o Интерфейс среды программирования Delphi 7.0 и его настройка
o Свойства, события и методы объектов и классов.
o Основные элементы управления
o Основные конструкции языка
o Уметь создавать простые приложения, типа Блокнот, Калькулятор и др.
o Уметь применять полученные знания для решения прикладных задач
Методология обучения:
Обучение проводится в виде лекций, лабораторных занятий, СРСП и СРС, на которых
отражаются содержание основного учебного материала, отрабатываются практические
навыки по применению полученных знаний на лекциях. Данный курс рассчитан в
основном на теоретическое и практическое изучение возможностей среды объектноориентированного программирования Delphi 7.0, а именно студенты должны знания,
полученные на лекциях, практически закрепить в ходе практических занятий. При
изложении курса особое внимание уделяется разбору примеров программ, а именно
целесообразности и экономичности использования того или иного пути реализации
поставленной задачи, уделяется внимание особенностям применения свойств и методов
компонентов. Обязательное практическое закрепление изучаемого материала на
компьютере посредством решения задач по заданиям. Контроль знаний студентов будет
осуществляться в виде сдачи отчетов по практическим самостоятельным заданиям. Отчет
должен быть
представлен в электронном виде, в устном виде студент может
комментировать выполненное задание, давать пояснения, каким образом может достичь
требуемых эффектов, ответы, работа на занятиях, отчетность учитываются при
определении рейтинга.
2.4.
График и содержание занятий
1 неделя
Кредит час 1
Лекция № 1
Тема. Основные принципы объектно-ориентированного программирования.
Содержание лекции:
1.Основы объектно-ориентированного программирования (ООП). Основные понятия ООП.
Литература:
[3] 23-61
[2] 53-62
СРСП: Среда объектно-ориентированного языка программирования Borland Delphi 7.0.
1. Интегрированная среда разработки
2. Основы среды объектно-ориентированного программирования Delphi
Содержание СРС: Разобрать на примере любого предмета основную характеристику
объекта - свойства.
Кредит час 2
Тема лабораторного занятия: Введение в среду ООЯП Дельфи. Основные составные
части Delphi
Содержание СРСП:
1. Определение функциональности приложения.
2. Компиляция приложения.
Содержание СРС: Работа с литературой
Литература:
[8] 23-61
[3] 53-62
2 неделя
Кредит час 1
Лекция № 2
Тема: Основные концепции объектно-ориентированного программирования.
Содержание лекции:
1. механизм наследования свойств и полиморфизм
2. принцип инкапсуляции и скрытия данных
Литература:
[3] 23-61
[2] 53-62
Содержание СРСП: Рассмотреть на примере основные концепции, дать определение и
характеристику.
1. Рассмотреть на примере механизм наследования свойств, дать определение и
характеристику.
2. Рассмотреть на примере принцип инкапсуляции, дать определение и
характеристику.
Содержание СРС: Разобрать на примере любого предмета основную характеристику
объекта - методы.
Кредит час 2
Тема лабораторного занятия: Палитра компонентов
Содержание СРСП:
1. Определение функциональности приложения.
2. Компиляция приложения.
Определение функциональности приложения, компиляция и выполнение.
Содержание СРС: Разобрать на примере любого предмета основную характеристику
объекта - события.
Литература:
[1] 53-107
3 неделя
Кредит час 1
Лекция № 3
Тема: Среда объектно-ориентированного программирования Delphi
Содержание лекции:
1. Основы среды объектно-ориентированного программирования Delphi
2. Главное окно программы.
Литература:
[3] 42-53
Содержание СРСП:
1. Отладка приложения.
2. Выполнение приложения.
Содержание СРС: Главное окно программы.
Кредит час 2
Тема лабораторного занятия: Инспектор объектов
Содержание СРСП:
1. Главное назначение панели инструментов
2. Окно пользовательских настроек
Содержание СРС: Основные функции панели инструментов
Литература:
[8] 23-61
[3] 53-62
4 неделя
Кредит час 1
Лекция № 4
Тема. Этапы разработки программы
Литература:
[3] 23-61
[2] 53-62
Содержание СРСП:
1. Подробный рассмотр основ среды объектно-ориентированного программирования
Delphi.
2. Подробно описать каждый этап разработки программы
Содержание СРС: Анализ лекционного материала.
Кредит час 2
Тема лабораторного занятия: Инспектор объектов
Содержание СРСП:
1. Кодирование программы
2. Отладка программы
Содержание СРС: Кодирование и отладка программы
Литература:
[1] 53-107
5 неделя
Кредит час 1
Лекция № 5
Тема. Файлы проекта Delphi.
1. Основные файлы проекта
2. Структура головного файла программы
Содержание СРСП:
1. Файл проекта (.dpr)
2. Файл модуля (.pas)
3. Файл формы (.dfm).
Содержание СРС: Анализ лекционного материала
Литература:
[3] 32-42
Кредит час 2
Тема лабораторного занятия: Дополнительные элементы
Содержание СРСП:
1. Файл опций проекта (.dof)
2. Файл конфигурации проекта (.cfg)
3. Файл ресурсов (.res)
Содержание СРС: Работа над индивидуальным заданием
Литература:
[8] 23-61
[3] 53-62
6 неделя
Кредит час 1
Лекция № 6
Тема: Палитра компонентов
Содержание лекции:
1.
назначение, содержание палитры компонентов
2.
основные компоненты
Содержание СРСП:
1. Расположение палитры компонентов.
2. Состав палитры компонентов.
Содержание СРС: Страницы палитры компонентов.
Литература:
[8] 23-61
[3] 53-62
Кредит час 2
Тема лабораторного занятия: Стандартные компоненты
Содержание СРСП:
1. Страница Standard палитры компонентов.
2. Страница System палитры компонентов.
3. Страница Additional палитры компонентов
Содержание СРС: Страницы палитры компонентов
Литература:
[1] 53-107
7 неделя
Кредит час 1
Лекция № 7
Тема. Форма и ее характеристики.
1. Понятие формы.
2. Свойства и события формы.
Содержание СРСП.
1. Общая характеристика формы.
2. Свойства и события формы.
Содержание СРС: Рассмотреть методы формы.
Литература:
[3] 203-226
[2]579-583
Кредит час 2
Тема лабораторного занятия: Работа с Инспектором Объектов
Содержание СРСП: Наиболее часто используемые события формы
1. FormCreate, FormActivate
2. FormShow, FormClose
Содержание СРС: Работа над индивидуальным заданием
Литература:
[3] 203-226
[2]579-583
8 неделя
Кредит час 2
Лекция № 8
Тема. Свойства и события формы.
1. Свойства формы.
2. События формы
Содержание СРСП:
1. Класс TForm, его основные понятия
2. Основные характеристики этого класса
Содержание СРС: Анализ лекционного материала
Литература:
[3] 203-226
[2]579-583
Кредит час 2
Тема лабораторного занятия: Работа с Инспектором Объектов
Содержание СРСП:
1. Свойства формы Caption и Color
2. Cобытие onKeyPress
Содержание СРС: Отчетность по теоретической части изучаемого материала
Литература:
[3] 203-226
[2]579-583
9 неделя
Кредит час 1
Лекция № 9
Тема: Инспектор объекта.
1. Инспектор объекта
2. Редактор кода
Содержание СРСП: Функции взаимного преобразования строк и чисел:
1. FloatToStr, IntToStr, StrToFloat, StrToInt
2. DateToStr, TimeToStr, StrToDateTime, StrToDate, StrToTime и другие.
Содержание СРС: Функции взаимного преобразования строк и чисел.
Литература:
[2] 242-251,378-380
[3] 121-151
Кредит час 2
Тема лабораторного занятия: Пункт меню "File"
Содержание СРСП:
1. Определение селектора компонентов
2. Главное назначение селектора компонентов
Содержание СРС: Главное назначение селектора компонентов
Литература:
[2] 242-251,378-380
10 неделя
Кредит час 1
Лекция № 10
Тема: Структура кода модуля.
Содержание СРСП:
1. Свойства однострочных и многострочных окон редактирования
2. Методы однострочных и многострочных окон редактирования
3. События однострочных и многострочных окон редактирования
Содержание СРС: Работа с литературой, разбор программ
Литература:
[2] 242-251,378-380
Кредит час 2
Тема лабораторного занятия: Управление проектом
Содержание СРСП:
1. Страница свойств компонента
2. Страница событий компонента
Содержание СРС: Работа над индивидуальным заданием
Литература:
[2] 242-251,378-380
11 неделя
Кредит час 1
Лекция № 11
Тема. Компоненты ввода и отображения текстовой и цифровой информации.
1. Отображение текста в надписях компонентов Label, StaticText и Panel.
Содержание СРСП:
1. Свойства, методы и события компонента Label,
2. Свойства, методы и события компонента StaticText
3. Свойства, методы и события компонента Panel
Содержание СРС: Основное назначение компонентов
Литература:
[1] 53-107
[2] 242-251,378-380
[3] 121-151
Кредит час 2
Тема лабораторного занятия: Управление проектом
Содержание СРСП:
1. Основные различия свойств компонентов Label и StaticText
2. Основные различия методов компонентов Label и StaticText
Содержание СРС: Анализ программ с использованием компонентов Label, StaticText
Литература:
[1] 53-107
[2] 242-251,378-380
[3] 121-151
12 неделя
Кредит час 2
Лекция № 12
Тема. Кнопки и переключатели
1. Работа с кнопками
2. Стандартная кнопка
3. Кнопка с рисунком
Содержание СРСП:
1. Основные свойства кнопок
2. кнопок
3. Основные события кнопок
Содержание СРС: Анализ программ с использованием кнопок
Литература:
[1] 53-107
[2] 242-251,378-380
[3] 121-151
Кредит час 2
Тема лабораторного занятия: Управление проектом
Содержание СРСП:
1. Основные свойства компонента Panel
2. Основные методы компонента Panel
Содержание СРС: Отчетность по теоретической части изучаемого материала
Литература:
[1] 53-107
[2] 242-251,378-380
[3] 121-151
13 неделя
Кредит час 1
Лекция № 13
Тема. Кнопки и переключатели
1. Переключатели и их характеристика
Содержание СРСП:
1. Переключатели с независимой фиксацией
2. Переключатели с зависимой фиксацией
Содержание СРС: Переключатели и их характеристика
Литература:
[3] 182-197
[2] 585-591,600-606
Кредит час 2
Тема лабораторного занятия: Конфигурация среды программирования (IDE)
Содержание СРСП: Группы радиокнопок
1. Компонент RadioGroup
2. Компонент RadioButton
3. Компонент GroupBox
Содержание СРС: Основное назначение радиокнопок.
Литература:
[3] 227-275
[2] 641-644,668-673,682-688,693-696
14 неделя
Кредит час 1
Лекция № 14
Тема. Интерфейс диалога в Delphi.
1. Понятие и виды диалогов.
Содержание СРСП:
1. Разбор и анализ программ с использованием диалогов.
2. Особенности применения диалогов
Содержание СРС: Отчетность по теоретической части изучаемого материала
Литература:
[3] 227-275
[2] 641-644,668-673,682-688,693-696
Кредит час 2
Тема лабораторного занятия: Конфигурация среды программирования (IDE)
Содержание СРСП: Коллоквиум
Содержание СРС: Работа с литературой, разбор программ
Литература:
[3] 406-442
[2] 647-656
15 неделя
Кредит час 1
Лекция № 15
Тема. Компоненты меню
1. Назначение меню. Главное меню.
2. Контекстное меню.
Литература:
[3] 227-275
[2] 641-644,668-673,682-688,693-696
Содержание СРСП:
1. Регулирование прозрачности формы двумя способами
2. Описание локальных и глобальных переменных.
Содержание СРС: Анализ применения локальных и глобальных переменных в различных
программах.
Литература:
[3] 203-226
[2]579-583
Кредит час 2
Тема лабораторного занятия: Конфигурация среды программирования (IDE)
Содержание СРСП:
1. Свойство Canvas объекта PaintBox
2. Свойство TPaintBox объекта PaintBox
Содержание СРС: Подробное изучение лекционного материала
Литература:
[3] 406-442
[2] 647-656
Список литературы
Основная литература:
1. Архангельский А. Я. 100 компонентов общего назначения. – М.:ЗАО «Бином», 2003.–
272с.
2. Архангельский А. Я. Delphi 7. Справочное пособие – М.:ООО «Бином-Пресс», 2003. –
1024 с.
3. Баженова И. Ю. Delphi 6. Самоучитель программиста. – М.: КУДИЦ-ОБРАЗ, 2002. –
432с.
4. Бобровский С. И. Delphi 7. Учебный курс. - СПб.: Питер, 2004.-736с.:ил.
5. Гофман В. Э., Хомоненко А. Д. Delphi. Быстрый старт. - СПб.: БХВ-Петербург, 2003.
- 288с.
6. Дарахвелидзе П. Г., Марков Е. П. Программирование в Delphi 7. — СПб.: БХВПетербург, 2003. - 784 с
7. Культин Н.Б. Delphi в задачах и примерах. – СПб.: БХВ-Петербург, 2003.
8. Хомоненко А.Д. Delphi 7 Учебник для высших учебных заведений / Под ред. проф.
А.Д. Хомоненко. – 4-е изд., доп. и перераб. – СПб.: КОРОНА принт, 2004.– 736с
Дополнительная литература
1. Озеров В. Delphi. Советы программистов. – СПб.: Символ – Плюс, 2003. – 976с., ил.
2. Фаронов В.В. Delphi. Программирование на языке высокого уровня. Учебник для
вузов - СПб.:Питер,2005г. - 640с.:ил.
Интернет-ресурсы:
www.delphiword.ru- сайт информатики
www.referat.ru, www.kazref_narod.ru – сборник рефератов
www.edu.gov.kz- сайт Министерство образования и науки
www.wksu.kz- сайты ЗКГУ
www.kazakhstan-gateway.kz, www.academy.kz – основы информационной культуры.
3. График выполнения и сдачи заданий по дисциплине
№
п/п
Вид работ
Цель и содержание
задания
Рекомендуемая
литература
Продолжительн
ость
выполнения
Неделя
Баллы
1
Активность
на
лекционных
занятиях
Проверка
теоретической
подготовки
Согласно рабочей
программе
2
Выполнение
лабораторны
х работ
Глоссарий
Проверка
практической
подготовки
Активизация
самостоятельности у
студентов, а также
усвоение
терминологии
Согласно рабочей
программе
Неделя
1
Согласно рабочей
программе
7 Недели
2
4
Индивидуаль
ное задание
Согласно рабочей
программе
13 неделя
1
5
Контрольная
работа
Активизация
самостоятельности у
студентов
Контроль усвоения
знаний
Согласно рабочей
программе
7 неделя
5
6
Коллоквиум
Комплексная проверка
знаний
Согласно рабочей
программе
15 неделя
5
3
1
4. Карта учебно-методической обеспеченности дисциплины
№
Наименование литературы
Наличие
п/
п
В
на
обеспеченнос Электронная
библиот кафед ти студентов версия
еке
ре
(%)
1
2
3
4
5
6
1 Архангельский А.Я. Delphi
3
15
7:Справочное пособие.М.:Изд. БИНОМ,2004.-1024
с.
2 Гофман В. Delphi 5.1
5
СПб.:БХВ-Петербург,2001.800 с.
3 Культин Н. Delphi в задачах
2
10
и примерах +СD-ROM .Спб. : БХВ-петербург,2003.288 с.
4 Попов В. Самоучитель
2
10
Паскаль и Дельфи.-
Форма
контрол
я
Присутст
вие на
лекцион
ных
занятиях
Практич
еская
работа
Устный
ответ,
наблюде
ние в
ходе
лаборато
рных и
лекцион
ных
занятий.
Практич
еская
работа
Практич
еская
работа
Устный
ответ
Примечани
я
7
5
6
7
8
10
11
12
СПб.:Питер, 2004.-544 с.
Стивенс Р. Delphi.Готовые
алгоритмы.-М:ДМК Пресс,
2001.-384с.
Фаронов В.В. Delphi
6:Учебный курс + дискета
.-СПб. : Питер,2002.-512 с.
Фаронов В.В.
Delphi:Программирование
на языке высокого
уровня.Учеб.Спб.:Питер,2004.-640 с.
Фаронов В.В.
Delphi:Программирование
на языке высокого
уровня.Учеб.Спб.:Питер,2005.-640 с.
Хомоненко А. Самоучитель
Delphi.-Спб.:БВХ
Петербург, 2003.-576 с.
В.Фаронов “Искусство
создания компонентов
Delphi” Питер-2005г.
И.Ю. Баженова “Delphi 7”
1
-
5
1
-
5
2
-
10
1
-
5
2
1
5
1
-
5
1
-
5
самоучитель программиста,
М,”Кудиц- образ” 2003 г
13
Дарахвелидзе П. Г., Марков
1
+
1
+
Е. П. Программирование в
Delphi
7.-СПб.:БХВ-
Петербург, 2003. - 784с
14
Гофман В. Э., Хомоненко А.
Д. Delphi. Быстрый старт. СПб.: БХВ-Петербург, 2003.
- 288с.
ГЛОССАРИЙ
Ағылшын тілінде
1
array
and
arc
assign
background
begin
boolean
break
build
blink
byte
call
can not
cancel
case
char (character)
clear
close
color
copy
concat
create
CRT
deduction
dec (decrement)
delay
delete
detect
device
default
do
downto
dublicate
device
edit
else
empty
eof (end of file)
erase
error
exe (execute)
end
exit
execution
extended
file
fill
first
floating point
for
Орыс тілінде
2
A
массив
и
дуга (имя процедуры)
назначать
B
фон
начало
булевский, логический
прерывать
строить
мигание
байт
C
вызов
нельзя
прервать
случай
буква, литера, алфавит
очищать
закрывать
цвет
копия
связывать
создавать
электронно- лучевая трубка
D
умозаключение
уменьшение
задержка
удалять
обнаруживать
устройство
по умолчанию
делать
вниз, вплоть до
cдвоенный, повторный
устройство
деление
E
редактировать
иначе
пустой
конец файла
стирать
ошибка
выполнять
конец
выход
выполнение
расширенный
F
файл
наполнять
первый
плавающая точка
қадам
Қазақ тілінде
3
жиым
және
доға (процедура аты)
орнату(процедура аты)
фон
басы
логикалық
үзу, тоқтату
тұрғызу, жасау
жыпылықтау
байт
шақыру
болмайды
үзу
жағдай
әріп,литер, алфавит
тазарту
жабу
түс
kөшірме
біріктіру
жасау
электронды- сәулелік түтікше
тұжырым
азайту
кідіріс
жою
білдіру
құрылғы
үнсіз келісім бойынша
орындау
төмен қарай
қайталанған
құрылғы
бөлу
редакциялау
әйтпесе
бос
файл соңы
кетіру, жою
қате
орындау
соңы
шығу
орындау
кеңейтілген
файл
толтыру
бірінші
жылжымалы нүкте
үшін
frac
function
font
group
graph
go to
gothic font
halt
headers
height
help
identifier
if
image
imlemantation
in
inc (increment)
include
init(initialization)
insert
int (integer)
increment
invalid
keep
key
line, string
label
language
last
length
light
list
long
low
menu
magenta
make
memory
message
window
mod(modulus)
mode
modify
move
name
near
new
next
nil
not
number
object
odd
of
дробный
функция
шрифт
G
группа
графика
идти к
готический шрифт
H
остановка
заголовок
высота
помощь
I
идентификатор
если
изображение
выполнение
в
рост
включать, заключать
инициализация
вставить
целый
шаг
недопустимый
K
сохранять
клавиша
L
строка
метка
язык
последний
длина
светлый
список
длинный
низкий
M
меню
фиолетовый
делать
память
сообщение
окно
модуль
режим
изменять, модифицировать
перемещать
имя
N
близкий
новый
следующий
ничто
не
число
O
объект
нечетный
признак родительского падежа
бөлшек
функция
қаріп
топ
графика
өту
готикалық қаріп
тоқтау
тақырып
биіктік
көмек
идентификатор
егер
бейне
орындау
тиісті
өсу
қосу
инициализациялау
қою, кірістіру
бүтін
қадам
мүмкін емес
сақтау
перне
қатар, жол
таңба
тіл
соңғы
ұзындық
ашық
тізім
ұзын
төмен
мәзір
күлгін
жасау
жады
хабарлама
терезе
модуль
режим
өзгерту
орнын алмастыру
аты
жақын
жаңа
келесі
бос
емес
сан
объект
тақ
ілік септігінің белгісі
off
on
open
or
ord(ordinal)
output
overflow
overlay
program
palette
paste
path
pattern
pixel
pointer
private
protected
public
put
random
range
read
real
record
rectangle
rename
repeat
reset
restore
return
rewrite
right
run
save
save as
screen
scrool- bars
search
sector
seek
set
set
setup
shift
shl(shift left)
short
show
shr(shift right)
size
small
solid
sound
step
str(string)
succ
switch
system
time
выключено
включено
открыть
или
порядковый
выход
переполнение
оверлей
P
программа
палитра
вставить
путь
шаблон
точка
указатель
частный
защищенный
публичный
ставить
R
случайный
диапазон
читать
вещественный
запись
прямоугольник
переименовать
повторять
вновь установить
восстанавливать
возвращать
переписывать
правый
исполнять
S
сохранить
сохранить как
экран
столбец прокрутки
искать
сектор
искать
установить
множество
установка
сдвиг
сдвиг влево
короткий
показывать
сдвиг вправо
размер
маленький
сплошной
звук
шаг
строка
последующий
ключ
система
T
время
айырылған
қосылған
ашу
немесе
реттік
шығу
толып қалу
оверлей
программа
палитра
қою
жол
шаблон
нүкте
көрсеткіш
дербес
қорғалған
бұқаралық
қою
кездейсоқ
диапазан, аралық
оқу
нақты
жазба
тіктөртбұрыш
атын өзгерту
қайталау
қайта орнату
қалпына келтіру
қайтару
қайта жазу
оң
орындау
сақтау
қалай сақтау
экран
айналдыру бағаны
іздеу
сектор
іздеу
орнату
жиын
орнату
жылжу
солға жылжу
қысқа
көрсету
оңға жылжу
өлшем
кіші
тұтас
дыбыс
қадам
жол
келесі
кілт
жүйе
уақыт
text
then
to
tool
top
topic
tree
trunc (truncate)
type
unit
until
user
uses
val(value)
var(variable)
view
what
while
wight
with
write
word
zero
zoom
justify
текст
то
к (предлог)
инструмент
верх
тема, предмет
дерево
сокращать
тип
U
модуль
до тех пор, пока
пользователь
подключать
V
значение
переменная
вид
W
что, как
пока
ширина
с (предлог)
писать
слово
Z
нуль
увеличивать
выравнивать
мәтін
онда
(жұрнақ)
құрал
жоғары
тақырып
ағаш
қысқарту
тип
модуль
оған дейін, әзір
қолданушы
қосу
мән
айнымалы
түр
қалай
әзір
ені
бірге (жұрнақ)
жазу
сөз
нөл
үлкейту
туралау
5. Лекционный комплекс:
Лекция № 1
Тема: Основные принципы объектно-ориентированного программирования.
Содержание лекции:
1. Основные понятия ООП.
Цель: дать понятие сути и назначению объектов, их свойств, методов и событий.
1. Основные понятия ООП.
Объектно-ориентированное программирование - это подход к разработке
программного обеспечения, основанный на объектах, а не на процедурах. Этот подход
позволяет максимизировать принципы модульности и "сокрытия информации". Объектноориентированное программирование базируется на связывании или
инкапсуляции
структур данных и процедуры, которая работает с данными в структуре, с модулем.
Объектом называется специальным образом оформленный фрагмент программы,
заключающий в себе данные и подпрограммы для их обработки. Данные называются
полями объекта, а подпрограммы - его методами. Объект в целом предназначен для
решения какой-либо конкретной задачи и воспринимается в программе как неделимое
целое (иными словами, нельзя из объекта “выдернуть” отдельное поле или метод). Два
главных свойства объекта - функциональность и неделимость - делают его
самостоятельной или даже самодостаточной частью программы и позволяют легко
переносить объект из одной программы в другую. Разработчики Delphi придумали для нас
с вами сотни объектов, которые можно рассматривать как кирпичики, из которых
программист строит многоэтажное здание программы. Объектом может быть и константа,
и переменная, и процедура, и процесс.
В языке Object Pascal классы – это специальные типы данных, используемые для
описания объектов. Соответственно объект, имеющий тип какого-либо класса, является
экземпляром этого класса или переменной этого типа. Класс представляет собой особый
тип записи, имеющий в своем составе такие элементы, как поля, свойства и методы. Поля
класса аналогичны полям записи и служат для хранения информации об объекте. Методы
класса (процедуры и функции, объявление которых включено в описание класса)
выполняют действия над объектами класса, т.е. происходит обработка полей. Чтобы метод
был выполнен, надо указать имя объекта и имя метода, отделив одно имя от другого
точкой. В программе методы класса определяются точно так же, как обычные процедуры и
функции, за исключением того, что имя процедуры или функции, являющейся методом,
состоит из двух частей: имени класса, к которому принадлежит метод, и имени метода.
Имя класса от имени метода отделяется точкой.
Свойство объекта характеризуется полем, хранящем значение свойства, и двумя
методами, обеспечивающими доступ к полю свойства. В описании класса перед именем
свойства записывают слово property (свойство). После имени свойства указывается его тип,
затем имена методов, обеспечивающих доступ к значению свойства.
Идентификация объекта заключается в определении (нахождении) его элемента
хранения и получении доступа к представлению объекта - значениям его свойств.
Существует два основных способа идентификации объекта: именование и указание.
Именование заключается в назначении объекту определенного имени. Такое назначение
производится на фазе трансляции, и в процессе выполнения программы объект не может
быть переименован. Указание - второй основной способ идентификации - связано с использованием особых объектов, в представлении которых хранится как бы "стрелка",
указывающая на идентифицируемый объект. Такой особый объект называется указателем
или ссылкой.
Объекты, существующие в программе, делятся на две категории: статические и
динамические. Эти категории определяются по-разному: на основе изменения состояния
объектов модели и на основе "времени жизни" объектов. Первое определение
предполагает, что любой объект, изменяющий свое состояние в процессе работы программы, является динамическим. Второе определение предполагает возможность
временного существования объектов, возможности создания и уничтожения объектов. В
этом смысле объекты, время существования которых равно времени выполнения программы, расцениваются как постоянно существующие (статические), объекты же, время
существования (жизни) которых меньше времени выполнения программы - как динамические. Второе определение касается объектов, которые идентифицируются только через указатели.
Вопросы для самоконтроля:
1. Что такое объект?
2. Как можно описать свойства объекта?
3. Назначение методов объектов?
4. В чем суть событий?
Рекомендуемая литература:
[1]- 211-213,228,232 с.
[2]-10с., 2-28 с.
Лекция № 2
Тема: Основные концепции объектно-ориентированного программирования.
Содержание лекции:
1. механизм наследования свойств и полиморфизм
2. принцип инкапсуляции и скрытия данных
Цель: познакомить с основными элементами Delphi.
1. Наследование - определение объекта и его дальнейшее использование для
построения иерархии порожденных объектов с возможностью для каждого порожденного
объекта, относящегося к иерархии, доступа к коду и данным всех порождающих объектов.
Объектно-ориентированное программирование в большой степени является
процессом построения генеалогического дерева для структур данных. Одной из важных
особенностей, которые объектно-ориентированное программирование добавляет
традиционным языкам типа Паскаль, является механизм, с помощью которого типы
данных могут наследовать характеристики более простых, более общих типов. Этим
механизмом является наследование. Наследование – это процесс порождения новых
объектов-потомков от существующих объектов-родителей, при этом потомок берет от
родителя все его поля, свойства и методы. В дальнейшем наследуемые поля, свойства и
методы можно использовать в неизменном виде или переопределять (модифицировать).
Просто наследование большого смысла не имеет, поэтому в объект-потомок
добавляются новые элементы, определяются его особенность и функциональность.
Удалить какие-либо элементы родителя в потомке нельзя. В свою очередь, от нового
объекта можно породить следующий объект, в результате образуется дерево объектов
(называемое также иерархией классов). В начале этого дерева находится базовый класс
TObject, который реализует наиболее общие для всех классов элементы, например,
действия по созданию и удалению объекта. Чем дальше тот или иной класс находится в
дереве от базового класса, тем большей специфичностью он обладает.
Унаследованные от класса-предка поля и методы доступны в дочернем классе; если
имеет место совпадение имен методов, то говорят, что они перекрываются.
Полиморфизм это когда объекты разных иерархий по-разному реагируют на одно и
тоже событие. Сущность полиморфизма заключается в том, что методы различных классов
могут иметь одинаковые имена, но различное содержание. Это достигается
предопределением родительского метода в классе-потомке. В результате родитель и
потомок ведут себя по-разному. При этом обращение к одноименным методам различных
объектов выполняется аналогично.
2. Инкапсуляция - комбинирование записей с процедурами и функциями,
манипулирующими полями этих записей, формирует новый тип данных - объект.
При создании программных объектов можно моделировать различные ситуации,
связывая со свойствами необходимые методы. Понятие инкапсуляции соответствует этому
механизму.
Классическое правило объектно-ориентированного программирования утверждает,
что для обеспечения надежности нежелателен прямой доступ к полям объекта: чтение и
обновление их содержимого должно производиться посредством вызова соответствующих
методов. Это правило и называется инкапсуляцией.
Свойство объектов содержать в себе не только данные (поля), но и описания
действий, допустимых над этими данными (методы), называется инкапсуляцией.
Инкапсуляция - одна из специфических особенностей программирования,
ориентированного на объекты. Эта особенность предполагает не только возможности
"разложения целого на части" (принципа, определяющего основы любого
программирования), но и умения "скрывать" частности от общего (целого). Такой подход
позволяет программисту не знать частных деталей реализации программной системы,
осуществлять конструирование из элементов, реализация которых скрыта от него "под
оболочкой" модуля. Модуль в этом подходе приобретает роль основного конструктивного
элемента, используемого для синтеза и разработки новых систем.
Литература:
[1]- 211-213,228,232 с.
[2]-10с., 2-28 с.
Вопросы для самоконтроля:
1. Что представляет собой механизм наследования свойств?
2. Что такое полиморфизм?
3. Инкапсуляция это?
Лекция № 3
Тема: Среда объектно-ориентированного программирования Delphi
Содержание лекции:
3. Основы среды объектно-ориентированного программирования Delphi
4. Главное окно программы.
Цель: познакомить с основными элементами Delphi.
Delphi – интегрированная среда разработки (IDE – Integrated Development
Environment), используемая для создания и поддержки приложений, которые могут
работать под любой 32 разрядной операционной системой типа Windows 95, 98, 2000, NT
Delphi дает возможность создавать программы в стиле визуального
конструирования, т.е. пользователь оформляет свою будущую программу, и видит
результаты своей работы еще до запуска самой программы. Это довольно легкая в
изучении среда, и в то же время довольно сложная.
Delphi имеет пользовательский графический интерфейс, подобный Visual Basic и
C++. На данный момент множество фирм приняло за стандарт данный интерфейс для
собственных приложений. Весь исходный текст программ на Delphi пишется на языке
Object Pascal, практически ничем не отличающимся от принципов, заложенных в Turbo
Pascal. Синтаксис, принцип модуля, процедуры, функции, все взято за основу. Процесс
написания приложения разделяется на две части:
Первая часть - программист располагает на окна своей программы необходимые
элементы, позиционирует их, устанавливает нужные размеры, меняет свойства;
Вторая часть - собственно, написание программного кода, описание свойств
элементов, доступных только во время работы приложения, описание реакций на событие
появление окна, нажатия на кнопку и др.
Главное окно осуществляет основные функции управления проектом создаваемой
программы. Это окно всегда присутствует на экране и упрямо занимает его самую
верхнюю часть. Не пытайтесь его распахнуть на весь экран: даже в максимизированном
состоянии его размеры и положение практически не отличаются от обычных.
Связано это с функциональностью главного окна: с одной стороны, оно несет в себе
элементы, которые всегда должны быть под рукой у программиста, с другой - окно не
должно отнимать у остальных окон Delphi значительного пространства экрана.
Минимизация главного окна приводит к исчезновению с экрана других окон Delphi[Эти
окна появятся, как только будут восстановлены размеры главного окна], а его закрытие
означает окончание работы программиста с системой программирования. В главном окне
располагается главное меню Delphi, набор пиктографических командных кнопок и палитра
компонентов.
Главное окно осуществляет основные функции управления проектом создаваемой
программы и состоит из:
 Строки заголовка;
 Строки меню;
 Панели инструментов;
 Палитры компонентов;
Главное окно остается открытым все время работы IDE. Закрывая его, вы тем
самым закрываете Delphi и все открытые в нем окна. Строка заголовка главного окна
отображает имя открытого в данный момент проекта. По заголовку главного окна можно
определить, в каком режиме открыт проект.
Текст заголовка
Delphi 7.0 – Project1
Delphi 7.0– Project1 [Running]
Режим работы
Редактирование
Выполнение
Строка меню содержит команды, необходимые для разработки и тестирования приложений
и используется так же, как любое стандартное Windows-меню.
Панель инструментов представляет собой набор кнопок для быстрого доступа к
необходимой функции меню.
На этой панели есть, в частности, кнопка сохранения проекта на диске, кнопка
открытия проекта, кнопка запуска программы на выполнение. Пользователь может
изменить конфигурацию панели инструментов. Для этой цели используется окно
пользовательских настроек, с помощью которого можно отображать, скрывать или менять
положение на панели инструментов тех или иных инструментов.
Окно пользовательских настроек можно открыть, щелкнув правой кнопкой мыши
на панели инструментов. С помощью появившегося контекстного меню можно произвести
необходимые настройки.
Вопросы для самоконтроля:
1. Что такое Delphi 7.0?
2. Что представляет собой панель инструментов?
3. Какие функции осуществляет главное окно программы?
Рекомендуемая литература:
[1]-115-123с
[2]-41-72 с, 85-88с.
Лекция № 4
Тема. Этапы разработки программы
Цель: изучить этапы разработки программы.
Выражение "написать программу" отражает только один из этапов создания компьютерной
программы, когда разработчик программы (программист) действительно пишет команды
(инструкции) на бумаге или при помощи текстового редактора.
Программирование — это процесс создания (разработки) программы, который может быть
представлен последовательностью следующих шагов:
1. Спецификация (определение, формулирование требований к программе).
2. Разработка алгоритма.
3. Кодирование (запись алгоритма на языке программирования).
4. Отладка.
5. Тестирование.
6. Создание справочной системы.
7. Создание установочного диска (CD-ROM).
Спецификация, определение требований к программе — один из важнейших этапов, на
котором подробно описывается исходная информация, формулируются требования к
результату, поведение программы в особых случаях (например, при вводе неверных
данных), разрабатываются диалоговые окна, обеспечивающие взаимодействие
пользователя и программы.
На этапе разработки алгоритма необходимо определить последовательность действий,
которые надо выполнить для получения результата. Если задача может быть решена
несколькими способами и, следовательно, возможны различные варианты алгоритма
решения, то программист, используя некоторый критерий, например, скорость решения
алгоритма, выбирает наиболее подходящее решение.
Результатом этапа разработки алгоритма является подробное словесное описание
алгоритма или его блок-схема.
Кодирование. После того как определены требования к программе и составлен алгоритм
решения, алгоритм записывается на выбранном языке программирования. В результате
получается исходная программа.
Отладка — это процесс поиска и устранения ошибок. Ошибки в программе разделяют
на две группы: синтаксические (ошибки в тексте) и алгоритмические. Синтаксические
ошибки — наиболее легко устраняемые. Алгоритмические ошибки обнаружить труднее.
Этап отладки можно считать законченным, если программа правильно работает на одномдвух наборах входных данных.
Этап тестирования особенно важен, если вы предполагаете, что вашей программой
будут пользоваться другие. На этом этапе следует проверить, как ведет себя программа на
как можно большем количестве входных наборов данных, в том числе и на заведомо
неверных.
Если разработчик предполагает, что программой будут пользоваться другие, то он
обязательно должен создать справочную систему и обеспечить пользователю удобный
доступ к справочной информации во время работы с программой. В современных
программах справочная информация представляется в форме СНМ- или HLP-файлов.
Помимо справочной информации, доступ к которой осуществляется из программы во
время ее работы, в состав справочной системы включают инструкцию по установке
(инсталляции) программы, которую оформляют в виде Readme-файла в одном из
форматов: TXT, DOC или НТМ.
Установочный диск или CD-ROM создаются для того, чтобы пользователь мог
самостоятельно, без помощи разработчика, установить программу на свой компьютер.
Обычно помимо самой программы на установочном диске находятся файлы справочной
информации и инструкция по установке программы (Readme-файл). Следует понимать, что
современные программы, в том числе разработанные в Delphi, в большинстве случаев (за
исключением самых простых программ) не могут быть установлены на компьютер
пользователя путем простого копирования, так как для своей работы требуют специальных
библиотек и компонентов, которых может и не быть у конкретного пользователя. Поэтому
установку программы на компьютер пользователя должна выполнять специальная
программа, которая помещается на установочный диск. Как правило, установочная
программа создает отдельную папку для устанавливаемой программы, копирует в нее
необходимые файлы и, если надо, выполняет настройку операционной системы путем
внесения дополнений и изменений в реестр.
Лекция № 5
Тема. Файлы проекта Delphi.
1. Основные файлы проекта
2. Структура головного файла программы
Цель: изучить структуру приложения и назначение основных файлов проекта.
1. Основные файлы проекта
Проект Delphi состоит из форм, модулей, установок параметров проекта, ресурсов и
т.д. Вся эта информация размещается в файлах. Многие из этих файлов автоматически
создаются Delphi, когда вы строите приложение. Ресурсы, такие, как битовые матрицы,
пиктограммы и т.д., находятся в файлах, которые вы получаете из других источников или
создаете при помощи многочисленных инструментов и редакторов ресурсов, имеющихся в
вашем распоряжении. Кроме того, компилятор также создает ряд файлов.
Когда вы проектируете ваше приложение, Delphi создает следующие файлы:
Файл проекта (.dpr)
Этот текстовый файл используется для хранения
информации о формах и модулях. В нем содержатся
операторы инициализации и запуска программы на
выполнение.
Файл модуля (.pas)
Каждой создаваемой вами форме (начиная с Delphi 5 также
каждому фрейму Frame) соответствует файл модуля,
используемый для хранения кода. Иногда вы можете
создавать модули, не связанные с формами. Многие из
функций и процедур Delphi хранятся в модулях.
Файл формы (.dfm)
Это двоичный файл, который создается Delphi для хранения
информации о ваших формах и фреймах. Каждому файлу
формы соответствует файл модуля (.pas)
Файл опций проекта (.dof) В этом файле хранятся установки опций проекта.
Файл
конфигурации В этом файле хранятся установки проекта, а частности,
проекта (.cfg)
используемые директивы компилятора.
Файл
информации
пакетах (.drf)
о Этот бинарный файл используется Delphi при работе с
пакетами.
Файл ресурсов (.res)
Этот бинарный файл содержит используемую проектом
пиктограмму и прочие ресурсы.
Файл
группы
файлов Это файл, создаваемый, начиная с Delphi 4, при создании
(.bpg)
вами группы файлов.
Файлы резервных копий Это файлы резервных копий соответственно для файлов
(.~dp, .~df, ~pa)
проекта, модуля, формы. Если вы что-то безнадежно
испортили в своем проекте. Можете соответственно
изменить расширения этих файлов и таким образом
вернуться к предыдущему, не испорченному варианту.
2. Структура головного файла программы
Головной файл программы имеет следующую структуру:
program <имя>
{Объявления подключаемых модулей, а также объявления локальных для головного файла
типов, классов, констант, переменных, описания локальных функций и переменных}
begin
//операторы тела программы, здесь может располагаться любой код, который должен
выполняться перед началом работы приложения или в процессе его закрытия.
End.
Текст модуля описанного выше простого примера, который вы можете увидеть в окне
Редактора Кода. Подробные комментарии в этом тексте поясняют, куда и что в этот код вы
можете добавлять.
unit Unit1;
interface // Открытый интерфейс модуля
{Список подключаемых модулей}
uses
Windows, Messages, SysUtils, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls;
{Объявление класса формы}
type
TForm1 = class(TForm)
Label1: TLabel;
Button1: TButton;
procedure Button1Click (Sender: TObject);
private // Закрытый раздел класса
{ Private declarations }
{Сюда могут помещаться объявления переменных, функций и
процедур, включаемых в класс формы, но не доступных для
других модулей}
public
// Открытый раздел класса
{ Public declarations }
{Сюда могут помещаться объявления переменных, функций и
процедур, включаемых в класс формы и доступных для
других модулей}
end;
var
Form1: TForm1;
{Сюда могут помещаться объявления типов, констант,
переменных, функций и процедур, к которым будет доступ
из других модулей, но которые не включаются в класс
формы}
implementation // Реализация модуля
{$R *.DFM}
{Сюда могут помещаться предложения uses, объявления типов,
констант, переменных, к которым не будет доступа из
других модулей. Тут же должны быть реализации всех
объявленных в разделе interface функций и процедур,
а также могут быть реализации любых дополнительных, не
объявленных ранее функций и процедур.}
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := 'Это мое приложение Delphi!';
end;
end.
Модуль начинается с ключевого слова unit, после которого пишется имя модуля. Оно
совпадает с именем файла, в которым вы сохранили свой модуль. По умолчанию для
первого модуля имя равно Unit1, для второго Unit2 — и т.д.
Текст модуля состоит из двух основных разделов: interface — открытый интерфейс
модуля, и implementation — реализация модуля. Все, что помещается непосредственно в
раздел interface (типы, переменные, константы, функции, процедуры), может быть
использовано другими модулями программы. Все, что помещается в раздел
implementation — внутреннее дело модуля. Внешние модули не могут видеть типы,
переменные, константы, функции и процедуры, размещенные в разделе реализации.
В разделе interface после предложения uses, содержащего список подключаемых
библиотечных модулей, вы можете видеть объявление класса вашей формы,
подготовленное Delphi. Имя класса вашей формы — TForm1. В класс включены те
объекты которые вы разместили на форме — метка Label1 и кнопка Button1. Кроме того в
класс включено объявление того обработчика щелчка на кнопке, который вы создали —
процедуры Button1Click.
В классе предусмотрено также два раздела: private — закрытый раздел класса, и public —
открытый раздел класса. То, что вы или Delphi объявите в разделе public, будет доступно
для других классов и модулей. То, что объявлено в разделе private, доступно только в
пределах данного модуля.
После завершения объявления класса формы вы можете видеть строки
var
Form1: TForm1
Это объявляется переменная Form1 класса TForm1, т.е. объявляется ваша форма как
объекта класса TForm1.
Затем следует раздел реализации implementation, который начинается с директивы
компилятора, смысл которой, вообще говоря, знать не обязательно. Надо только следить,
чтобы случайно не стереть эту директиву. Далее в разделе implementation вы можете
видеть реализацию объявленной в классе процедуры Button1Click с единственным
оператором, который вы ввели в программу сами.
В раздел implementation вы можете сами включать помимо обработчиков событий любые
объявления глобальных переменных, констант, типов, и описания функций и процедур.
Если вы хотите из данного модуля получить доступ к другому разработанному вами
модулю (другой форме), то в раздел implementation вам надо включить оператор uses, в
котором указать файл модуля, доступ к которому вы хотите получить. Например,
предложение
uses Unit2, Unit3;
обеспечит вам доступ ко всем элементам, объявленным в интерфейсе модулей Unit2 и
Unit3.
Литература:
[3] 32-42
Вопросы для самоконтроля:
1. Что такое проект?
2. Что входит в состав проекта?
3. Какой главный файл проекта?
4. Когда создается файл с расширением .exe ?
Лекция № 6
Тема: Палитра компонентов
Содержание лекции:
1. назначение, содержание палитры компонентов
2. основные компоненты
Цель: познакомить с основными элементами палитры компонентов.
1. назначение, содержание палитры компонентов
Палитра компонентов устроена в виде наборов пиктограмм. На палитре
компонентов, представляющей собой множественные тематические страницы,
располагаются визуальные и невизуальные компоненты вашей будущей программы. Они
составляют библиотеку визуальных компонентов (VCL – Visual Component Library). Эта
библиотека содержит большое количество классов, предназначенных для быстрой
разработки приложений. Невизуальные компоненты видны только при проектировании
приложения. При этом все компоненты являются классами, но не все классы являются
компонентами. Все классы VCL расположены на определенном уровне иерархии и
образуют дерево (иерархию) классов.
Палитра компонентов - это главное богатство Delphi. Она занимает правую часть
главного окна и имеет закладки, обеспечивающие быстрый поиск нужного компонента.
Под компонентом понимается некий функциональный элемент, содержащий определенные
свойства и размещаемый программистом в окне формы. С помощью компонентов
создается каркас программы, во всяком случае - ее видимые на экране внешние
проявления: окна, кнопки, списки выбора и т. д.
2. основные компоненты
Как мы уже выяснили, компоненты представляют собой элементы, из которых
конструируется видимое изображение, создаваемое работающей программой. Существует
значительное количество компонентов, которые не создают видимого изображения, но
которые тем не менее играют важную роль в тех или иных случаях. Правильнее думать о
компонентах как о заранее приготовленных для вас фрагментах программы, которые
можно вставлять, если в этом есть необходимость, в разрабатываемую программу. для
того, чтобы расположить на форме какой-либо компонент, достаточно выбрать его в
палитре компонентов, а затем щелкнуть в нужном месте окна формы. Для настройки
компонента следует использовать инспектор объектов. Компонент, в который можно
поместить другие компоненты, называется компонентом-контейнером.
На странице Standard палитры компонентов сосредоточены стандартные для
Windows интерфейсные элементы, такие как Frame, Label, Edit, Memo, RadioButton,
CheckBox, Button, без которых не обходится практически ни одна программа.
В страницу Additional помещены 18 дополнительных компонентов, с помощью
которых можно разнообразить вид диалоговых окон, т.е. они являются более развитыми, а
также здесь находятся компоненты, главное назначение которых
- отображение
графической информации, например, Shape, SpeedButton, StringGrid, Image, BitBtn.
Страница System содержит неотображаемые системные компоненты, такие как
Timer, Media Player и т.д.
Win 32 содержит компоненты позволяющие осуществлять просмотр древовидных
структур, просмотр списков, расширенный текстовый редактор и т.д.
Литература:
[3] 203-226
[2]579-583
Вопросы для самоконтроля:
1. Для чего предназначена палитра компонент?
2. Что такое VCL?
3. Какие компоненты находятся на странице Standard?
4. Какие компоненты находятся на странице Additional?
Лекция № 7
Тема. Форма и ее характеристики.
1. Понятие формы.
2. Свойства и события формы.
Цель: Дать понятие форме, определить место и роль форм в проекте.
1.Понятие формы.
Форма является важнейшим визуальным компонентом. Формы представляют собой
видимые окна Windows и являются центральной частью практически любого приложения.
Термины "форма" и "окно" являются синонимами и обозначают одно и то же.
Форма представляется компонентом Form класса TForm, на основе формы
начинается конструирование приложения. На форме размещаются визуальные
компоненты, образующие интерфейсную часть приложения, и системные (невизуальные)
компоненты. Таким образом, форма представляет собой компонент Delphi, служащий
контейнером для всех других компонентов.
Создание нового приложения начинается с того, что Delphi автоматически
предлагает пустое окно — форму Form1. В принципе возможно создание и безоконного
приложения, однако большинство приложений имеет видимое на экране окно, содержащее
его интерфейсную часть.
Каждое приложение может иметь несколько форм, одна их которых является
главной и отображается первой при запуске программы. При закрытии главного окна
(формы) приложения прекращается работа всего приложения, при этом также закрываются
все другие окна приложения. В начале работы над новым проектом Delphi по умолчанию
делает главной первую форму (с первоначальным названием Form1). В файле проекта
(DPR) эта форма создается первой, например:
Application.Initialize;
Application.CreateForm(TForm1, Form1);
Application.CreateForm(TForm2, Form2);
Application.Run;
Программно можно сделать главной любую форму приложения, указав вызов метода
CreateForm создания этой формы первым. Например, для задания Form2 в качестве главной
формы можно записать следующий код:
Application.Initialize;
Application.CreateForm(TForm2, Form2);
Application.CreateForm(TForm1, Form1);
Application.Run;
При конструировании приложения более удобно указать главную форму в окне
параметров проекта, вызываемом командой Project | Options (Проект |Параметры). Главная
форма выбирается в раскрывающемся списке Main Form на странице Form, после этого
Delphi автоматически вносит в файл проекта соответствующие изменения.
Форма может быть модальной и немодальной. Немодальная форма позволяет
переключиться в другую форму приложения без своего закрытия. Модальная форма
требует обязательного закрытия перед обращением к любой другой форме приложения.
2. Свойства и события формы.
Как и любой другой визуальный компонент, форма имеет свойства, методы и
события. Например, форма имеет такие свойства, как Caption и Color, событие onKeyPress.
Кроме общих для всех визуальных компонентов форма имеет и специфические,
определяемые ее особым значением, свойства, методы и события. Часть их характеризует
форму как главный объект приложения, например, свойство Bordericons, другая часть
присуща форме как контейнеру других компонентов, например, свойства AutoScroll И
ActiveControl.
Литература:
[3] 203-226
[2]579-583
Вопросы для самоконтроля:
1. Для чего нужна форма?
2. Перечислите основные свойства формы?
Лекция № 8
Тема. Свойства и события формы.
3. Свойства формы.
4. События формы.
Цель: Дать свойствам и событиям формы, определить их место и роль.
1. Свойства формы
ActiveControl - Указывает на компонент, который должен быть активным по
умолчанию.
Align - Выравнивание компонента. Любой компонент может быть выровнен по
одной из сторон родительского компонента. Этому свойству можно присвоить следующие
значения:
alNone – нет выравнивания. Как нарисовал, так и будет.
alBottom – выравнивание по нижнему краю.
alLeft - выравнивание по левому краю.
AlRight - выравнивание по правому краю.
AlTop - выравнивание по верхнему краю.
Компоненты выравниваются относительно формы, а форма выравнивается
относительно окна.
AlphaBlend - Тип свойства – логический. Означает, имеет ли форма прозрачность.
Если это свойство равно true, то окно будет прозрачным. Степень прозрачности задаётся
через свойство AlphaBlendValue.
AlphaBlendValue - Тип свойства – целое число. Степень прозрачности формы. Здесь можно
задавать числовое значение степени прозрачности от 0 до 255. Если поставить 0, то форма
будет абсолютно прозрачной. 255 означает полную непрозрачность. Чтобы сделать
форму полупрозрачной, нужно выставить какое-нибудь промежуточное значение (можно
127).
Anchors - Это свойство есть и у формы и у компонентов. Оно показывает, как
происходит закрепление к родительскому объекту. Это свойство раскрывающееся. Если
щелкнуть по квадрату слева от имени свойства, то раскроется список из четырёх
дополнительных свойств:
akLeft – прикреплять левый край (по умолчанию true).
akTop – прикреплять верхний край (по умолчанию true).
akRight – прикреплять правый край (по умолчанию flase).
akBottom – прикреплять нижний край (по умолчанию false).
По умолчанию прикрепление происходит по левому и верхнему краю.
AutoScroll - Тип свойства – логический. Будет ли форма автоматически производить
скроллинг, или нет.
AutoSize - Тип свойства – логический. Должны ли компоненты на форме
автоматически корректировать размеры.
BorderIcons - Свойство определяющее, какие кнопки должны присутствовать у окна. Это
свойство раскрывающееся. Если ты щелкнешь по квадрату слева от имени свойства, то
раскроется список из четырёх свойств:
biSystemMenu – показать меню (иконка слева в строке заголовка окна) и другие
кнопки заголовка окна.
biMinimize – кнопка минимизации окна.
biMaximize – кнопка максимизации окна.
biHelp – кнопка помощи.
BorderStyle – Свойство формы. Отвечает за вид оборки окна. Это свойство может
принимать следующие значения.
bsSizeable – установлено по умолчанию. Стандартное окно, с нормальной
оборкой, которое может изменять свои размеры.
bsDialog – окно выглядит в виде диалога.
bsNone – окно вообще без оборки.
bsSingle – На первый взгляд это простое окно, а если попробовать изменить его
размеры, то можно получить облом. Это окно с фиксированным размером и
изменять его мышкой нельзя. Изменить размер можно только кнопкой
Maximize.
bsSizeToolWin – окно с тонкой оборкой. Особенно это заметно в заголовке окна.
bsToolWindow – я не буду приводить скрин этого окна, потому что он ничем не
отличается от предыдущего. Единственная разница – у этого окна нельзя
изменять размеры окна.
BorderWidth – ширина оборки окна. Пока что все окна, которые мы рассматривали, имели
ширину оборки равную нулю. На скрине ниже показано окно с оборкой равной 10. В
центре окна растянута на всю площадь поле для ввода текста и несмотря на это, в окне по
краям видны широкие оборки.
Caption – это строковое свойство, которое отвечает за заголовок окна.
ClientHeight – это свойство в виде целого числа показывает высоту клиентской
области окна. Это высота без учёта ширины оборки и системного меню, только рабочая
область.
ClientWidth - это свойство в виде целого числа показывает ширину клиентской
области окна. Это ширина без учёта ширины оборки и системного меню, только рабочая
область.
Color – цвет клиентской области окна.
Constraints – в этом свойстве содержатся максимальные значения размеров окна.
MaxHeight – максимальная высота окна.
MaxWidth – максимальная ширина окна.
MinHeight – минимальная высота окна.
MinWidth – минимальная ширина окна.
Cursor – это свойство отвечает за курсор, который будет отображаться при наведении
мышкой на форму/компонент.
DockSite - Тип свойства – логический. Указывает, можно ли на форму/компонент бросать
другие компоненты с помощью Drag&Drop. Это свойство создаёт эффект, который
можно наблюдать в MS Office, когда панели инструментов можно отрывать от формы и
прикреплять обратно. Вот это свойство как раз и разрешает прикреплять компоненты.
DragKind – вид перетаскивания объекта при Drag&Drop. Здесь тебе доступны два
варианта:
dkDrag – стандартный Drag&Drop при котором объект остаётся на месте.
dkDock – перетаскивать сам объект. Этот параметр следует выбрать, если
нужно чтобы компонент мог прикрепляться к другим компонентам или форме. В
примере к предыдущему свойству панель имеет именно такое свойство, чтобы
она могла прикрепиться к форме.
DragMode – режим Drag&Drop. Здесь тебе доступны два варианта:
dmManual – ручной режим. При таком режиме ты сам должен запускать
перетаскивание объекта.
dmAutomatic – режим Draq&Drop будет включатся автоматически, если
пользователь начал тащить мышкой компонент. При этом не нужно писать
дополнительный код, как при ручном режиме.
Enabled – Тип свойства – логический. Доступность компонента. Если это свойство равно
true, то пользователь может работать с этим компонентом. Иначе компонент
недоступен и окрашен серым цветом.
Font – шрифт используемый при выводе текста на форме. Если дважды щёлкнешь по
этой строке, то перед тобой появится стандартное окно Windows выбора шрифта:
FormStyle - Стиль формы. Здесь тебе доступны для выбора следующие варианты
fsNormal – нормальное окно.
fsMDIForm – Окно является родительским для MDI окон.
fsMDIChild – окно является дочерним MDI окном.
fsStayOnTop – Окно с этим параметром будет находиться всегда поверх
остальных.
Height – Тип свойства – целое число. высота окна.
Hint – текст подсказки, который будет появляться в строке состояния при наведении
мышкой на форму/компонент.
HorzScrollBar – параметры горизонтальной полосы прокрутки.
Icon – иконка отображающаяся в заголовке окна. Если дважды щёлкнуть по этому
свойству, то появится окно загрузки иконки.
Left – Тип свойства – целое число. левая позиция окна.
Menu – меню, которое используется в главном окне.
Name – имя формы/компонента. Какое имя здесь вводится, так и будет называться объект,
отвечающий за эту форму/компонент (только в начале добавится буква T).
ParentFont – Тип свойства – логический. Если это свойство равно true, то для вывода текста
будет использоваться тот же шрифт, что и у родительского объекта. Иначе
используется тот, что укажешь ты.
Position – Позиция окна при старте приложения. Здесь тебе доступны следующие
варианты:
poDefault – Windows сам будет решать, где расположить окно и какие будут его
размеры.
poDefaultPosOnly - Windows сам будет решать только где расположить окно, а
размеры его будут такими, какими установишь ты в свойствах.
poDefaultSizeOnly - Windows будет решать только какими будут размеры окна, а
позиция будет такая, какую ты укажешь в свойствах.
poDesigned – И размер, и позиция будут такими, какими ты укажешь в
свойствах.
poDesktopCenter – окно будет располагаться по центру рабочего стола.
poMainFormCenter – окно будет располагаться по центру основной формы.
poOwnerFormCenter – окно будет располагаться по окна владельца. То есть того
окна, которое вызвало это.
poScreenCenter - окно будет располагаться по центру экрана.
ShowHint – Тип свойства – логический. Оно показывает - нужно ли показывать подсказки.
Top – Тип свойства – целое число. верхняя позиция окна.
TransparentColor – Тип свойства – логический. Является ли форма или компонент
прозрачным. В отличии от AlphaBlend, эта прозрачность работает всегда. Зато нельзя
сделать полупрозрачные формы и компонеты.
TransparentColorValue - прозрачный цвет.
VertScrollBar – Вертикальная полоса прокрутки. Она имеет те же параметры, что и
горизонтальная.
Visible - Тип свойства – логический. Если оно равно true, то форма/компонент
видимые. Иначе форма/компонент невидим.
Width - Тип свойства – целое число. Ширина окна.
WindowState – состояние окна после запуска. Тебе доступны следующие параметры:
wsNormal – окно показывается в нормальном состоянии.
wsMaximized - окно показывается максимизированным.
wsMinimized - окно показывается минимизированным.
2. События формы
Событие
OnActivate
OnCanResize
OnClick
OnClose
OnCloseQuery
OnCreate
OnDblClick
OnDeactivate
OnDestroy
OnHide
OnKeyDown
OnKeyPress
OnKeyUp
OnMouseDown
OnMouseMove
OnMouseUp
OnMouseWheel
OnMouseWheelDown
OnMouseWheelUp
OnPaint
OnResize
OnShortCut
OnShow
Литература:
[3] 203-226
[2]579-583
Описание
Когда приложение стало активным
Это событие генерируется перед тем, как изменить размер окна.
Здесь ты можешь запретить какие-либо изменения или
производить какие-то подготовительные действия.
Генерируется, когда пользователь щёлкнул по форме.
Генерируется, когда окно закрывается.
Генерируется до закрытия окна. В этом обработчике происходит
запрос на закрытие, поэтому из этого обработчика можно вывести
окно, которое будет запрашивать подтверждение на закрытие. Ты
такие подтверждения видишь в каждом втором приложении
типа«Вы уверены, что хотите закрыть окно?».
Генерируется, когда окно создаётся.
Генерируется, когда пользователь дважды щёлкнул по окну.
Генерируется, когда окно деактивируется.
Когда окно уничтожается.
Генерируется, когда окно исчезает из виду. Событие генерируется
даже тогда, когда память, выделенная для окна, не уничтожается.
Генерируется, когда нажата клавиша на клавиатуре.
Генерируется, когда нажата и отпущена клавиша на клавиатуре.
Генерируется, когда отпущена клавиша на клавиатуре.
Генерируется, когда нажата кнопка мыши.
Генерируется, когда двигается мышка.
Генерируется, когда отпускается кнопка мыши.
Генерируется колёсиком мыши.
Генерируется, когда колёсико мыши прокручено вниз.
Генерируется, когда колёсико мыши прокручено вверх.
Генерируется, когда надо перерисовать окно.
Генерируется, когда надо изменить размеры окна.
Когда нажата горячая клавиша.
Когда показывается окно, но до фактической прорисовки. В этот
момент окно уже создано и готово к отображению, но ещё не
прорисовалось на экране.
Вопросы для самоконтроля:
1. Перечислите основные свойства формы?
2. Перечислите основные методы формы?
3. Перечислите основные события формы?
Лекция 9
Тема: Инспектор объекта.
3. Инспектор объекта
4. Редактор кода
5. DDE
Цель: ознакомить с необходимыми данными для работы с объектом.
1. Инспектор объекта
И.О. предназначен для установки доступных на этапе проектирования средств
компонентов. Окно Инспектора объекта состоит из трех основных составляющих:
 селектор компонентов
 страница свойств
 страница событий.
Селектор компонентов представляет собой выпадающий комбинированный список и
предназначен для выбора компонентов, для просмотра и редактирования. СК отображает
имя объекта и класс объекта.
Граница свойств Properties отображает все свойства выделенного объекта. Страница
разделена на две части: слева отображаются названия свойств; столбец Value справа
отображает значения этих свойств.
Например:
Visible
True
Height
250
Width
150
Enabled
True
Если свойства имеют тип класса записи или множества, то слева от его имени
отображается «+», например:
+ Font
Size
Color
+ Style
Fs Bold
Fs Italic
Для свойств, представляющих собой объекты существует две возможности их
редактирования. Во-первых, с помощью кнопки с многоточием в столбце Value можно
вызвать соответствующий редактор, либо щелкнув дважды на имени свойства можно
развернуть свойства его полей.
Если на форме выделено несколько объектов, то инспектор объектов покажет их
общие свойства.
Страница Events (события) содержит список событий, которые может обрабатывать
данный компонент. Для создания обработчика события необходимо дважды щелкнуть на
столбце Value рядом с именем этого события.
2. Редактор кода
Редактор кода является полноценным программным редактором. В заголовке окна
редактора кода отображается имя текущего файла, в верхней части окна отображаются
закладки указывающие текущую страницу, т.к. приложения могут использовать несколько
исходных файлов.
Dynamic Data Exchange
дает возможность перейти через рамки приложения и
взаимодействовать с другими приложениями и системами Windows. DDE позволяет двум
приложениям обмениваться данными динамически во время выполнения.
Литература:
[3] 203-226
[2]579-583
Вопросы для самоконтроля:
1. Для чего предназначен инспектор объекта?
2. За что отвечает страница свойств?
Лекция 10
Тема: Структура кода модуля.
Цель: Дать обзор структуры кода модуля, определить значение заготовки кода модуля.
Модуль - это автономно компилируемая программная единица, включающая в себя
различные компоненты интерфейсного раздела (типы, константы, переменные, процедуры
и функции) и, возможно, некоторые исполняемые операторы инициирующего раздела.
Роль модулей в Delphi не исчерпывается только механизмом раздельной компиляции.
Delphi связывает с каждым включаемым в программу окном собственный модуль и таким
способом локализует все свойства окна в отдельной программной единице. Основная
программа (файл проекта dpr) весьма специфична: она содержит перечень всех
используемых в программе модулей и несколько исполняемых операторов,
обеспечивающих создание нужных окон и связь программы с Windows. Вся основная
работа программы управляется кодом, содержащимся в модулях.
Текст головного файла программы с расширением .dpr разработчику не виден и
формируется самим Delphi. Delphi также задает заготовку модуля, включая в нее описание
формы и всех компонентов, размещенных на форме. Разработчик самостоятельно пишет
только обработчики событий компонентов, вводит переменные, константы, описание
типов, вспомогательные процедуры и функции. Текст модуля начинается с ключевого
слова Unit. Таким образом, текст модуля выглядит так:
unit Unit1;
interface // открытый интерфейс модуля//
{описание подключаемых модулей}
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;
{ объявление класса форм}
type
TForm1 = class(TForm)
Button1: TButton;
procedure Button1Click(Sender: TObject);
private
// закрытый раздел класса//
{ сюда помещаются объявления типов, переменных, функций и процедур,
которые включаются в класс формой, но не доступных для других модулей}
{ Private declarations}
public
//открытый раздел класса//
{Public declarations}
{здесь могут размещаться объявления переменных, функций и процедур,
включая класс формы и доступных другим модулям}
end;
var
Form1: TForm1;
{сюда могут помещаться объявления типов переменных, функций и
процедур, которым будет доступ из других модулей, но которые не включаются в
класс формы}
implementation //раздел реализации формы//
{$R *.dfm} сюда могут помещаться предложения uses, объявления типов, констант,
переменных, которым не будет доступа из других модулей
procedure TForm1.Button1Click(Sender: TObject);
begin
label1.caption:='программируем на Делфи' ;
end;
end.
В окне кода жирным шрифтом выделяются так называемые зарезервированные слова,
а курсивом - комментарии (так же выделяются зарезервированные слова и комментарии в
книге). В Object Pascal комментарием считается любая последовательность символов,
заключенная в фигурные скобки. В приведенном выше тексте таких комментариев два, но
строка {$R *.RES} на самом деле не является комментарием. Этот специальным образом
написанный фрагмент кода называется директивой компилятора (в нашем случае указание компилятору на необходимость подключения к программе так называемого файла
ресурсов). Директивы начинаются символом $, который стоит сразу за открывающей
фигурной скобкой. В в качестве ограничителей комментария могут также использоваться
пары символов (*, *) и //. Скобки (*...*) используются подобно фигурным скобкам т. е.
комментарием считается находящийся в них фрагмент текста, а символы // указывают
компилятору, что комментарий располагается за ними и продолжается до конца текущей
строки:
{Это комментарий}
(*Это тоже комментарий*)
//Все символы до конца этой строки составляют комментарий
Литература:
[3] 203-226
[2]579-583
Вопросы для самоконтроля:
1. Что такое модуль?
2. С какого слова начинается текст модуля?
3. Какие ограничители в языке Object Pascal?
Лекция №11
Тема. Компоненты ввода и отображения текстовой и цифровой информации.
1. Отображение текста в надписях компонентов Label, StaticText и Panel.
Цель: Определить свойства и методы компонентов Label, StaticText и Panel.
Надпись представляет собой нередактируемый текст и часто используется в качестве
заголовков для других управляющих элементов, которые не имеют своего свойства caption.
Для отображения надписей, в первую очередь, используется компонент Label, называемый
также меткой. Он представляет собой простой текст, который не может быть
отредактирован пользователем при выполнении программы. Этот компонент используется
для размещения в окне не очень длинных однострочных надписей.
Для управления автоматической коррекцией размеров компонента Label в
зависимости от текста надписи служит свойство Autosize типа Boolean. Если свойство
имеет значение True (по умолчанию), то компонент Label изменяет свои размеры
соответственно содержащемуся в нем тексту, заданному в свойстве Caption.
Способ выравнивания текста внутри компонента Label задает свойство Alignment
типа TAiignment, которое может принимать одно следующих значений:
• taLeftJustify — выравнивание по левому краю;
• tacenter — центрирование;
• taRightJustify — выравнивание по правому краю.
Надпись может быть прозрачной или закрашенной цветом, это определяется
свойством Transparent типа Boolean. Цвет закрашивания устанавливается свойством color.
По умолчанию свойство Transparent имеет значение False и надпись не прозрачна. Сделать
компонент Label прозрачным может понадобиться в случаях, когда надпись размещается
поверх рисунка и не должна закрывать изображение, например, на географической карте.
Так как надпись служит для отображения не редактируемого текста, то иногда Label
называют статическим текстом. В принципе такое название соответствует назначению
этого компонента, однако необходимо учитывать, что есть еще один компонент с таким же
названием — staticText. По функциональному назначению Label и staticText практически
не отличаются. Однако компонент staticText является оконным компонентом. Другим его
отличием от Label является то, что компонент staticText может отображать вокруг себя
рамку, вид которой определяется свойством BorderStyle ТИПа TStaticBorderStyle.
Отобразить не редактируемый текст можно и с помощью других компонентов,
например Edit, установив его свойству Readonly значение True.
Пример. Вывод надписи с помощью компонента Edit.
Editl.Readonly := true;
Editl.Color := clBtnFace;
Editl.Ctl3D := false;
Editl.BorderStyle := bsNone;
Editl.Text := 'Отображение текста';
Отображаемый компонентом Editl текст не отличается от текста, выводимого с
использованием компонентов Label или staticText.
StaticText - статический текст. Отличается от стандартного компонента Label
наличием собственного windows-окна, что позволяет обводить текст рамкой или выделять
его в виде “вдавленной” части формы.
Panel - панель. Этот компонент, как и GroupBox, служит для объединения нескольких
компонентов. Содержит внутреннюю и внешнюю кромки, что позволяет создать эффекты
“вдавленности” и “выпуклости”.
Литература:
[1] 53-107
[2] 242-251,378-380
[3] 121-151
Вопросы для самоконтроля:
1. Назовите основные свойства и методы компонента Label?
2. Перечислите основные свойства StaticText ?
3. Назовите назначение и способы применения Panel?
Лекция № 12
Тема. Кнопки и переключатели
1. Работа с кнопками
2. Стандартная кнопка
3. Кнопка с рисунком
Цель: дать понятие и определить место и роль командных кнопок в приложении, их
свойствам и методам.
1. Работа с кнопками
Кнопки являются управляющими элементами и используются для выдачи команд на
выполнение определенных функциональных действий, поэтому часто их называют
командными кнопками. На поверхности кнопка может содержать текст и/или графический
рисунок.
Delphi предлагает несколько компонентов, представляющих различные варианты кнопок:
 стандартная кнопка Button;
 кнопка BitBtn с рисунком;
 кнопка speedButton быстрого доступа.
Как управляющие элементы, эти виды кнопок появились в разное время, но имеют много
общего. Различия в облике и функциональных возможностях между разными вариантами
кнопок незначительны.
2. Стандартная кнопка
Стандартная кнопка, или кнопка представлена в Delphi компонентом Button, который
является оконным элементом управления. Кнопка Button на поверхности может содержать
надпись, поясняющую назначение и описание действий, выполняемых при ее нажатии.
Основным для кнопки является событие onclick, возникающее при нажатии кнопки. При
этом кнопка принимает соответствующий вид, подтверждая происходящее действие
визуально. Действия, выполняемые в обработчике события Onclick, происходят сразу
после отпускания кнопки.
Кнопку можно нажать следующими способами:
• щелчком мыши;
• выбором комбинации клавиш, если она задана в свойстве Caption;
• нажатием клавиш <Enter> или <Пробел>;
• нажатием клавиши <Esc>.
На нажатие клавиш <Enter> или <Пробел> реагирует кнопка по умолчанию, то есть
кнопка, находящаяся в фокусе, заголовок которой выделен пунктирным прямоугольником.
Если фокус ввода получает не кнопочный элемент управления, например, Edit или Memo,
то кнопкой по умолчанию становится та, у которой свойству Default типа Boolean
установлено значение True. В этом случае кнопка по умолчанию выделяется черным
прямоугольником, например, кнопка ОК в диалоговом окне. При размещении в процессе
конструирования приложения кнопок на форме (или в другом контейнере, например,
Panel) это свойство имеет значение False, то есть выбранных кнопок нет. Если свойству
Default программно установить значение True для двух и более кнопок, это не приведет к
ошибке, но кнопкой по умолчанию будет являться первая кнопка в порядке обхода при
табуляции.
Событие Onclick может генерироваться для кнопки и в случае нажатия клавиши <Esc>, что
обычно делается для кнопок, связанных с отменой какоголибо действия, например, кнопка
Cancel в диалоговом окне. Чтобы кнопка реагировала на нажатие клавиши <Esc>,
необходимо ее свойству cancel типа Boolean установить значение True. При установке
свойству Cancel значения True для двух и более кнопок кнопкой отмены считается первая в
порядке обхода при табуляции кнопка. По умолчанию значение свойства Cancel равно
False, и никакая кнопка не реагирует на нажатие клавиши <Esc>.
При применении кнопки для закрытия модального окна можно использовать ее свойство
ModaiResuit типа TModaiResuit. Оно определяет, какое значение будет содержать
одноименное свойство ModalResult формы, когда окно закрывается при нажатии на
соответствующую кнопку. Возможными значениями свойства ModalResult являются целые
числа, некоторые из которых объявлены как поименованные константы:
 mrNone — 0
 mrOk — idOK (1);
 mrCancel — idCancel (2);
 mrAbort — idAbort (3);
 mrRetry — idRetry (4);
 mrlgnore — idlgnore (5);
 mrYes — idYes (6);
 mrNo — idNo (7) ;
 mrAll — mrNo + l;
 mrNoToAll — mrAll + l;
 mrYesToAll — mrNoToAll + 1.
Для поименованных констант в скобках приведены их числовые значения. Если для
кнопки свойству ModaiResuit установлено ненулевое значение, отличное от mrNone (по
умолчанию), то при нажатии на кнопку модальная форма автоматически закрывается, и нет
необходимости вызова метода close в обработчике события Onclick этой кнопки.
Пример. Закрытие модальной формы Form2.
procedure TForm2 .FormCreate(Sender: TObject);
begin
Button2.ModalResult := mrOK;
Button3.ModalResult := 123;
end;
procedure TForm2.ButtonlClick(Sender: TObject);
begin
Form2.Close;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
// Для закрытия формы код не нужен
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
// Для закрытия формы код не нужен
end;
При нажатии на любую из кнопок Button1, Button2 или Button3 модальная форма Form2
закрывается. Причем, чтобы закрыть форму не требуются обработчики события нажатия
кнопок Button2 или Button3. Обычно требуемые значения свойства ModaiResuit для кнопок
устанавливаются при проектировании формы с помощью Инспектора объектов.
3. Кнопка с рисунком
Кнопка с рисунком в Delphi представлена компонентом BitBtn, класс которой TBitBtn
порожден непосредственно от класса TButton стандартной кнопки Button. Кнопка с
рисунком отличается от стандартной кнопки тем, что дополнительно к стандартному
заголовку имеет возможность отображения растрового рисунка (глифа). Видом и
размещением изображения на поверхности кнопки BitBtn можно управлять с помощью
свойств.
Свойство Glyph типа TBitmap определяет растровое изображение кнопки. По умолчанию
свойство Glyph имеет значение nil, то есть кнопка не содержит рисунка. Выводимый
рисунок может содержать до трех отдельных изображений. Какое именно изображение из
трех выводится на кнопке, зависит от текущего состояния кнопки:
• 1-е изображение отображается, если кнопка не нажата (по умолчанию);
• 2-е изображение отображается, если кнопка не активна и не может быть выбрана;
• 3-е изображение отображается, когда кнопка нажата (выполнен щелчок).
При использовании нескольких изображений они должны быть подготовлены и сохранены
в файле растрового формата BMP. Подготовить рисунок для кнопки можно, например, с
помощью графического редактора Image Editor, входящего в состав Delphi. Все отдельные
изображения в рисунке должны располагаться без промежутков в горизонтальной строке и
иметь одинаковую высоту и ширину, как правило, 16 на 16 пикселов. По умолчанию левый
нижний пиксел каждого рисунка задает фоновый цвет рисунка. Обычно он
устанавливается по цвету поверхности кнопки (значение clBtnFace), и соответственно все
пикселы рисунка, имеющие тот же цвет, не будут видны — станут прозрачными. По этой
причине фоновый цвет также называют прозрачным. Если цвет фонового пиксела
установить, например, желтым, то фон изображения тоже станет желтым.
Совместно с Delphi поставляется набор изображений для кнопок, который при установке
системы по умолчанию записывается в каталог ProgramFiles\Common Files\Borland
Shared\Images\Button.
Delphi предлагает для кнопки BitBtn несколько предопределенных видов, выбираемых с
помощью свойства Kind типа TBitBtnKind.
При выборе какого-либо вида для кнопки на ней отображается соответствующий глиф.
При определении вида кнопки могут использоваться следующие константы:
• bkCustom — кнопка имеет выбранное изображение, первоначально изображение
отсутствует и его нужно загружать дополнительно;
• bкОк — кнопка имеет зеленую галочку и надпись ОК; свойству Default кнопки
установлено значение True, а свойству ModalResult — значение mrок;
• bkcancel — кнопка имеет красный знак х и надпись Cancel; свойству Cancel кнопки
установлено значение True, а свойству ModalResuit —значение mrcancel;
• bkYes — кнопка имеет зеленую галочку и надпись Yes; свойству Default кнопки
установлено значение True, а свойству ModalResuit — значение mrYes;
• bkNo — кнопка имеет изображение в виде красной перечеркнутой окружности и надпись
No; свойству Cancel кнопки установлено значение True, а свойству ModalResuit —
значение mrNo;
• bkHelp — кнопка имеет изображение в виде сине-зеленого вопросительного знака и
надпись Help;
• bkciose — кнопка имеет изображение в виде двери с обозначением выхода и надпись
Close; при нажатии кнопки форма автоматически закрывается;
• bkAbort — кнопка имеет красный знак х и надпись Abort;
• bkRetry — кнопка имеет изображение в виде зеленой стрелки повтора операции и
надпись Retry;
• bkIgnore — кнопка отображает изображение игнорирования и надпись Ignore;
• bkAll — кнопка имеет изображение в виде двойной зеленой галочки и надпись Yes to All.
По умолчанию свойство Kind имеет значение bkcustom, и пользователь может сам
выбирать изображение, управляя свойством. Не рекомендуется изменять свойство Glyph
для предопределенных кнопок (например, для кнопки Close), так как в этом случае кнопка
не будет выполнять закрепленные за ней действия (в данном случае закрытие окна).
Расположением изображения на поверхности кнопки относительно надписи управляет
свойство Layout типа TButtonLayout, принимающее следующие значения:
• blGlyphLeft — изображение слева от надписи (по умолчанию);
• blGlyphRight — изображение справа от надписи;
• biGiyphTop — изображение над надписью;
• biGiyphBottom — изображение под надписью.
Литература:
[3] 182-197
[2] 585-591,600-606
Вопросы для самоконтроля:
1. Перечислите основные разновидности кнопок?
2. Назовите основной смысл использования кнопок в приложениях?
3. Назовите основные свойства и методы стандартной кнопки?
4. Назовите основные свойства и методы кнопки с рисунком?
Лекция № 13
Тема. Кнопки и переключатели
1. Переключатели и их характеристика.
Цель: Определить назначение и принципы работы переключателей в приложении.
1. Переключатели и их характеристика.
Переключатели (флажки) позволяют выбрать какое-либо значение из определенного
множества. Они могут находиться во включенном (установленном) или выключенном
(сброшенном) состояниях. Анализ состояния переключателя позволяет программисту
выполнять соответствующие операции.
Для работы с переключателями Delphi предоставляет компоненты checkBox,
RadioButton И RadioGroup. Классы компонентов CheckBox и RadioButton, как и кнопка
Button, происходят от класса TButtonControl. Поэтому иногда эти переключатели называют
кнопками с фиксацией: checkBox — с независимой фиксацией, RadioButton — с зависимой
фиксацией.
Переключатель с независимой фиксацией
Переключатель с независимой фиксацией представлен компонентом CheckBox. Этот
переключатель действует независимо от других подобных переключателей. Для
определения состояния переключателя используется свойство checked типа Boolean. По
умолчанию оно имеет значение False, и переключатель выключен. Пользователь может
переключать флажок щелчком мыши. Если флажок выключен, то после щелчка он
становится включенным, и наоборот. При этом соответственно изменяется значение
свойства checked. Флажок можно переключить и с помощью клавиши <Пробел>, когда
компонент checkBox находится в фокусе ввода, и вокруг его заголовка имеется черный
пунктирный прямоугольник.
Пример. Анализ состояния независимого переключателя.
If CheckBoxl.Checked then MessageDlg('Время истекло!', mtError, [rabOK], 0);
Сообщение время истекло! выдается при включенном состоянии флажка CheckBoxl,
управляющего параметром выдачи сообщения об истечении лимита времени.
Флажком можно управлять программно, устанавливая свойству checked требуемые
значения.
Пример. Программное управление независимым переключателем (флажком).
CheckBox2.Checked := true;
CheckBox3.Checked := false;
Флажок checkBox2 устанавливается в выбранное состояние, а флажок checkBox3 — в
невыбранное состояние.
Сделать флажок недоступным для изменения (заблокировать) можно путем установки
свойству Enabled значения False:
CheckBoxl.Enabled := false;
После перехода переключателя в заблокированный режим он сохраняет свое
состояние, которое было до выполнения блокировки. То есть неактивный переключатель
может находиться во включенном и в выключенном состояниях.
Кроме двух состояний (включен — выключен) переключатель может иметь еще и
третье состояние — запрещенное, или отмененное. Наличием или отсутствием
отмененного состояния управляет свойство AllowGrayed типа Boolean. Если это свойство
имеет значение True, то при щелчке мышью переключатель циклически переключается
между тремя состояниями: включенный, выключенный и отмененный. В отмененном
состоянии переключатель выделяется серым цветом, а в прямоугольнике находится знак
галочки.
Для анализа и установки одного из трех состояний флажка (рис. 5.5) служит свойство
state типа TCheckBoxstate. Оно может принимать следующие значения:
• cbchecked — переключатель включен;
• cbUnchecked — переключатель не включен;
• cbGrayed — переключатель запрещен.
При изменении состояния переключателя возникает событие Onclick, независимо от
того, в какое состояние переходит переключатель. В обработчике события onclick обычно
располагаются операторы, выполняющие проверку состояния переключателя и
осуществляющие требуемые действия.
Пример. Процедура обработки события выбора независимого переключателя.
procedure TForml.CheckBox3Click(Sender: TObject);
begin
case СпескВохЗ.State of
cbUnchecked: СпескВохЗ.Caption : = 'Переключатель включен';
cbchecked: CheckBox3.Caption := 'Переключатель не включен';
cbGrayed: СпескВохЗ.Caption := 'Переключатель запрещен';
end;end;
Переключатель сhесквохЗ при его переключении отображает в заголовке свое состояние.
Переключатель с зависимой фиксацией
Переключатели с зависимой фиксацией представлены компонентом RadioButton, их
также называют кнопками выбора. Соответствующие элементы управления отображаются
в виде круга с текстовой надписью.
Кнопки выбора обычно располагаются по отдельным группам, визуально выделенным
на форме. Выбор переключателя является взаимно исключающим, то есть при выборе
одного переключателя другие становятся невыбранными. Delphi поддерживает
автоматическое группирование переключателей. Каждый переключатель, помещенный в
контейнер, включается в находящуюся на нем группу. Контейнерами обычно служат такие
Компоненты, как форма Form, панель Panel и группа GroupBox.
При работе с группой один из зависимых переключателей рекомендуется делать
выбранным, что можно выполнить при проектировании формы или в процессе выполнения
приложения. Например, для формы это можно выполнить следующим образом:
procedure TForml.FormCreate(Sender: TObject);
begin
// Все переключатели расположены в разных группах
RadioButton2.Checked := true;
RadioButton3.Checked := true;
RadioButton6.Checked := true;
RadioButtonl2.Checked := true;
end;
Когда в группе выбран один из зависимых переключателей, то, в отличие от
независимого переключателя, его состояние нельзя изменить повторным щелчком. Для
отмены выбора зависимого переключателя нужно выбрать другой переключатель из этой
же группы.
Кроме уже упомянутых элементов — контейнеров, объединяющих зависимые
переключатели в группу, Delphi имеет специализированный компонент RadioGroup,
представляющий собой группу переключателей RadioButton. Такая группа переключателей
создана для упорядочения переключателей и упрощения организации их взаимодействия
по сравнению с добавлением их вручную к обычной группе.
Группа переключателей RadioGroup может содержать также другие элементы управления,
например, независимый переключатель checkBox или однострочный редактор Edit.
Управление числом и названиями переключателей производится с помощью свойства
items типа TStrings, которое позволяет получить доступ к отдельным переключателям в
группе. Это свойство содержит строки, отображаемые как заголовки переключателей.
Отсчет строк в массиве начинается с нуля: items [0], items [1] и т. д. Для манипуляции со
строками (заголовками) можно использовать такие методы, как Add и Delete. Доступ к
отдельному переключателю можно получить через свойство itemindex типа integer,
содержащее позицию (номер) переключателя, выбранного в группе в текущий момент. Это
свойство можно использовать для выбора отдельного переключателя или для определения,
какой из переключателей является выбранным. По умолчанию свойство itemindex имеет
значение - 1 , и не выбран ни один из переключателей.
Свойство columns типа integer задает число столбцов, на которое разбиваются
переключатели при расположении в группе (по умолчанию 1). Это свойство действует
только на переключатели, принадлежащие массиву items группы, и не действует на другие
управляющие элементы, например, однострочный редактор Edit или надпись. Label,
размещенные в группе RadioGroup.
Пример. Работа с группой переключателей.
procedure TForml.FormCreate(Sender: TObject);
begin
RadioGroupl.Items.Clear;
RadioGroupl.Items.Add('Item 1');
RadioGroupl.Items.Add('Item 2');
RadioGroupl.Items.Add('Item 3');
RadioGroupl.Items.Add('Item 4');
RadioGroupl.Items.Add('Item 5');
RadioGroupl.Items.Add('Item 6');
RadioGroupl.Columns := 2;
RadioGroupl.Itemlndex := 4;
end;
При создании формы в группу RadioGroupl включается 6 переключателей, расположенных
в две колонки. Переключатель с заголовком item 5 становится выбранным.
Литература:
[3] 182-197
[2] 585-591,600-606
Вопросы для самоконтроля:
1. назовите основные виды переключателей, приведите примеры их использования?
2. Свойства переключателя с независимой фиксацией?
3. Методы и события переключателя с независимой фиксацией?
4. Свойства переключателя с зависимой фиксацией?
5. Методы и события переключателя с зависимой фиксацией?
Лекция № 14
Тема. Интерфейс диалога в Delphi.
1. Понятие и виды диалогов.
Цель: Определить основные команды и их синтаксис для работы с диалогами.
1. Понятие и виды диалогов.
Диалоги или диалоговые панели в Delphi чаще всего относятся к модальным формам.
Модальной называется форма, которая требует обязательного своего закрытия перед
обращением к какой-либо другой форме приложения. Причем запрет на переход к другой
форме относится только к текущему приложению Windows, что не мешает пользователю
открыть другие программы.
Диалоговые формы используются обычно при вводе данных или выводе сообщений. Так
Палитра компонентов на странице Dialogs содержит 10 стандартных компонентов,
реализующих диалоги общего назначения: открытие, сохранение и печать файлов, диалог
организации поиска. Кроме того, в своем составе Delphi имеет несколько специальных
процедур и функций, реализующих простые диалоги ввода/вывода информации.
ShowMessage(const Msg:String) – процедура, которая отображает окно сообщения с
кнопкой ОК. Заголовок диалогового окна равен свойству Caption исполняемого
приложения, а строковая константа выводится как текст сообщения.
MessageDlg(const Msg: String; AType: TMsgDlgType; AButtons: TMsgDlgButtons;
HelpCtx: Longint) : Word – функция, которая отображает окно сообщения в центре экрана
и позволяет получить ответ пользователя, включая в диалоговое окно ряд функциональных
кнопок.
Msg – строка диалога
Тип окна сообщения определяется параметром AType:

mtWarning – окно содержит черный восклицательный знак в желтом
треугольнике и заголовок Warning;

mtError – окно содержит белый косой крест в красном круге и заголовок Error;

mtInformation – окно содержит синюю букву «i» в белом круге и заголовок
Information;

mtConfirmation – окно содержит синий знак «?» в белом круге и заголовок
Confirmation;
mtCustom – окно не содержит картинки, в заголовке выводится название
исполняемого файла приложения.
Набор кнопок сообщения определяется параметром AButtons:

mbYes – кнопка с надписью Yes;

mbNo – кнопка с надписью No;

mbOK – кнопка с надписью OK;

mbCancel – кнопка с надписью Cancel;

mbHelp – кнопка с надписью Help;

mbAbort – кнопка с надписью Abort;

mbRetry – кнопка с надписью Retry;

mbIgnore – кнопка с надписью Ignore;

mbAll – кнопка с надписью All.
При нажатии любой из этих кнопок, кроме кнопки Help, диалог закрывается.
HelpCtx - specifies the context ID for the help topic that should appear when the user clicks
the help button or presses F1 while the dialog is displayed.
Пример:
procedure TForm1.Button1Click(Sender: TObject);
var msg: TModalResult;
begin
if Edit1.Text='' then
msg:=MessageDlg('нет ввода числа! Продолжить?',mtError,[ mbYes, mbCancel],0);
if msg=mryes then Edit1.SetFocus else close;
end;
InputBox(const ACaption, APrompt, ADefault: String): String – Функция, которая
отображает диалоговое окно для ввода строки текста. Кроме поля ввода окно содержит
кнопки OK и Cancel. Параметр ACaption задает заголовок окна, APrompt – текст
приглашения, строка ADefault – задает текст (по умолчанию находится в строке ввода),
который возвращается функцией при нажатии кнопки Cancel или клавиши <Esc> .
Пример:
procedure TForm1.Button1Click(Sender: TObject);
var
InputString: string;
begin
InputString:= InputBox('окно', 'введите имя','Иванов');
Label1.Caption:=InputString;
end;
Литература:
[3] 227-275
[2] 641-644,668-673,682-688,693-696

Вопросы для самоконтроля:
1. Что такое форма?
2. Что такое модальная форма?
3. Какие диалоги вы знаете?
4. Перечислите аргументы функции Showmessage ?
5. Перечислите основные параметры и их назначение функции MessageDlg ?
6. Перечислите основные параметры и их назначение функции InputBox?
Лекция № 15
Тема. Компоненты меню
3. Назначение меню. Главное меню.
4. Контекстное меню.
Цель: Определить место и роль меню, дать классификацию меню, определить основные
способы программирования меню.
1. Назначение меню. Главное меню.
Меню представляет собой список объединенных по функциональному признаку пунктов,
каждый из которых обозначает команду или вложенное меню (подменю). Выбор пункта
меню равносилен выполнению соответствующей команды или раскрытию подменю.
Обычно в приложении имеется главное меню и несколько контекстных (всплывающих или
локальных) меню. Главное меню используется для управления работой всего приложения,
каждое из контекстных меню служит для управления отдельным интерфейсным
элементом.
Пункт меню представляет собой объект типа TMenuitem. Отдельный пункт меню обычно
виден как текстовый заголовок, описывающий назначение пункта меню. Пункт меню
может быть выделен (маркирован) для указания на включенное состояние. Класс
TMenuitem используется для представления пунктов главного и контекстных меню.
Основные свойства пункта меню:
• Bitmap типа TBitmap — определяет изображение пиктограммы, размещаемое слева от
заголовка пункта меню. По умолчанию свойство имеет значение nil, и изображение
отсутствует;
• Break типа тмепиВгеак — задает, разделяется ли меню на колонки. Свойство Break может
принимать одно из трех значений:
• mbNone — меню не разделяется (по умолчанию);
• mbBreak — пункты меню, начиная с текущего, образуют новую колонку;
• mbBreakBar — пункты меню, начиная с текущего, образуют новую колонку, котороая
отделена линией;
• caption типа string — содержит строку текста, отображаемую как заголовок пункта меню.
Если в качестве заголовка указать символ "-", то на месте соответствующего пункта меню
отображается разделительная линия. При этом, несмотря на отображение линии, свойство
caption по-прежнему имеет значение "-";
• checked типа Boolean — определяет, является ли пункт выделенным. Если свойству
установлено значение True, то пункт выделен и в его заголовке появляется специальная
отметка. По умолчанию свойство checked имеет значение False, и пункт меню не имеет
отметки;
• AutoCheck типа Boolean — определяет автоматическое изменение значения свойства
checked на противоположное при выборе пользователем пункта меню (в Delphi 6);
• count типа integer — задает количество подпунктов в данном пункте меню. Это свойство
есть у каждого пункта меню. Если какой-либо пункт не содержит подпунктов, то свойство
Count имеет значение нуль;
• Enabled типа Boolean — определяет, активен ли пункт, т. е. будет ли он реагировать на
события от клавиатуры и мыши. Если свойству Enabled установлено значение False, то
пункт меню неактивен и его заголовок обесцвечен. По умолчанию свойство Enabled имеет
значение True, и пункт меню активен;
• items типа TMenuitems — является массивом подпунктов текущего пункта меню. Каждый
пункт меню, имеющий подпункты (вложенное меню), перечисляет их в свойстве items. Это
свойство позволяет получить доступ к подпунктам по их позициям в массиве: items [0],
items [l] и т. д.;
• Radioitem типа Boolean — определяет вид отметки, появляющейся в заголовке пункта.
Если свойству установлено значение False (по умолчанию), то в качестве отметки
используется значок в виде галочки, в противном случае пункт отмечается жирной точкой;
• shortcut типа TSortCut — определяет комбинацию клавиш для активизации пункта меню.
Определить комбинации клавиш можно также с помощью свойства caption, но свойство
shortcut предоставляет для этого более широкие возможности. Обозначение комбинаций
клавиш, установленных через свойство shortcut, появляется справа от заголовка элемента
меню. Наиболее просто задать комбинацию клавиш при конструировании через Инспектор
объектов, выбрав нужную комбинацию из предлагаемого списка. Кроме того, назначить
комбинации клавиш можно с помощью одноименной функции shortcut (key: word; s h i f t :
TShiftstate) : TShortCut. Параметр shift определяет управляющую клавишу, удерживаемую
при нажатии алфавитно-цифровой клавиши, на которую указывает параметр Key. Если в
процессе выполнения программы, например, для пункта меню mnuTest требуется задать
комбинацию клавиш <Alt>+<T>, то это можно выполнить следующим образом:
mnuTest.Shortcut:= Shortcut(Word( "Г1), [ssAlt]); visible типа Boolean — определяет, виден
ли пункт на экране. Если свойству visible установлено значение False, то пункт меню на
экране не отображается. По умолчанию свойство visible имеет значение True, и пункт
виден в меню.
Основным событием, связанным с пунктом меню, является событие onclick, возникающее
при выборе пункта с помощью клавиатуры или мыши.
В приложении для генерации события Onclick или для имитации выбора пункта меню
можно использовать метод click. Вызов этой процедуры эквивалентен выбору
соответствующего пункта меню пользователем.
Пример. Имитация выбора пункта меню.
procedure TForml.ButtonlClick(Sender: TObject);
begin
mnuLockltem.Click;
end;
Нажатие кнопки Buttoni приводит к тому же эффекту, что и выбор пункта Меню
mnuLockltem. Для создания меню при разработке приложения используется Конструктор
меню. Меню также можно создавать или изменять динамически — непосредственно в ходе
выполнения приложения.
Главное меню располагается в верхней части формы под ее заголовком и содержит
наиболее общие команды приложения. В Delphi главное меню представлено компонентом
MainMenu.
По внешнему виду главное меню представляет собой строку, и его также называют
строчным. Если пункты меню не умещаются на форме в одну строку, то они
автоматически переносятся на следующую строку.
При изменении размеров формы соответствующим образом меняются размеры и
размещение пунктов строчного меню. Отметим, что уменьшение ширины формы
ограничено размером самого длинного заголовка, имеющегося в меню.
При проектировании приложения на форме видны компонент MainMenu и
соответствующая ему строка меню. Отображаемая строка меню выглядит и ведет себя так
же, как и при выполнении программы. Для перехода на этапе проектирования приложения
в процедуру обработки события onclick пункта меню следует выбрать этот пункт с
помощью клавиатуры или мыши.
2. Контекстное меню
Контекстное (всплывающее) меню появляется при нажатии правой кнопки мыши и
размещении указателя на форме или в области некоторого управляющего элемента.
Обычно контекстное меню содержит команды, влияющие только на тот объект, для
которого вызвано это меню, поэтому такое меню также называют локальным. На рис. 7.3
показан примерный вид контекстного меню.
Контекстное меню в Delphi представляется компонентом PopupMenu. Его основными
свойствами являются следующие:
- AutoPopup типа Boolean — определяет, появляется ли контекстное меню при щелчке
правой кнопки мыши и размещении указателя на компоненте, использующем это меню.
Если свойство AutoPopup имеет значение True (по умолчанию), то контекстное меню при
щелчке мыши появляется автоматически. Если свойство AutoPopup имеет значение False,
то появления меню не происходит. Однако в этом случае можно активизировать меню
программно, используя метод Popup. Процедура Popup (х, Y: integer), где х и Y—
координаты меню относительно левого верхнего угла экрана монитора, выводит на экран
указанное контекстное меню, например,
PopupMenul.Popup(200, 200);
О Alignment типа TPopupAiignment — определяет место появления контекстного меню по
отношению к указателю мыши. Свойство Alignment может принимать следующие
значения:
• paLeft — указатель определяет левый верхний край меню (по умолчанию);
• pacenter — указатель определяет для меню центр по горизонтали;
• paRight — указатель определяет правый верхний край меню.
Для того чтобы контекстное меню появлялось при щелчке на компоненте, необходимо его
свойству PopupMenu присвоить в качестве значения имя требуемого контекстного меню.
Пример. Задание контекстного меню для формы.
Forml.PopupMenu := PopupMenu1;
Данный оператор задает для формы Forml контекстное меню PopupMenu1.
Литература:
[3] 227-275
[2] 641-644,668-673,682-688,693-696
Вопросы для самоконтроля:
1. Назовите характеристики меню?
2. Какую роль выполняет меню?
3. Какие разновидности меню вы знаете?
4. Что такое главное меню?
5. Для чего предназначен компонент MainMenu?
6. Для чего предназначен компонент PopupMenu?
6. Планы семинарских (практических) занятий
(Не предусмотрено программой)
7. Методические рекомендации по изучению дисциплины
Данный курс является дисциплиной, дополняющей основные дисциплины курса
информатики. Являясь логическим продолжением предыдущего курса, она предназначена
для продолжения изучения объектно-ориентированного языка программирования, в
частности Object Pascal в среде Delphi 7.0.
В течение курса углубленно изучаются свойства, методы, события компонентов языка
программирования, расширяющих возможности разработки полноценных приложений.
Обучение проводится в виде лекций и лабораторных занятий, на которых отражается
содержание основного учебного материала, и закрепляются практические навыки и
полученные представления. Контроль знаний студентов будет осуществляться в виде
проверки выполнения самостоятельных заданий посредством СРС, СРСП, устного опроса.
При изложении курса особое внимание уделяется разбору примеров программ, а
именно целесообразности и экономичности использования того или иного пути реализации
поставленной задачи, уделяется внимание особенностям применения свойств и методов
компонентов. Обязательное практическое закрепление изучаемого материала на
компьютере посредством решения задач по заданиям.
8. Методические рекомендации и указания по типовым расчетам, выполнению расчетнографических, лабораторных работ, курсовых проектов (работ)
Тема: Подсчет силы тока
Задание:
1. Создайте форму, согласно рисунку.
2. Настройте свойства компонентов
3. Напишите самостоятельно код
Тема: Программа Закон Ома с использованием Optionbutton
Задание:
1. Создайте приложение следующего вида:
2. Область Найти позволяет сделать пользователю выбор.
3. Если выбран пункт Напряжение, то должны появится соответствующая надпись Сила
тока в ДАНО.
Тема: цифровые часы с разной скоростью
1. Поместить компоненты Label (вкладка Standard) и Timer (System) в форму Form1.
2. Установить следующие свойства объектов
Объект
Свойство
Значение
Form1
Label1
Label1
Label1
Label1
Name
Caption
Color
Font.Size
Font.Color
Clock
00:00:00
clYellow
24
Красный
3. Записать код обновления времени для процедуры TClock.Timer1Timer:
Label1.Caption:=TimeToStr(Time);
4. Добавление кнопок регулирования скорости обновления времени.
4.1. Добавить в форму компоненты GroupBox и RadioButton:
4.2. Установить следующие свойства объектов:
GroupBox1
Caption
Скорость
RadioButton1
Caption
Медленно
RadioButton2
Caption
Умеренно
RadioButton3
Caption
Быстро
4.3. Записать код для процедуры TForm1.RadioButton3Click:
Timer1.Interval := 1000;
Самостоятельно записать код для процедур:
TForm1.RadioButton1Click (3000) и TForm1.RadioButton2Click (2000)
Тема: Добавление главного меню в созданные программы
Задание: Создайте форму следующего вида
Тема: Работа с элементами Text, Label, CommandButton
Задание:
1. Откройте окно для создания нового приложения.
2. Для размещения в форме текстового поля нажмите кнопку TextBox (Текстовое поле) на
панели элементов управления. Затем установите курсор в форме и нарисуйте рамку
требуемого размера.
3. Откройте окно свойств для созданного элемента управления.
4. Информация, отображаемая в текстовом поле, задается свойством Text. Чтобы при
запуске формы на выполнение поле было пустым, удалите из правого столбца данного
свойства находящееся там по умолчанию значение Text1.
5. Разместите в форме надпись к текстовому полю. Для этого нажмите кнопку Label на
панели элементов управления, установите курсор в верхнюю часть формы и нарисуйте
рамку требуемого размера. Затем в окне Properties выделите свойство caption (Надпись) и
введите в правом столбце текст надписи, например. Текстовые поля позволяют
пользователю вводить информацию.
6. Чтобы вводимая в текстовое поле информация отображалась в надписи, расположенной
над полем, необходимо создать процедуру. Щелкните мышью, установив курсор на
текстовом поле. В открывшемся окне редактора кода из списка Object выбрано значение
Text1, указывающее наименование элемента управления TextBox, а из правого списка
Procedure значение Change, позволяющее задать процедуру обработки события,
возникающего при изменении значения.
7. Закройте окно редактора кода.
8. Запустите программу на выполнение. Появляется форма, содержащая надпись и
текстовое поле. Введите произвольную фразу в текстовое поле. Обратите внимание, что по
мере ввода информации надпись, расположенная над полем, также отображает вводимый
вами текст
9. Материалы для самостоятельной работы студента
Тема: Свойства и методы компонентов ToolBar и PageScroller
Цель: сформировать знания о назначении и характеристиках компонентов.
Форма проведения: беседа в виде диалога, ответы на вопросы.
Задание № 1
Ответьте на вопросы:
1. Назовите общие характеристики компонентов ToolBar и PageScroller?
2. В чем их отличительные особенности?
3. Назовите функции и свойства для работы с ToolBar?
4. Назовите функции и свойства для работы с PageScroller?
5. На какие события может реагировать ToolBar?
6. На какие события может реагировать PageScroller?
Методические рекомендации:
Составить конспект по теме занятия и ответить на вопросы (задание №1).
Рекомендуемая литература:
[8] 332-340
[3] 622-625,735-739
Тема: Основные методы формы.
Цель: Сформировать знания в области контейнера компонентов – форм.
Форма проведения: беседа в виде диалога, ответы на вопросы, поставленные
преподавателем.
Задание№1. Составьте конспект по теме занятия.
Задание№2. Ответьте на вопросы:
1 Назначение форм.
2 Свойства формы.
3 Собыия и методы формы.
Методические рекомендации:
Составить конспект по теме занятия, ответить на вопросы (задание №2), заполнить таблицу
(Задание 3).
Рекомендуемая литература:
[8] 203-226
Тема: Печать с помощью объекта Printer
Цель: Сформировать знания в области возможностей печати.
Форма проведения: беседа в виде диалога, ответы на вопросы, поставленные
преподавателем.
Задание№1. Составьте конспект по теме занятия.
Задание№2. Ответьте на вопросы:
1. В каких случаях необходимо использовать соответствующие компоненты, методы и
свойства для печати?
2. Какие свойства имеются у объектов, отвечающие за печать?
3. Какие компоненты имеют свойство Printer?
4. C помощью какого компонента - диалогового окна можно осуществить настройку
печати?
5. C помощью какого компонента - диалогового окна можно осуществить настройку
параметров принтера?
Методические рекомендации:
Составить конспект по теме занятия, ответить на вопросы (задание №2), заполнить таблицу
(Задание 3).
Рекомендуемая литература:
[8] 453-469
[3]651-692
Тема: Методы компонентов TrackBar и ScrollBar
Цель: Сформировать знания в области работы с компонентами.
Форма проведения: беседа в виде диалога, ответы на вопросы, поставленные
преподавателем.
Задание№1. Составьте конспект по теме занятия.
Задание№2. Ответьте на вопросы:
1. Назначение компонентов TrackBar и ScrollBar и их характеристики.
2. Назовите основные свойства компонента ScrollBar?
3. Как сделать полосу прокрутку вертикальной, с помощью какого свойства?
4. Перечислите основные методы и события полосы прокрутки?
5. Для чего нужен компонент TrackBar?
6. Что такое риски и как регулировать вид TrackBar?
7. Как увеличить диапазон TrackBar?
8. Какое свойство отвечает за позицию ползунка на TrackBar или ScrollBar?
Методические рекомендации:
Составить конспект по теме занятия, ответить на вопросы (задание №2), заполнить таблицу
(Задание 3).
Рекомендуемая литература:
[8] 312-320,341-349
[3] 723-726
Тема: Свойства и методы компонента MediaPlayer.
Цель: Определить свойства и методы компонентов MediaPlayer.
Форма проведения: беседа в виде диалога, ответы на вопросы, поставленные
преподавателем.
Задание№1. Составьте конспект по теме занятия.
Задание№2. Ответьте на вопросы:
1. Основное назначение компонентов?
2. С какими типами файлов могут работать ProgressBar, MediaPlayer и Gauge?
3. Какие общие свойства и методы имеются у компонентов?
4. Какие события можно описать у MediaPlayer?
5. Какое свойство отвечает за позицию ProgressBar?
6. Что может служить в качестве дисплея проигрывателя?
Методические рекомендации:
Составить конспект по теме занятия, ответить на вопросы (задание №2), заполнить таблицу
(Задание 3).
Рекомендуемая литература:
[8] 442-445,453-469
[3]575-579
Тема: Свойства и методы компонента Chart
Цель: Определить свойства и методы компонента Chart
Форма проведения: беседа в виде диалога, ответы на вопросы, поставленные
преподавателем.
Задание№1. Составьте конспект по теме занятия.
Задание№2. Ответьте на вопросы:
1. Каково основное назначение компонента Chart?
2. Какими свойствами обладает компонент Chart?
3. Какие виды графиков и диаграмм можно построить с помощью компонента?
4. Какие методы имеются для работы с компонентом?
5. Какие события можно описать?
6. На какой вкладке находится компонент?
Методические рекомендации:
Составить конспект по теме занятия, ответить на вопросы (задание №2), заполнить таблицу
(Задание 3).
Рекомендуемая литература:
[8]442-445
[8]591-600
Тема: Диалоги печати и установки принтера – компоненты PrintDialog и PrinterSetupDialog
Цель: Определить свойства и методы компонентов
Форма проведения: беседа в виде диалога, ответы на вопросы, поставленные
преподавателем.
Задание№1. Составьте конспект по теме занятия.
Задание№2. Ответьте на вопросы:
Сформировать знания в области возможностей печати
1. В каких случаях необходимо использовать соответствующие компоненты, методы и
свойства для печати?
2. Какие свойства имеются у объектов, отвечающие за печать?
3. Какие компоненты имеют свойство Printer?
4. C помощью какого компонента - диалогового окна можно осуществить настройку
печати?
5. C помощью какого компонента - диалогового окна можно осуществить настройку
параметров принтера?
Методические рекомендации:
Составить конспект по теме занятия, ответить на вопросы (задание №2), заполнить таблицу
(Задание 3).
Рекомендуемая литература:
[1] 241-247
Тема: Общая характеристика компонентов организации управления приложением.
Цель: Определить свойства и методы компонентов.
Форма проведения: беседа в виде диалога, ответы на вопросы, поставленные
преподавателем.
Задание№1. Составьте конспект по теме занятия.
Задание№2. Ответьте на вопросы:
1. Перечислите компоненты для управления проектом в целом?
2. Для чего служит объект TApplication?
3. Каково назначение компонента Screen?
4. Как сделать путь к загружаемым файлам (картинкам, текстовым файлам)
универсальным?
5. Какими свойствами и методами обладает TApplication?
6. Какими свойствами располагает Screen?
Методические рекомендации:
Составить конспект по теме занятия, ответить на вопросы (задание №2), заполнить таблицу
(Задание 3).
Рекомендуемая литература:
[2] 247-263
Тема: Создание иконки компонента.
Цель: Определить способы оформления собственных компонентов.
Форма проведения: беседа в виде диалога, ответы на вопросы, поставленные
преподавателем.
Задание№1. Составьте конспект по теме занятия.
Задание№2. Ответьте на вопросы:
1. Какие встроенные редакторы имеются в среде Borland Delphi?
2. Какое расширение имеет файл иконки?
3. После прикрепления файла иконки к готовому компоненту, где сохраняется файл?
4. Какова последовательность действий при создании иконки?
Методические рекомендации:
Составить конспект по теме занятия, ответить на вопросы (задание №2), заполнить таблицу
(Задание 3).
Рекомендуемая литература:
[8] 106-120
10. Методические указания по прохождению учебной,
преддипломных практик, формы отчетной документации
(Не предусмотрено программой)
производственной
и
11. Материалы по контролю и оценке учебных достижений обучающихся
- схема оценки знаний
- письменные контрольные задания
- тестовые задания
- перечень вопросов для самоподготовки
Информация по оценке знаний
Политика курса
Курс составлен на основании ГОСО РК и типовой программы по дисциплине
«Численные методы», занятия при прохождении данного курса предусматривают лекции и
СРСП. Задания при изучении курса выдаются на занятиях согласно содержанию курса. По
окончании выполнения задания студент обязан отчитаться о выполненной работе,
представить преподавателю результат, студенты также должны самостоятельно выполнить
задания на занятиях СРС и отчитаться о выполненной работе.
Своевременность сдачи отчетов, активность на занятиях, грамотно выполненные
задания оцениваются по максимальному баллу, в противном случае будут учитываться
штрафные баллы.
Студенты обязаны:
1. Не опаздывать на занятия
2. Не разговаривать во время занятий
3. Не пропускать занятия, в случае отсутствия по болезни представлять справку
4. На занятие приходить опрятным, без головных уборов
5. Пропущенные занятия отрабатывать в определенное преподавателям время
6. В случае невыполнение заданий, итоговая оценка снижается
7. Посещать занятия согласно расписанию занятий
8. Активно участвовать в учебном процессе
9. Выполнять задания и отчитываться согласно графика
10. Быть терпимым, открытым, откровенным и доброжелательным к сокурсникам и
преподавателям
11. Поддерживать обратную связь на всех занятиях
12. Содействовать коллективной работе и вовлечению в дискуссию более застенчивых
студентов
13. Быть пунктуальным и обязательным
14. Исключать телефонные переговоры во время занятий, отключать сотовый телефон
15. Не допускать пропуска занятий по неуважительным причинам.
Схема оценки знаний по дисциплине Язык программирования Delphi
Политика выставления оценки
№
1
2
3
4
5
6
7
Критерии оценки
Посещение и
активность на лекции
Выполнение
практических или
лабораторных работ
Выполнение
индивидуальных работ
(СРСП)
Использование
дополнительных
материалов
(реферат,
творческий поиск и.т.д)
Коллоквиум
Контрольная работа
Экзамен
Всего
Оценка
вида
%
%
оценки
1
всего
работы
Неделя
2
3
4
5
6
7
8
9
10
11
12
13
14
15
0,5
7,5
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
2
30
+
+
+
+
+
+
+
+ +
+
+
+
+
+
+
1
14
+
+
+
+
+
+
+
+ +
+
+
+
+
+
0,5
2,5
2
2
4
2
40
100
+
+
+
+
+
+
+
+
Итоговая оценка подсчитывается по формуле:
U=(P1+P2)/2*0.6+E*0.4, где
P1- цифровой эквивалент оценки первого рейтинга;
P2- цифровой эквивалент оценки второго рейтинга;
E - цифровой эквивалент оценки на экзамены
Буквенная оценка и ее цифровой эквивалент в баллах определяется по %-ному содержанию
правильных ответов.
В течение семестра проводится два рубежных контроля на 8 неделе и на 15 неделе.
Максимальный показатель успеваемости студента по рубежным контролям составляет
60%.
В конце каждого семестра проводится промежуточная аттестация по учебной
дисциплине в виде экзамена.
Максимальный показатель успеваемости по промежуточной аттестации (ПА), т.е.
экзамену составляет 40%.
Итоговая экзаменационная оценка по дисциплине определяется как сумма
максимальных показателей успеваемости по рубежным контролям (max. 60%) и
промежуточной аттестации, т.е. экзамену (max. 40%) составляет 100%.
Итоговый экзамен будет проходить в форме тестирования по 30 вопросам 5 вариантов
охватывающих основное содержание теоретического материала курса.
Знания, умения и навыки студентов оцениваются следующим образом:
Оценка
по буквенной
в баллах
в %-ном содержании
по традиционной
системе
системе
А
4,0
95 – 100
Отлично
А3,67
90 – 94
В+
3,33
85 – 89
Хорошо
В
3,0
80 – 84
В2,67
75 – 79
С+
2,33
70 – 74
С
2,0
65 – 69
Удовлетворительно
С1,67
60 – 64
Д+
1,33
55 – 59
Д
1,0
50 – 54
F
0
0 - 49
Неудовлетворительно
Политика и процедуры
Выставленную оценку можно апеллировать, при этом создается комиссия,
назначенная зав. кафедрой,
где происходит разбор ответов. Максимальный балл
выставляется при выполнении всех заданий в срок (в этом случае не вычитываются
штрафные баллы) работа должна соответствовать всем предъявленным требованиям.
Поощрительные баллы могут быть назначены (+3 балла), если работа включает в себя
дополнительные действия, не предусмотренные заданием,
применяется особое
оформление, выполнены рефераты по изучаемым темам (+5 баллов). В случаях пропусков,
опозданий, низкой активности на занятиях, поздней отчетности (вне графика) работ
студент штрафуется (по 0,5 за каждое нарушение в отдельности).
В течение семестра проводятся два рубежных контроля на 7 и на 15 неделе. Максимальный
рубежный показатель успеваемости студента по рубежным контролям составляет 50%.
Контроль осуществляется как в устной форме так и в виде отчета.
Требования к студентам:
Получение хорошего балла по курсу невозможно без постоянной работы. Это
предполагает, что оценка по курсу формируется в течение всего семестра. Вы
заинтересованы принимать активное участие в работе во время занятий. Максимальная
оценка за все виды работ ставится, если был дан правильный, четкий ответ на
поставленные вопросы работа выполнена аккуратно в полном объеме. Каждый студент
должен вести учет набранных баллов по кредит-часам (согласно вышеуказанной схеме
оценки знаний по дисциплине).
1. Посещение
Посещение должно быть обязательным. Пропуски занятий отрабатываются в полном
объеме занятия, отраженном в учебно-методическом комплексе. Пропуски занятий без
уважительной причины, в объеме, превышающем треть курса, ведут к исключению с
курса.
2. Поведение в аудитории
Студент обязан не опаздывать на занятия, не разговаривать во время занятий, не
читать газеты, отключать сотовый телефон, активно участвовать в учебном процессе.
3. Домашнее задание
Домашняя работа обязательна для выполнения и отчетность по ней принимается в
оговоренное преподавателем время. У студентов опоздавших во время отчитаться
домашнее задание приниматься не будет. На основе ваших отчетностей будет выведена
оценка, которая повлияет на итоговую оценку.
4. Индивидуальные задания
Индивидуальные семестровые задания являются обязательными. Они выполняются в
виде рефератов и защищаются студентами. Каждое из этих заданий оценивается отдельно
и влияет на итоговую оценку.
5. Контрольная работа
Выполняется на занятии, сдается в конце пары, после занятия не принимается и не
оценивается. Контроль знаний студентов главным образом
будет осуществляться
посредством решения тестовых заданий.
6. Коллоквиум
Коллоквиумы должны сдаваться по расписанию для каждой группы отдельно.
Контроль знаний студентов может осуществляться в виде устного опроса, а также
посредством решения тестовых заданий.
7. Собеседование
Собеседования должны сдаваться по расписанию для каждой группы отдельно,
пересдача не допускается. Контроль знаний студентов может осуществляться посредством
решения тестовых заданий.
Вопросы для проведения контроля по материалам 1-15 недели.
1. Свойства и методы компонентов Panel, GroupBox, Bevel, ScrollBox, Splitter
2. Многостраничные панели — компоненты TabControl, PageControl, основные их
характеристики.
3. Инструментальные и перестраиваемые панели. Свойства и методы компонентов
ToolBar и PageScroller
4. Назначение компонентов TrackBar и ScrollBar и их характеристики.
5. Основные свойства и методы компонента StatusBar
6. Форма и ее характеристики.
7. Компонент ApplicationEvents и объект Application, объект экрана — Screen
8. Методы компонентов, обеспечивающие печать
9. Свойства и методы объекта типа TPrinter.
10. Свойства и методы компонентов ProgressBar и Gauge.
11. Свойства и методы компонента Animate
12. Свойства и методы компонента MediaPlayer, назначение кнопок компонента.
13. Применение компонента Chart и его характеристики
Тесты для экзамена
1) Какое свойство позволяет скрывать или отображать маркер флажка, показывающий что
данный элемент выбран?
a) Checked
b) Items
c) Size
d) Enable
2) Какой метод осуществляет сохранение документа в файле?
a) FileToSave
b) LoadFromFile
c) MainMenu
d) OnActivate
3) Какой метод осуществляет загрузку документа из файла?
a) LoadFromFile
b) SaveToFile
c) PopupMenu
d) OnMouseDown
4) Что позволяет сделать метод Clear?
a) К примеру очистить содержимое Edit
b) Очистить форму от компонентов
c) Очистить Корзину
d) Такого метода нет
5) Для чего предназначен компонент ListBox?
a) Для отображения списка строк
b) Для отображения картинок
c) Для записи и редактирования текстовых данных
d) Для красоты оформления формы
6) Какое значение должно иметь свойство Enable, чтобы компонент был активен?
a) True
b) False
c) Close
d) 0
7) Какое значение должно иметь свойство Enable, чтобы компонент был не активен?
a) False
b) True
c) Open
d) 1
8) Для чего служит свойство Caption?
a) Cодержит строку для надписи заголовка компонента
b) Определяет вид указателя мыши при размещении его в области компонента
c) Указывает имя компонента, которое используется программистом при управлении
компонентом во время выполнения приложения
d) Определяет активность компонента
9) Для чего служит свойство Name?
a) Указывает имя компонента, которое используется программистом при управлении
компонентом во время выполнения приложения
b) Определяет активность компонента
c) Определяет вид указателя мыши при размещении его в области компонента
d) Содержит строку для надписи заголовка компонента
10) Для чего служит свойство Enable?
a) Определяет активность компонента
b) Указывает имя компонента, которое используется программистом при управлении
компонентом во время выполнения приложения
c) Управляет видимостью компонента
d) Содержит строку для надписи заголовка компонента
12. Программное и мультимедийное сопровождение учебных занятий
1. Интегрированная среда разработки приложений Borland Delphi 7.0.
13. Перечень специализированных аудиторий, кабинетов и лабораторий.
Корпус
Аудитория
Назначение
№8
306
компьютерный класс
№8
307
компьютерный класс
№8
№8
№8
№1
№1
308
310
311
209
102
компьютерный класс
компьютерный класс
компьютерный класс
Интернет-класс
Электронный читальный зал
Download