Сухарев М.В. - Основы Delphi. Профессиональный подход

Скачать

Сухарев М.В. - Основы Delphi. Профессиональный подход

Основы Delphi профессиональный подход

Год выпуска: 2004

Автор: Сухарев М. В

Жанр: Программирование

Издательство: Наука и техника СПБ

ISBN: 5-94387-129-2

Формат: DjVu

Качество: Отсканированные страницы

Количество страниц: 600

Описание: Эта книга является превосходным учебным пособием, дающим наиболее полное и системное понимание основополагающих механизмов Delphi. Цель книги — помочь программистам, начинающим работать с Delphi, сделать первый шаг в ее изучении так, чтобы не возвращаться к пройденному материалу в дальнейшем для углубления знаний. В то же время книга будет интересна и опытным программистам, благодаря своему обобщенному изложению.Основная часть материала описывает фундаментальные основы Delphi, структуру компонентов и правила их использования. Подробно рассмотрено объектно-ориентированное программирование в Delphi. Описываются технологии взаимодействия приложений с операционной системой.Книгу отличает глубокий, системный подход и, в то же время, доступное изложение материала. Используется большое количество наглядных примеров. Лучший выбор для всех, кто хочет получить серьезные знания и грамотно работать с Delphi.

В ведение.

Общая характеристика Delphi.

Место Delphi в современном программировании.

Задачи издания.

ЧАСТЬ I. СТРУКТУРНОЕ ПРОГРАММИРОВАНИЕ В DELPHI.

Глава 1. Структура программы.

1.1. Основные элементы программы и алфавит языка.

1.2. Основная часть программы.

1.3. Модули.

1.4. Проект.

Глава 2. Структуры данных в Delphi.

2.1. Стандартные типы данных.

2.1.1. Числовые типы.

2.1.2. Строковые типы данных.

2.1.3. Другие стандартные типы данных.

2.2. Описание структур данных.

2.2.1. Описание и использование переменных.

Описание переменных.

Оператор присваивания.

2.2.2. Описание констант.

2.2.3. Описание нестандартных типов данных.

2.3. Сложные типы данных.

2.3.1. Интервальные типы данных.

2.3.2. Перечислимые типы данных.

2.3.3. Множества.

2.3.4. Записи.

2.3.5. Массивы.

2.4. Динамические структуры данных.

2.4.1. Нетипизированные указатели.

2.4.2. Типизированные указатели.

2.4.3. Динамические массивы.

2.5. Вариантные структуры данных.

2.5.1. Общие понятия.

2.5.2. Обращение к вариантным переменным.

2.5.3. Определение типа вариантных переменных.

2.5.4. Автоматическое приведение типов.

2.5.5. Вариантные массивы.

2.5.6. Разрушение вариантных переменных.

2.6. Выражения в Object Pascal.

скрытый текст

Глава 3. Структурные операторы.

Организация ветвления.'.

3.1.1. Условный оператор N Tnen.Else.

3.1.2. Условный оператор множественного выбора Case

3.2. Составной оператор.

3.3, Зацикливание.

3.3.1. Оператор зацикливания For.

Стандартный вариант.

Цикл с обратным отсчетом.

3.3.2. Условные операторы зацикливания.

Оператор зацикливания с предусловием While.do.

Условный оператор зацикливания с постусловием Repeat.Until

3.3.3. Прерывание зацикленного фрагмента.

Глава 4. Описание подпрограмм.

4.1. Виды подпрограмм: процедуры и функции.

4.2. Подпрограммы с параметрами.

4.2.1. Описание параметров.

4.2.2. Механизмы передачи параметров в подпрограммы.

Передача параметров по значению.

Передача параметров по ссылке. Параметры-переменные.

4.2.3. Частные случаи передачи параметров подпрограммам.

Параметры по умолчанию.

Передача по значению параметров ссылочных типов данных.

Параметры-константы.

Параметры для заполнения.

Параметры без указания типа.

4.3. Перегружаемые подпрограммы.

