Delphi 3. Библиотека программиста

Delphi 3. Библиотека программиста


От редактора перевода
Предисловие Глава 1. 32-разрядные консольные приложения Консольные приложения Фильтры Консольные приложения на Delphi Hello, Delphi Сохранение шаблона программы Консольный ввод/вывод Программа-фильтр на Delphi Базовая программа-фильтр Обработка командной строки Параметры командной строки


Универсальный анализатор командных строк Тестирование модуля CmdLine Несколько слов о структуре программы Файловые операции чтения/записи Использование шаблона Filter Критика Глава 2. 32-разрядные DLL в Delphi - когда, зачем и как Что такое DLL и зачем они нужны? Как это сделать? Создание DLL Вызов функций DLL Присоединение DLL на стадии выполнения Где Windows ищет DLL DLL: недостатки и предостережения Создание форм в DLL Гибкое кодирование Создание текстового редактора Совместное использование памяти в приложениях Переменная DLLProc Продолжаем! Глава 3. Перетаскивание: как это делается в Windows Перетаскивание Что делать с кодом Windows? Обработка сообщений Windows Нестандартные элементы Субклассирование Определение интерфейса Реализация нового интерфейса Снова о субклассировании Глава 4. Перетаскивание: как это делается в OLE Что такое OLE? Наследование OLE и TInterfacedObject Требования к перетаскиванию OLE Обязанности клиента Как работает программа Что дальше? Хочу быть сервером! Обязанности сервера Требования к интерфейсу IDropSource Интерфейс IDataObject хранит данные Реализация сервера OLE! Глава 5. Компонент Winsock в Delphi Что такое Winsock? Изучаем CsSocket Приложение RESOLVER32 Как меня зовут? Какой у тебя адрес? Как тебя зовут? Асинхронное получение адреса Кто находится по этому адресу? Отмена операции WSAAsync Преобразование портов и сервисов Поиск сервиса Преобразование протоколов Использование свойства Tag Стоит ли блокировать? Глава 6. CsShopper: FTP-клиент Вас обслуживают? Компонент CsShopper Организация вывода SHOPPER32 за работой Профили SHOPPER32 Подключение Закрываем соединение Прием и передача файлов Изменение каталогов для пересылки файлов Передача файлов Пересылка нескольких файлов Асинхронная пересылка файлов Положи на место! Заключение Глава 7. FTP-сервер CsKeeper за работой Конфигурирование KEEPER32 на вкладке Options Вопросы безопасности Где и как хранится конфигурация Открываемся! Вывод списка каталогов и файлов Создание прослушивающего сокета Как вас обслуживают? Вход строго по одному Мне, пожалуйста, вот это… Сохраните, пожалуйста… Закрыто на переучет Глава 8. Трехмерные фрактальные ландшафты Разделяй и сгибай Проблема общих сторон Треугольный массив Изгибы Сначала построить, потом выводить Генерация и отображение ландшафта Процедура Project() Каркасный режим Режим с заполнением Режим со светотенью Создавайте собственные миры Глава 9. Проблемы TPersistent и несколько полезных советов Читаем, чтобы записывать? Разумные решения Использование RDTSC для измерения временных интервалов на Pentium Перетаскивание текста в списках Строковые коллекции и списки Установка приложений - дело рук самих приложений Использование inherited с переопределенными свойствами Копирование экрана Группы переключателей с индивидуальной блокировкой Захват системной палитры Работа с буфером как с потоком Оперативное изменение подсказок Использование макросов в редакторе Delphi Потоки и TPersistent Отображение перетаскиваемого объекта в Delphi 2 и 3 Глава 10. Модели, виды и фреймы Практическая реализация видов Шаблоны компонентов и составные компоненты Наследование форм От внедренных форм к видам Почему интерфейсы? Интерфейсные формы Проблемы с подсчетом ссылок в Delphi 3 Абстрактные, контролируемые и неконтролируемые виды Редакторы моделей Пример модели Другие применения Глава 11. Таинственный модуль Math Три веских довода в пользу модуля Math Динамические данные и статические объявления Slice спешит на помощь Создание компонента DBStatistics Получение доступа к данным Локальное хранение данных Извлечение данных Статистическая обработка Тестирование компонента DBStatistics Ошибки в модуле Math второй версии Delphi Пропавшая функция Poly Сводка функций модуля Math Тригонометрические функции и процедуры Арифметические функции и процедуры Финансовые функции и процедуры Статистические функции и процедуры Глава 12. Динамический пользовательский интерфейс Пример приложения «Настрой меня сам» Строим «мини-Delphi» для пользователей Перемещение элементов Масштабирование элементов Работа с контекстным меню Отмена изменений Изменение порядка перебора элементов во время выполнения Изменение других свойств Изменение свойств в инспекторе объектов Сохранение внесенных изменений Загвоздка: компоненты со свойствами-компонентами Другой подход к потокам На пути к гибким пользовательским интерфейсам Глава 13. Иерархические структуры в реляционных базах данных Иерархия «один-ко-многим» Простейший пример иерархических рекурсивных данных Использование TQuery для определения набора подчиненных записей Вложенные рекурсивные иерархические данные Перемещение по иерархии Отображение данных Использование данных Поиск записей Применение иерархических данных в запросах Целостность структуры и циклические ссылки Использование SQL Проблема произвольной вложенности Использование сохраненных процедур Компоненты TreeData Работа со свойствами элементов TreeData Внутреннее строение компонентов TreeData TreeDataComboBox TreeDataListBox TreeDataOutline и TreeDataUpdate Главный секрет иерархий Глава 14. Пропавший оракул Вечером в конторе Мольба о помощи Пропажа На другом краю города Классическое перетаскивание Перетаскивание: как это делается Сброс груза Упаковка таблиц Paradox и dBASE Демонстрационная программа Снова в конторе Эйса Смысловые оттенки Воспроизведение WAV-файла Звук в приложении Упущение Глава 15. Улика, найденная в грязи Масштабирование форм Создание заставок Эйс получает ответ Глобальный доступ к данным в приложении Потрясающее открытие Прогулка по Win95 Внимание, сейчас вылетит птичка… Модуль WalkStuf Итоги Глава 16. Возвращение оракула Совместное использование обработчиков событий Первая попытка Тернистый путь познания И последнее замечание… Использование файлов в памяти Перед началом Запрет выполнения программы Плавающие панели инструментов Эйс выходит победителем Эпилог Глава 17. Нестареющая проблема Сложная ситуация Суть проблемы Конструирование DLL Инициализация Сигналы от семафора Завершение Функции DLL Создание компонента-отправителя Создание компонента-получателя Субклассирование окна-владельца Другие интересные моменты Создание демонстрационной программы Receiver Создание демонстрационной программы Sender Внезапное пробуждение



Содержание раздела