Приемы программирования в Delphi на основе VCL
Книга рассчитана на читателей, освоивших Delphi и желающих расширить свои знания и возможности проектирования. Охвачен широкий круг вопросов, начиная с типовых решений традиционных вычислительных задач (обработка массивов, векторы, матрицы, решение систем линейных и нелинейных уравнений), и кончая приемами программирования при взаимодействии с механизмами Windows, с приложениями Microsoft Office (Word, Excel, электронной почтой), с портами. Рассматривается обработка документов различных видов. Детально обсуждаются вопросы построения графиков и диаграмм, создание и использование DLL. Излагается методика работы с удаленными модулями данных.
Рассмотренные приемы можно использовать в любых версиях Delphi, включая Delphi 2006, и при работе с любыми версиями Windows (обсуждается адаптация к версиям). В Delphi 2005 и 2006 материал книги может непосредственно использоваться в приложениях VCL Win32 и VCL .NET. Специфические приемы программирования, характерные для .NET, в книге не рассматриваются.
Книга содержит много модулей процедур и функций с подробными пояснениями, а также законченные приложения, которые можно включать в свои проекты. Даются ответы на множество вопросов, часто задаваемых пользователями Delphi на конференциях и форумах.
Посвящается вдохновителю и фактическому соавтору всех моих книг — моей жене
- От автора
- Чем данная книга отличается от прежних
- О чем эта книга
- Введение. Библиотеки VCL Win32 и Vcl .NET Версии VCL
- Преобразование прежних проектов в проекты Delphi 2005 и 2006
- Обмен информацией между управляемым и неуправляемым кодом
- Проблемы с исключениями
- Работа с файлами
- 1.1 Сортировка массивов
- 1.1.1.2 Описание процедур сортировки
- 1.1.1.3 Программная реализация
- 1.1.2 Сокращение числа перестановок
- 1.1.3 Тестирующие приложения
- 1.1.3.2 Сортировка двумерных массивов строк
- 1.2 Поиск в массивах
- 1.2.2 Описание функций поиска
- 1.2.3 Программная реализация поиска
- 1.2.4 Тестирующее приложение
- 1.3 Стандартные функции статистической обработки массивов данных
- 2.1 Векторы
- 2.1.2 Программная реализация операций с векторами
- 2.1.3 Тестовое приложение
- 2.1.4 Вариант реализации векторов с помощью типа variant
- 2.1.5 Вариант реализации векторов в .NET
- 2.2 Матрицы
- 2.2.2 Программная реализация операций с матрицами
- 2.2.3 Тестовые приложения
- 2.3 Решение систем линейных уравнений
- 2.3.2 Программная реализация решения системы линейных уравнений с помощью обратной матрицы
- 2.3.3 Решение систем уравнений методом LU-разложения
- 2.3.4 Программная реализация решения систем уравнений с помощью LU-разложения
- 2.3.5 Тестирование процедур решения систем линейных уравнений
- 3.1 Основы трансляции и вычисления арифметических выражений
- 3.2 Основы алгоритмической реализации
- 3.3 Реализация выделения и предварительного анализа лексем
- 3.4 Реализация формирования польской записи
- 3.5 Реализация вычислений по польской записи
- 3.6 Вспомогательные функции записи и чтения
- 3.7 Приложение CGraph: графический калькулятор произвольных арифметических выражений
- 3.7.1.2 Синтаксис входного языка
- 3.7.1.3 Работа с окном ввода аналитического описания
- 3.7.1.4 Трансляция аналитического описания
- 3.7.1.5 Работа с графиками
- 3.7.2 Программная реализация CGraph
- 3.8 Рекомендации по сопровождению и развитию программы
- 4.1 Общие положения
- 4.2 Метод дихотомии
- 4.3 Метод хорд
- 4.4 Метод простых итераций одномерный случай
- 4.5 Метод Ньютона одномерный случай
- 4.6 Приложение для решения различными методами уравнения, заданного пользователем
- 4.6.2 Программная реализация приложения
- 4.7 Приложение для решения уравнения автоматически выбираемым методом
- 4.8 Решение систем нелинейных уравнений
- 4.8.2 Программная реализация методов
- 4.8.3 Тестовое приложение
- 4.8.3.2 Программная реализация приложения
- 5.1 Однострочные окна редактирования
- 5.2 Организация работы пользователя с текстовыми документами
- 5.2.2 Тонкости настройки диалогов
- 5.2.3 Использование стандартных действий
- 5.2.4 Списки файлов в меню
- 5.2.5 Особенности открытия и сохранения документов в RichEdit
- 5.2.6 Работа с текстовыми файлами, большими 64 К
- 5.3 Работа с иными видами документов
- 5.3.2 Работа с произвольными типами файловых документов
- 5.3.2.2 Стандартное действие класса TFileRun
- 5.3.3 Просмотр и редактирование любых документов с помощью WebBrowser в приложениях VCL Win32
- 5.4 Просмотр документов из Интернета и интранета в приложениях VCL Win32
- 5.4.2 Пример построения браузера
- 5.5 Обработка документов в компоненте RichEdit
- 5.5.2 Форматирование абзацев
- 5.5.3 Программное формирование текста в RichEdit
- 5.5.4 Печать документа
- 5.6 Поиск и контекстная замена
- 5.6.2 Поиск и замена с помощью стандартных действий
- 5.6.3 Поиск и контекстная замена в тексте с помощью сообщений Windows в приложениях VCL Win32
- 5.7 Преобразование форматов текстовых документов
- 5.7.2 Форматы KOI-R, KOI-U и другие
- 5.7.3 Пример перекодировки документов
- 5.8 Некоторые приемы программирования при работе с окнами редактирования
- 5.8.2 Программная прокрутка текста в окне редактирования
- 5.8.3 Выделение элементов текста в окне RichEdit
- 5.8.3.2 Выделение слова под курсором мыши
- 5.8.3.3 Выделение и использование гиперссылок
- 5.8.4 Информация о текущем состоянии текста
- 5.8.5 Использование канвы в окнах редактирования
- 5.8.6 Управление видимостью курсора окна редактирования
- 6.1 Организация работы с приложениями Microsoft Office
- 6.1.2 Подключение в приложение и активизация серверов СОМ
- 6.1.3 Подключение в приложение и активизация серверов автоматизации OLE
- 6.1.4 Где найти свойства и методы серверов, и как задавать их параметры
- 6.2 Свойства и методы сервера Word
- 6.2.2 Работа с выделенными фрагментами текста
- 6.2.3 Работа с объектом документа
- 6.2.4 Диалоги Word
- 6.2.5 Работа с окнами Word
- 6.3 Примеры работы с серверами Word
- 6.4 Сервер Excel
- 6.4.2 Работа с книгами Excel
- 6.4.3 Работа с листами книги Excel
- 6.4.4 Работа с ячейками
- 6.4.5 Работа с окнами Excel
- 6.4.6 Коротко о диалогах Excel
- 6.5 Примеры работы с серверами Excel
- 6.6 Работа с книгой Excel как с базой данных ADO
- 6.7 Работа с электронной почтой
- 6.7.2 Работа с Outlook как с сервером автоматизации OLE и сервером СОМ
- 6.7.3 Работа с почтовой программой с помощью интерфейсов MAPI
- 6.7.4 Работа с почтовыми компонентами Indy
- 7.1 Компоненты для построения графиков и диаграмм
- 7.2 Простейшее приложение с графиками
- 7.3 Основные свойства компонентов Chart и DBChart
- 7.4 Оформление поля графиков и диаграмм, печать и запоминание
- 7.5 Оси координат, надписи около делений, масштаб и прокрутка
- 7.6 Трехмерное представление графиков и диаграмм
- 7.7 Классы серий графиков и диаграмм
- 7.7.2 Базовый класс серий TChartSeries
- 7.7.2.2 Динамическое изменение типа серии и динамическое создание серий
- 7.7.3 Классы графиков TLineSeries, TFastLineSeries, TAreaSeries
- 7.7.4 Класс точечных графиков TPointSeries
- 7.7.5 Классы диаграмм TBarSeries и THorizBarSeries
- 7.7.6 Круговые диаграммы - класс TPieSeries
- 7.7.7 Диаграммы планирования - класс TGanttSeries
- 7.7.8 Декоративные диаграммы - классы TArrowSeries, TBubbleSeries, TChartShape
- 7.8 Отображение баз данных - компонент DBChart
- 7.9 Использование функций при формировании серий
- 7.10 Пример построения и анализа графиков
- 7.10.2 Формы примера
- 7.10.3 Программная реализация примера
- 8.1 Программное управление меню
- 8.2 Настройка меню пользователем
- 8.2.2 Алгоритмы настройки
- 8.2.3 Программная реализация
- 8.3 Настройка инструментальных панелей пользователем
- 8.3.2 Программная реализация
- 8.4 Хранение информации в реестре
- 8.4.2 Работа с реестром, установка и удаление программ
- 8.5 Работа с файлами INI
- 8.5.2 Пример: общее описание
- 8.5.3 Пример: программная реализация
- 9.1 Построение сервера с удаленным модулем данных
- 9.2 Немного о BDE
- 9.3 Клиентское приложение
- 9.3.2 Программная реализация
- 9.3.3 Обработка ошибок
- 9.4 Приложение со связанными таблицами и с выбором сервера данных
- 9.5 Портфельные наборы данных
- 9.6 Фильтрация данных клиентского набора
- 9.7 Индексация клиентского набора
- 9.8 Клиентские приложения с запросами SQL
- 9.9 Доступ к удаленным данным из сервера Web
- 10.1 Информация о дисках
- 10.2 Папки и их интерфейсы
- 10.3 Преобразование PIDL в путь
- 10.4 Доступ к системным папкам через реестр
- 10.5 Диалоги выбора папок
- 10.6 Поиск файлов в каталогах
- 10.6.2 Поиск по шаблонам по всему дереву каталогов
- 10.6.3 Ускоренный поиск
- 10.6.4 Поиск файлов с помощью программы Проводник
- 10.7 Копирование, удаление, перемещение файлов средствами языка Pascal
- 10.8 Копирование файлов с помощью потоков
- 10.9 Манипуляции с файлами и каталогами с помощью функции ShFileOperation
- 10.10 Перетаскивание файлов из папок Windows в приложение
- 10.11 Ярлыки файлов
- 11.1 Определение версии Windows и .NET Framework
- 11.2 Получение и установка параметров системы
- 11.3 Хранители экрана заставки
- 11.4 Обои рабочего стола
- 11.5 Дескриптор рабочего стола
- 11.6 Кнопка и меню "Пуск"
- 11.7 Управление полосой задач
- 11.8 Приложения — невидимки
- 11.9 Пиктограммы в области System Tray
- 11.10 Перебор и свертывание окон всех приложений
- 11.11 Регистрация собственного расширения файлов
- 11.12 Шрифты
- 11.13 Панель Управления и ее апплеты: свойства экрана, свойства системы и другие
- 11.14 Переменные окружения
- 11.15 Выключение компьютера и перезагрузка системы
- 11.16 Автозапуск приложений
- 11.17 Компьютер
- 11.17.2 Процессор
- 11.17.3 Память
- 11.17.4 Клавиатура
- 11.17.5 Имя компьютера
- 11.17.6 Имя пользователя
- 11.18 Порты
- 11.18.2 Синхронный режим работы
- 11.18.3 Асинхронный режим работы
- 12.1 Оконные компоненты и формы
- 12.1.2 Непрямоугольные окна и формы
- 12.1.3 Буксировка компонентов и форм
- 12.1.4 Мигание заголовка окна и пиктограммы приложения
- 12.1.5 Доступ к окну DOS
- 12.2 Клавиатура
- 12.2.2 Асинхронный опрос клавиш
- 12.2.3 Эмуляция нажатия клавиши
- 12.2.4 Установка языка
- 12.2.5 Горячие клавиши для неактивного приложения
- 12.2.6 Горячие клавиши окна
- 12.3 Курсор мыши
- 12.3.2 Получение и задание координат курсора мыши
- 12.3.3 Управление видимостью курсора мыши
- 12.3.4 Изменение функций левой и правой кнопок мыши
- 12.4 Даты и время в API Windows и Delphi
- 12.5 Пиктограммы
- 12.5.2 Стандартные пиктограммы и изображения для кнопок
- 12.5.3 Изображение и масштабирование пиктограмм
- 12.6 Динамически присоединяемые библиотеки DLL
- 12.6.2 Создание DLL Win32
- 12.6.3 Статическое связывание и отладка DLL в приложениях VCL Win32
- 12.6.4 Динамическое связывание в приложениях Win32
- 12.6.5 Изображения в DLL Win32
- 12.6.6 Создание библиотечных сборок .NET на основе DLL Win32
- 12.6.7 Статическое связывание DLL Win32 и библиотечных сборок .NET в приложениях VCL .NET
- 12.6.8 Поиск изображений и пиктограмм в ресурсах
- 12.6.9 Получение информации об импорте и экспорте исполняемого модуля
- 12.7 Ловушки сообщений Windows
- 12.8 Перехват событий буфера обмена
- Дополнительные источники информации о Delphi
| 2011 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2010 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2009 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2008 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2007 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2006 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2005 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2004 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2003 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2002 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2001 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 2000 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
| 1999 | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 |
- Компания по разработке программного обеспечения
- Услуги аутсорсинга в области программирования
- Как продлить срок службы картриджей
- Мошенничество во Всемирной Паутине. Осторожно: фишинг!
- Web-студия
- Как легально поднять уровень индекса цитирования.
- Мы реально сможем помочь вам в управлении предприятием
- Создание сайтов – популяризация вашего замысла
- Свой сайт. Управление ресурсом
- Семантическое ядро сайта или правила подбора ключевых фраз
- Программирование в среде Delphi 8 for .NET
- Практикум по Delphi для решения прикладных задач
- Фундаментальные алгоритмы и структуры данных в Delphi
- Delphi 6. Программирование на Object Pascal
- Delphi и технология COM
- Delphi в шутку и всерьез: что умеют хакеры
- Программирование в Delphi глазами хакера
- Delphi 2005. Секреты программирования
- Искусство создания компонентов Delphi
- Приемы программирования в Delphi на основе VCL
- Программирование баз данных в Delphi 7
- Программирование баз данных в Delphi
- Программирование в среде Delphi
- Программирование в Delphi 7
- Язык SQL в Delphi 5