4.4. Досрочный выход из подпрограммы.

4.5. Процедурные типы данных.

Вопросы с ответами для , повторения по части I.

скрытый текст

ЧАСТЬ II. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ В DELPHI

Глава 5. Основные механизмы и положения

объектно-ориентированного программирования.

5.1. Инкапсуляция.

5.1.1. Понятие класса и объекта.

5.1.2. Структура класса.

Описание класса. Свойства и методы.

Методы класса.

Перегружаемые методы.

Области видимости элементов класса.

Property-свойства.

5.2. Наследование.

5.2.1. Основы наследования.

5.2.2. Переопределение методов.

Механизм переопределения.

Переопределение методов с сохранением функциональности.

5.3. Жизненный цикл экземпляра класса.

5.3.1. Создание экземпляра класса. Конструктор.

Описание и вызов конструктора.

Переопределение конструктора.

5.3.2. Использование экземпляра класса.

5.3.3. Разрушение объекта: Деструктор.

5.4. Полиморфизм.:.

5.4.1. Совместимость объектов.

5.4.2. Определение принадлежности

к классу и приведение типов объектов.

Оператор is.

Оператор as.

5.4.3. Абстрактные методы.

5.4.4. Полиморфизм и property-свойства.

5.5. Ключевое слое Self .

Глава 6. Особенности архитектуры программы в ОС Windows.

6.1. Архитектура программы в ОС DOS.

6.2. Архитектура программы в ОС Windows.

Многозадачность.

Многооконность.

Программа, управляемая событиями.

Взаимодействие программы с операционной системой.

скрытый текст

Глава 7. Объектно-ориентированный подход к обработке ошибок.

7.1. Понятие исключительной ситуации.

7.2. Принудительное создание исключительной ситуации.

«Тихие» исключения.

Эмуляция ошибок.

7.3. Обработка исключений.

Блок обработки исключений Try.Except.

Блок обработки исключений Try. Finally.

Различия в работе блоков обработки исключений.

7.4. Традиционный подход к обработке ошибок.

Глава 8. Объектно-ориентированный подход к хранению информации.

8.1. Общие положения.

8.2. Списки.

8.2.1. Основы использования списков.

Класс TList.

Добавление элементов в список.

Удаление элементов из списка.

Доступ к элементам списка.

8.2.2. Управление размером списка.

8.2.3. Пример использования списков указателей.

8.2.4. Списки объектоа

8.2.5. Списки компонентов.-.

8.2.6. Списки с заданным порядком элементов. Стеки и очереди.

Понятие стека и очереди.

Возможности использования класса ТОrdered List.

Стек и очередь как наследники класса TOrderedList.

8.3. Коллекции.

8.3.1. Основы использования коллекций.

8.3.2. Создание и разрушение коллекций.

8.3.3. Управление хранимыми данными.

Добавление элементов в коллекцию.

Удаление элементов из коллекции.

Доступ к элементам коллекции.

Практическое использование коллекций.

8.4. Массивы текстовой информации.

8.4.1. Общие возможности строковых массивов в Delphi.

8.4.2. Манипуляции со строковыми массивами.

Добавление элементов.

Удаление элементов.

Доступ к элементам.

Сохраняемость строковых массивов.

8.4.3. Практическое использование строковых массивов.

8.5. Хранение сложных двоичных данных.

Глава 9. Объектно-ориентированный подход к вводу/выводу информации.

9.1. Общие сведения о потоках.

9.2. Базовый класс для работы с потоками.

Информация о состоянии устройства ввода/вывода.

Создание и разрушение потока.

Чтение и запись информации в поток.

9.3. Особенности реализации разных потоков.

9.3.1. Файловые потоки.

9.3.2. Потоки на основе оперативной памяти.

9.3.3. Строковые потоки.

Глава 10. Использование графической информации в Delphi.

10.1. Общие принципы вывода информации.

10.2. Параметры вывода информации.

10.2.1. Параметры графической информации.

Общие положения.

Цветовые характеристики.

