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 за работой
Подключение
Закрываем соединение
Прием и передача файлов
Изменение каталогов для пересылки файлов
Передача файлов
Пересылка нескольких файлов
Асинхронная пересылка файлов
Положи на место!
Заключение
Глава 7. FTP-сервер
CsKeeper за работой
Конфигурирование KEEPER32 на вкладке Options
Вопросы безопасности
Где и как хранится конфигурация
Открываемся!
Вывод списка каталогов и файлов
Создание прослушивающего сокета
Как вас обслуживают?
Вход строго по одному
Мне, пожалуйста, вот это…
Сохраните, пожалуйста…
Закрыто на переучет
Трехмерные фрактальные ландшафты
Разделяй и сгибай
Проблема общих сторон
Треугольный массив
Изгибы
Сначала построить, потом выводить
Генерация и отображение ландшафта
Процедура Project()
Каркасный режим
Режим с заполнением
Режим со светотенью
Создавайте собственные миры
Проблемы TPersistent и несколько полезных советов
Читаем, чтобы записывать?
Разумные решения
Использование RDTSC для измерения временных интервалов на Pentium
Перетаскивание текста в списках
Строковые коллекции и списки
Установка приложений — дело рук самих приложений
Использование inheritedс переопределенными свойствами
Копирование экрана
Группы переключателей с индивидуальной блокировкой
Захват системной палитры
Работа с буфером как с потоком
Оперативное изменение подсказок
Использование макросов в редакторе Delphi
Потоки и TPersistent
Отображение перетаскиваемого объекта в Delphi2 и 3
Модели, виды и фреймы
Практическая реализация видов
Шаблоны компонентов и составные компоненты
Наследование форм
Почему интерфейсы?
Интерфейсные формы
Проблемы с подсчетом ссылок в Delphi3
Абстрактные, контролируемые инеконтролируемые виды
Редакторы моделей
Пример модели
Другие применения
Таинственный модуль Math
Три веских довода в пользу модуля Math
Динамические данные и статические объявления
Slice спешит на помощь
Создание компонента DBStatistics
Получение доступа к данным
Извлечение данных
Статистическая обработка
Тестирование компонента DBStatistics
Ошибки в модуле Math второй версии Delphi
Пропавшая функция Poly
Сводка функций модуля Math
Тригонометрические функции и процедуры
Арифметические функции и процедуры
Финансовые функции и процедуры
Статистические функции и процедуры
Динамический пользовательский интерфейс
Пример приложения «Настрой меня сам»
Строим «мини-Delphi» для пользователей
Перемещение элементов
Масштабирование элементов
Работа с контекстным меню
Delphi 3. Библиотека программиста
Отмена измененийИзменение порядка перебора элементов во время выполнения
Изменение других свойств
Изменение шрифтов во время выполнения
Сохранение внесенных изменений
Загвоздка: компоненты со свойствами-компонентами
Другой подход к потокам
На пути к гибким пользовательским интерфейсам
Иерархические структуры вреляционных базах данных
Иерархия «один-ко-многим»
Простейший пример иерархических рекурсивных данных
Использование TQuery для определения набора подчиненных записей
Вложенные рекурсивные иерархические данные
Перемещение по иерархии
Отображение данных
Использование данных
Поиск записей
Применение иерархических данных в запросах
Целостность структуры
Использование SQL
Проблема произвольной вложенности
Использование сохраненных процедур
Компоненты TreeData
Работа со свойствами элементов TreeData
Внутреннее строение компонентов TreeData
TreeDataComboBox
TreeDataListBox
TreeDataOutline и TreeDataUpdate
Главный секрет иерархий
Пропавший оракул
Вечером в конторе
Мольба о помощи
Пропажа
На другом краю города
Классическое перетаскивание
Перетаскивание: как это делается
Сброс груза
Упаковка таблиц Paradox и dBASE
Демонстрационная программа
Снова в конторе Эйса
Смысловые оттенки
Воспроизведение WAV-файла
Звук в приложении
Упущение
Улика, найденная в грязи
Масштабирование форм
Создание заставок
Эйс получает ответ
Глобальный доступ к данным в приложении
Потрясающее открытие
Прогулка по Win95
Внимание, сейчас вылетит птичка…
Модуль WalkStuf
Итоги
Возвращение оракула
Совместное использование обработчиков событий
Первая попытка
Тернистый путь познания
И последнее замечание…
Использование файлов в памяти
Перед началом
Запрет выполнения программы
Плавающие панели инструментов
Эйс выходит победителем
Эпилог
Delphi 3: библиотека программиста
Краткое содержание
Содержание
Новые возможности в Maya 6
Во многих случаях искусство требует трансцендентных способов выражения. Оно имеет внутреннюю гармонию. Для лучшего понимания задач, возникающих в процессе создания компьютерной графики, нужно осознать, с чем вы работаете и к чему вы стремитесь.Приступив к изучению Maya, вы начинаете знакомство с новым языком, с новым средством общения. Помните, что техника, которую вы получаете в руки, является лишь средством конечного выражения вашей фантазии. Поэтому насладитесь процессом работы.
Цифровые студии нанимают в первую очередь профессиональных художников, то есть людей, имеющих опыт в традиционных искусствах, например рисовании, живописи, фотографии или скульптуре. Соответственно, изучение компьютерной графики следует начать с обзора ключевых принципов искусства. Именно этому и посвящена данная глава. Всегда следует помнить, что компьютер, с которым вы работаете, — не более чем инструмент.
В последние десятилетия интерес к компьютерной графике значительно возрос. В немалой степени это является следствием появления на рынке мощных компьютеров по относительно низким ценам. Начиная с конца 90-х годов оборудование для создания анимации стало доступным для индивидуальных пользователей.
В результате многие художники добавили в сферу своих интересов компьютерную графику. Но перед тем как приступить к изучению конкретных инструментов, необходимо познакомиться с фундаментальными понятиями из этой области.
Термин компьютерная графика относится к любому изображению или набору изображений, полученных с помощью компьютера. Впрочем, данное словосочетание в этой книге будем применять в основном к трехмерным сценам, оставляя за кадром двумерные рисунки, получаемые в таких графических редакторах, как Photoshop или Paint. Большинство программ, предназначенных для производства двумерной графики, создают растровые изображения, то есть итоговый рисунок состоит из маленьких квадратиков, называемых пикселами. Приложения же для производства SD-графики создают векторные изображения, представляющие собой набор математических кривых. Это более мощный и действенный метод. Более подробную информацию о векторных и растровых изображениях вы получите чуть позднее.
Для пользователей, знакомых с такими приложениями, как Adobe Illustrator или Macromedia Flash, не является новостью тот факт, что эти программы также создают векторные изображения. В отличие от них, Maya и другие приложения для работы с SD-графикой умеют вычислять третье измерение, то есть добавлять сцене глубину. Объекты больше не рисуются на плоскости — они распределяются в пространстве. Это крайне усложняет работу художников и в корне отличается от того, с чем приходится сталкиваться при создании двумерных изображений.
Вступление
Управление Maya
Обзор проекта «Солнечная система»
Методы моделирования
Основы полигонального моделирования
Моделирование с помощью деформатора Lattice
Назначение материалов
Анимация по методу ключевых кадров
далее
далее
Содержание раздела