Характеристики обводки.

Характеристики заливки.,.

10.2.2. Характеристики текстовой информации.

10.3. Области отображения и вывод на них.

Класс TCanvas.

Координатная плоскость.

Установка характеристик графических объектов.

Вывод текстовой информации.

Методы вывода графических примитивов.

Копирование областей отображения.

Методы вывода изображений.

Прямой доступ к растровому представлению.

Синхронизация области отображения.

Разновидности областей отображения.

Метафайловые области отображения.

10.4. Использование графических изображений.

10.4.1. Представление изображений в Delphi. Базовый класс TGraphic.

Общее описание.

Представление растровых изображений. Класс TBitmap.

Представление сжатых растровых изображений.

Класс TJPEGImage.

Представление Windows-иконок. Класс Tlcon.

10.4.2. Метафайлы. Класс TMetafile.

Метафайлы и их особенности.

Области отображения метафайлов. Класс TMetafileCanvas.

10.4.3. Представление изображений вне зависимости

от формата. Класс TPicture.

10.4.4. Пример использования графических изображений.

Вопросы с ответами для повторения по части

скрытый текст

ЧАСТЬ III. МЕТОДИКА СОЗДАНИЯ ПРОГРАММ В DELPHI.

Глава 11. Использование ИСР Delphi в разработке.

11.1. Интегрированная среда разработчика Delphi.

11.2 Главное меню.

Подменю File.

Подменю Edit.

Подменю Search.

Подменю View.

Понятие проекта и группы проектов.

Подменю Project.

Подменю Run.

11.3. Компоненты. Палитра компонентов и формы.

11.4 Свойства и события компонентов. Инспектор объектов.

Основы использования компонентов.

Понятие активного компонента.

Инспектор объектов.

11.5 Окно исходного текста программы.

Окно навигации по коду.

Автодополнение кода.

Глава 12. Общие принципы программирования в Delphi.

12.1 Визуальное построение приложения.

12.2. Автоматическое создание программного кода.

12.3. Функциональность приложения.

12.4. Обработка исключительных ситуаций.

Вопросы с ответами для повторения по части III.

ЧАСТЬ IV. КОМПОНЕНТЫ И ИХ ИСПОЛЬЗОВАНИЕ.

Глава 13. Архитектура системы компонентов Delphi.

13.1. Класс TObject.

13.1.1 Поддержка жизнедеятельности объектов.

Создание объекта.

Разрушение объекта.

13.1.2. Реакция на создание и разрушение объектов.

13.1.3. Информация об объектах и классах.

13.1.4. Обработка событий объектов.

13.1.5. Объектные интерфейсы.

Понятие интерфейса в Delphi.

Базовый интерфейс Interface.

Глобальный уникальный идентификатор GUID.

Поддержка интерфейсов классом TObject.

13.2. Класс TPersistent.

13.2.1. Переносимость информации между объектами.

13.2.2. Сохраняемость свойств.

13.3. Класс TComponent.

13.3.1. Именование компонентов и доступ к ним

из программного кода.

Именование компонентов во время разработки.

Именование компонентов во время выполнения программы.

13.3.2. Принадлежность компонентов.

13.3.3. Взаимосвязи между компонентами.

Механизм взаимосвязей.

Механизмы уведомлений.

13.4. Визуальные и невизуальные компоненты.

13.4.1. Визуальные компоненты.

Базовый класс визуальных компонентов.

Компоненты-оболочки. Класс TWmControl.

Легковесные компоненты. Класс TGraphicControl.

Свойство визуальной принадлежности.

13.4.2. Невизуальные компоненты.

13.4.3. Диалоговые компоненты.

Вопросы с ответами для повторения по главе 13.

Глава 14. Визуальные компоненты.

Общие свойства визуальных компонентов.

14.1.1. Положение и размеры элемента управления на экране.

14.1.2. Автоматическое управление положением.

Привязка визуального компонента к одной

из сторон контейнера.

Настройка автоматического изменения положения стороны компонента в соответствии с такой же стороной

его контейнера.

Задание минимально и максимально возможных

размеров компонентов.

14.1.3. Управление видимостью

и доступом пользователя к управлению.

14.1.4. Дружественное поведение элементов управления.

Изменение вида курсора мыши при наведении на компонент.

Использование всплывающих подсказок.

14.2. Компоненты-контейнеры.

14.2 Общее описание.

14.2.2. Контейнеры-панели.

Виды панелей и общее описание.

Панель Scroll Box — панель с полосами прокрутки.

Панель RadioGroup— панель зависимых переключателей.

14.2.3. Контейнеры-панели инструментов.

14.2.4. Страничное представление групп компонентов.

14.2.5. Пример использования контейнеров.

14.3. Компоненты для отображения информации.

14.3.1. Виды компонентов для отображения информации.

14.3.2. Текстовые метки.

14.3.3. Компоненты-индикаторы.

Компонент ProgressBar.

Компонент Chart — построение диаграмм и графиков.

14.3.4. Изображения геометрических фигур.

Отображение разделительных рамок. Компонент Bevel.

Изображение графических примитивов. Компонент Shape.

14.3.5. Вывод сложной графической информации.

Вывод изображений из графических файлов.

Вывод видеоклипов.

Отображение созданных программно изображений.

Использование виртуального экрана.

14.4. Компоненты-кнопки.

14.4.1. Виды кнопок.

14.4.2. Кнопки Button и BitBtn.

Простые кнопки Button.

Кнопки BitBtn — кнопки с изображениями.

Использование стилей для кнопок BitBtn.

14.4.3. Кнопки SpeedButton.

14.5. Компоненты для редактирования простых данных.

14.5.1 Ввод строк и чисел.

14.5.2. Редактирование логических значений. Переключатели.

14.5.3. Изменение числового значения в заданном диапазоне.

Компонент Scroll Bar (полоса скроллинга).

Компонент TrackBar — выбора числового значения из интервала

14.5.4. Выбор даты.

14.6 Выбор значения с помощью списков.

14.6.1. Виды компонентов выбора из списка.

14.6.2. Компонент ListBox.

14.6.3. Компонент CheckUstBox.

14.6.4 Компонент ComboBox.

14.6.5. Компонент ColorBox.

14.7. Компоненты для редактирования многострочных данных.

14.7.1. Многострочные редакторы Memo и RichEdit.

14.7.2. Особенности компонента RichEdit. RTF-формат.

14.7.3. Использование форматирования.

14.8. Компоненты для редактирования данных в табличной форме.

Вид и возможности компонент редактирования данных

в табличной форме.

14.8.2. Структура классов табличных компонентов.

14.8.3. Особенности компонентов StringGrid и DrawGrid.

14.8.4. Компонент ValueListEditor и его особенности.

14.9. Пример использования визуальных компонентов.

Пишем текстовый- редактор.

Создание заготовки панели инструментов.

Наполнение подпанели управления шрифтом.

Наполнение подпанелей Numbering и Undo/Redo.

Наполнение подпанели управления отступами.

Создание области редактирования и панели управления файлом

Дружественный интерфейс.

Наполнение функциональностью.

Вопросы с ответами для повторения по главе 14.

Глава 15. Невизуальные компоненты.

Глава 16. Создание компонентов во время выполнения программы.

16.1. Основные действия, выполняемые при создании компонентов.

16.2. Создание визуальных компонентов.

16.3. Назначение обработчиков событий.

16.4. Использование массивов компонентов.

Вопросы с ответами для повторения по главе 16.

Глава 17. Использование диалоговых компонентов.

17.1 Общие методы и события диалоговых компонентов.

17.2. Общие свойства диалоговых компонентов.

17.3. Стандартные диалоговые компоненты.

17.4. Диалоги для работы с файлами.

17.4.1. Свойства файловых диалогов.

Свойство InitialDir.

Свойство Filter.

Настройка функциональности диалогов.

Результаты работы файловых диалогов.

17.4.2. События файловых диалогов.

17.4.3. Пример использования файловых диалогов.

17.5. Диалоги выбора шрифта и цвета.

17.5.1. Работа с компонентом ColorDialog.

17.5.2. Работа с компонентом FontDialog.

Свойства FontDialog.

События FontDialog.

17.5.3. Пример использования диалогов выбора цвета и шрифта.

17.6. Диалоги текстового поиска и замены.

17.6.1. Работа с компонентами поиска и замены.

17.6.2. Настройка функциональности

диалогов FindDialog и ReplaceDialog.

17.6.3. Анализ данных компонента FindDialog.

17.6.4. Анализ данных компонента ReplaceDialog.

17.6.5. Пример использования диалога замены.

17.7. Диалоги настройки параметров печати.

17.7 1 Компонент PrintDialog.

События PrintDialog.

Свойства PrintDialog.

Настройка функциональности.

17.7.2. Компонент PrinterSetupDialog.

17.7.3. Компонент PageSetupDialog.

Свойства PageSetupDialog.

Настройка функциональности PageSetupDialog.

События PageSetupDialog.

Вопросы с ответами для повторения по главе 17.

скрытый текст

Глава 18. Формы.

18.1 Понятие формы. Форма как часть проекта.

18.1.1. Форма как Del phi-компонент.

18.1.2. Представление формы в проекте.

18.2 Использование форм.

18.2.1. Жизненный цикл формы.

Добавление формы в проект.

Организация структуры форм в приложении.

Автоматическое создание формы

во время выполнения программы.

Прямое создание формы во время выполнения программы.

18.2.3. Отображение формы.

Немодальные формы.

Модальные формы.

18.2.4. Управление доступом к форме.

Скрытие формы с экрана.

Разрушение формы.

Закрытие формы.

18.3. Организация многооконных приложений.

Виды приложений с точки зрения организации окон.

SDI-приложения.

MDI-приложения.

Приоритетные окна.

Организация форм в многооконных приложениях.

18.4. Свойства и события класса TForrn.

18.4.1 События форм.

Создание, разрушение и активность.

Перемещение и изменение размеров.

Манипуляции с мышью в области формы.

Клавиатурные события.

18.4.2. Свойства форм.

Расположение и размеры.

Управление атрибутами окна.

Прозрачность окна.

18.5. Особенности визуального проектирования форм.

18.5.1. Расположение компонентов на форме.

Организация контейнеров переменного размера.

Компонент Splitter.

Открепление элементов управления.

18.5.2. Использование фреймов.

Понятие фрейма.

Создание фрейма.

Добавление фрейма на форму.

Связи экземпляров фреймов.

18.5.3. Депозитарий форм.

Добавление формы в депозитарий.

Построение формы на основе хранимой в депозитарии.

Вопросы с ответами для повторения по главе 18.

ЧАСТЬ V. ВЗАИМОДЕЙСТВИЕ ПРИЛОЖЕНИЯ С ОПЕРАЦИОННОЙ СИСТЕМОЙ.

Глава 19. Гибкое управление окружением.

19.1 Введение.

19.2. Глобальная переменная Application.

Управление быстрыми подсказками.

Взаимодействие с пользователем через простейшие диалоги.

Идентификация приложения в системе.

Информация об исполняемом файле.

Управление состоянием приложения.

Особенности обработки событий в Windows и Delphi.

Распределение вычислительной нагрузки на приложение.

Событие необработанного исключения.

19.3. Глобальная переменная Screen.

19.4. Глобальная переменная Mouse.

Положение указателя мыши на экране.

Захват мыши окном приложения.

Настройки колеса мыши.

Глава 20.Вывод информации за пределы программы. Технология СОМ.

20.1. Вывод информации на печать.

Управление структурой документа.

Вывод информации.

Контроль за процессом формирования документа.

Пример вывода информации на принтер.

Функции печати стандартных компонентов.

20.2. Вывод информации в другие приложения. Основы технологии СОМ.

20.2.1. Общие положения.

20.2.2. Основы СОМ-технологии.

Основные понятия СОМ. СОМ-объекты.

Вызов методов СОМ-объектов. Интерфейс IDispatch.

Создание и использование экземпляров

серверов автоматизации.

20.2.3. Экспорт информации в приложения Microsoft Office.

20.2.4. Экспорт информации в Microsoft Word.

Запуск сервера.

Взаимодействие с сервером на уровне документа.

Непосредственный вывод информации. Объект Selection.

Форматирование текстовой информации .

Использование закладок.

Управление приложением Microsoft Word.

Экспорт текстовой информации из компонента RichEdit.

20.2.5. Экспорт информации в Microsoft Excel.

Управление сервером автоматизации Excel.

Управление документами Excel.

Адресация элементов документа на рабочем листе.

Вывод информации в ячейки рабочего листа.

Пример вывода информации в приложение Excel.

Глава 21. Управление выполнением приложения.

21.1. Создание и использование DLL-библиотек.

21.1.1. Понятие и назначение DLL-библиотек.

21.1.2. Создание DLL-библиотеки.

21.1.3. Особенности передачи строковых параметров

в подпрограммы DLL-библиотек.

21.2.4. Наполнение библиотек подпрограммами.

21.1.5. Использование DLL-библиотек.

Виды динамической компоновки.

Неявная компоновка.

Явное связывание

21.1.6. Соглашения о вызовах подпрограмм.

21.2. Многопоточность.

21.2.1. Понятие и назначение потоков.

21.2.2. Описание потока.

21.2.3. Создание потока и управление его выполнением.

21.2.4. Разрушение потока.

21.2.5. Получение результата работы потока.

Использование VCL.

Использование обработчика OnTerminate,

Использование- дополнительных событий

Использование глобальных переменных.

21.2.6. Приоритеты потоков.

Вопросы с ответами для повторения по части V.

скрытый текст

ЧАСТЬ VI. СОЗДАНИЕ КОМПОНЕНТОВ.

Глава 22. Основы использования компонентов.

22.1. Понятие компонента.

22.2. Назначение компонентов.

22.2.1- Повторная используемость.

22.2.2. Функциональность.

22.2.3. Унификация программных продуктов.

22.3. Описание компонента.

22.3.1. Реализация модуля компонента.

22.3.2. Использование пакетов компонентов.

Глава 23. Жизненный цикл компонента в среде разработки.

23.1. Создание компонентов.

23.1.1. Создание компонентов вручную.

23.1.2. Создание компонентов средствами среды разработчика.

23.2. Управление компонентами.

23.3. Удаление компонентов из Палитры компонентов.

23.3.1. Использование диалога управления проектом.

23.3.2. Удаление компонентов с помощью

диалога управления пакетами компонентов.

Глава 24. Разработка компонентов.

24.1 Соглашение об именовании компонентов и их элементов.

24.1.1. Именование компонентов.

24.2.2. Именование свойств.

24.2. Жизненный цикл компонента в программе.

24.2.1. Компоненты, созданные в визуальном построителе.

24.2.2. Компоненты, созданные программно.

24.3. Структура компонента.

23.3.1. Конструктор и деструктор.

24.3.2. Простые свойства.

24.3.3. Property-свойства.

Модификаторы Read и Write.

Модификатор Index.

Property-массивы.

Модификаторы stored и default.

Переопределение property-свойств. Модификатор nodefault.

24.3.4. Сообщения и события в компонентах.

Модель сообщений в компонентах.

Сообщения Windows.

События компонентов.

Делегирование событий.

24.4. Основы отладки компонентов.

24.5. Пример разработки компонента.

Постановка задачи.

Создание группы проекта

Реализация компонента.

Отладка компонента.

Инсталляция компонента.

Использование компонента в визуальной разработке.

Вопросы с ответами для повторения по части VI.

Кликабельные скрины

Внимание! Аналогичная книга уже имеется на трекере, но я решил выложить свой вариант в djvu формате.

Скачать