Математика | ||||
Рубенкинг Н. Р82 Турбо Паскаль для Windows: В 2-х томах. Т. 1. Пер. с англ.-М.: Мир, 1993,536 с, ил. ISBN 5-03-003029-8 ! ISBN 5-03-003028-Х В книге известного американского программиста рассмотрены вопросы программирования на языке Турбо Паскаль для Windows, являющемся в настоящий момент одним из наиболее развитых средств разработки и создания объектно-ориентированных приложений для Windows. Приводит^ччножество листингов и описаний программ. В томе 1 описаны инструментальные средства, входящие в пакет Turbo Pascal для Windows компании Borland, принципы объектно-ориентированного программирования, библиотека Object Windows, приемы эффективного программирования на TPW. Для программистов работающих на IBM PC АТ-совместимых компьютерах. | ||||
Предисловие переводчиков ПРЕДЛАГАЕМАЯ ЧИТАТЕЛЮ КНИГА ЯВЛЯЕТСЯ ОДНОЙ ИЗ ПЕРВЫХ в России публикаций, посвященных программированию на Турбо Паскале для Windows. Среда Windows уже завоевала огромную популярность у миллионов пользователей персональных компьютеров, сфъ фактически стандартом. Ведущие фирмы — разработчики программного обеспечения создают новые версии своих популярных пакетов для Windows, которая обладает хорошо продуманным графическим интерфейсом и предоставляет новые возможности по управлению системными ресурсами, задачами и т.д. Если вы работаете в операционной системе MS-DOS на компьютере с 386 или 486 процессором, то Windows дает вам возможность "загрузить" его работой с максимальной эффективностью. Кроме того необходимо отметить уникальные способности Windows по переносимости программного обеспечения. Создавая свою программу, вы больше не должны заботиться о том, будет ли она работать на персональном компьютере другой модели, печатать на другом принтере, корректно отображать данные на дисплее с другим разрешением. Наиболее полно вы сможете использовать перечисленные преимущества, программируя на Турбо Паскале для Windows. Данная книга будет полезна в первую очередь тем читателям, которые уже освоили программирование на Турбо Паскале в среде MS-DOS и теперь хотят расширить и упрочить свои знания в новой среде. Автор предполагает также, что читатели имеют элементарные знания о структуре и механизме работы операционной системы MS-DOS и среды Windows. В томе 1 книги описаны инструментальные средства, необходимые программисту работающему на Турбо Паскале для Windows: компилятор Turbo Pascal для Windows, отладчик Turbo Debugger, встроенный ассемблер BASM и редактор ресурсов The Resource Workshop; принципы обьектно-ориентированного программирования и их реализация на языке Турбо Паскаль*, воплотившаяся в библиотеке обьектов Object Windows; методы повышения эффективности программ. В томе 2 рассмотрены методы преобразования программ для Windows, написанных на языке Си, в программы на TPW; работа с цветовой палитрой и растровыми изображениями; обмен данными между приложениями; создание приложений, работающих в Реальном режиме. В приложениях к тому 2 приведены перечни сообщений об ошибках и функций API, которые в отличие от перечисленных в документации по TPW, классифицированы и сгруппированы по разделам. Хотим предупредить читателя, что ко времени выхода книги русская терминология в этой области еще не была окончательно разработана, поэтому набор ОГЛАВЛЕНИЕ Предисловие переводчиков............................................................................5 Введение.........................................................................................................7 О чем эта книга?...........................................................................................7 История развития Турбо Паскаля................................................................8 Турбо Паскаль от версии 1.0 до версии 3.0.................................................8 Версия 4.0 — переход к модульной структуре..........................................11 Версия 5.0. Появление двух отладчиков...................................................13 Турбо Паскаль 5.5 — Паскаль с объектами..............................................15 Прикладные шаблоны в версии 6.0........................................................... 16 Турбо Паскаль для Windows.................................,...................................18 ЧАСТЬ 1. ИНСТРУМЕНТАЛЬНЫЕ СРЕДСТВА.......................................21 Глава 1. Турбо Паскаль для Windows...........................................................21 Новая Интегрированная Среда Разработки................................................22 Новые возможности языка..........................................................................23 Директивы компилятора...........................................................................23 Дополнительные возможности, адаптирующие Турбо Паскаль к Windows.................................................................................................27 Новые модули...........................................................................................33 Настройка TPW для оптимального использования.....................................38 Правильная инсталляция программы.......................................................39 Разделение TPW.TPL для получения выигрыша в оперативной памяти.. 40 Установка опций программ.......................................................................40 Привыкание к среде Windows.....................................................................48 Глава 2. Отладчик Turbo Debugger...............................................................49 Отладчик Turbo Debugger для Windows.....................................................49 Представления кода и данных в Turbo Debugger для Windows.................51 Точки останова.........................................................................................61 Энтомология — типы ошибок...................................................................66 Распознавание общих симптомов.............................................................67 Процесс отладки.......................................................................................73 Утилита Turbo Profiler................................................................................79 Глава 3. BASM — встроенный ассемблер....................................................81 Когда следует использовать BASM?............................................................82 Применение BASM для решения задач на низком уровне........................84 Использование ВАБЦЬля повышения скорости выполнения программ... 85 Выгоды использованиУВАБМ по сравнению с INLINE-кодом..................85 Простой язык ассемблера для пользователей BASM...................................88 Соглашения при включении блоков ASM в программу на Паскале..........88 Переменные в BASM.................................................................................88 Выражения на BASM................................................................................90 Проверка типов в BASM......................................................,.....................90 Глобальные и локальные метки................................................................90 Регистры...................................................................................................91 Программирование выполнения обычных задач на BASM.......................95 Оптимизация программы с использованием BASM...................................100 Оптимизация "вручную" — лучший способ выполнения операции N DIV 10..................................................................................100 Еще один способ оптимизации "вручную" — избирательная сортировка...............................................................................................104 Дополнительные подпрограммы на BASM для модуля System..................106 Время, объем и ассемблерные подпрограммы..........................................106 Функции Hi и Lo для обработки переменных типа Byte и Longlnt..........106 Нахождение максимума и минимума......................................................ПО Сохранение переменных, имеющих только два значения, в одном бите..........................................................................................................115 Различные варианты функции FillChar для заполнения памяти.............125 Включение BASM в ваш набор инструментальных средств.......................129 Глава 4. Редактор ресурсов Resource Workshop..........................................131 Что такое ресурс........................................................................................131 Windows работает благодаря ресурсам.....................................................132 Ресурсы подобны потокам........................................................................132 Идентификаторы в ресурсах....................................................................132 Типы файлов ресурсов...............................................................................133 Описания ресурсов...................................................................................133 Файлы ресурсов.......................................................................................133 Файлы EXE, DLL, DRV и FON................................................................134 Файлы для отдельных ресурсов...............................................................134 Создание ресурсов.....................................................................................134 Создание меню и соответствующих акселераторов.................................135 Картинки на экране — иконки, курсоры и растровые изображения........141 Изменение курсора..................................................................................144 Искусство создания растровых изображений...........................................146 Шрифты — это больше, чем просто символы..........................................149 Символьные таблицы облегчают преобразование...................................154 Взаимодействие с пользователем через диалоговые окна........................156 Использование RW для откомпилированных программ............................166 Ограничения использования RW для модификации исполняемых файлов.....................................................................................................167 Задание новой иконки для Менеджера Программ...................................167 Создавайте ваши ресурсы..........................................................................168 ЧАСТЬ 2. ОБЪЕКТНО - ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ............................................................................169 Глава 5. Объектно-ориентированное программирование..........................169 Что такое объектно-ориентированное программирование.........................170 Совместное использование кода и данных...............................................170 Повторное использование объектов.........................................................171 Скрытие объектов....................................................................................172 Объектно-ориентированное программирование — это модульность, надежность и возможность многократного использования........................173 Модульность................................................:...........................................173 Надежность..............................................................................................174 Возможность многократного использования............................................174 Предшественники Турбо Паскаля с объектами.........................................175 Симула и Смолток — первые объектно-ориентированные языки...........176 Object Pascal и Си++ — непосредственные предшественники..................176 Словарь терминов объектно-ориентированного программирования.........177 Что такое объекты....................................................................................177 Раннее и позднее связывание..................................................................178 Дерево семейства объекта........................................................................178 Виды объектов..........................................................................................179 Методы — активная сторона объектов.....................................................179 Объектные ключевые слова в Турбо Паскале............................................180 Зарезервированные слова........................................................................180 Процедура обработки ошибок......,...............,...........................................183 Параметр Self...........................................................................................183 Стандартные директивы Virtual и Private................................................185 Подробно об инкапсуляции, наследовании и полиморфизме....................187 Инкапсуляция.......................................................................,..................187 Наследование...........................................................................................188 Полиморфизм..........................................................................................189 Первоначальное изучение полиморфных окон..........................................197 TFramel — простое окно с черной рамкой..............................................197 TFrame2 — цветное окно.........................................................................199 TFrame3 — заполнение окна...................................................................200 TFrame4 — текст в окне..........................................................................201 Связывание и отображение окон.............................................................203 Используйте объекты.................................................................................211 Глава 6. Библиотека Object Windows...........................................................213 Программы, управляемые сообщениями...................................................214 Событийно-управляемое и структурное программирование...................215 Сообщения Windows................................................................................215 OWL и Turbo Vision........................'...........................................................215 Приложение Turbo Vision........................................................................216 Приложение OWL....................................................................................222 Отличия между OWL и TV.......................................................................227 Типы программ OWL.................................................................................228 Программы, основанные на окнах диалога..............................................229 Построение списка выбора.......................................................................232 Программы, основанные на окнах...........................................................241 "Крестики-нолики" в Windows.................................................................244 Программы Многооконного Интерфейса Приложения............................261 Программа просмотра каталогов DirView................................................265 Проблема API разрешима..........................................................................275 ЧАСТЬ 3. ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ.................................277 Глава 7. Создание эффективных программ.................................................277 Понятие эффективного кода......................................................................279 Проверка размера программы..................................................................279 Проверка скорости программы................................................................281 Нотация "большого О".............................................................................281 Разумное использование вашего времени................................................282 Наглядность программ.............................................................................283 Примеры эффективного программирования..............................................283 Байты и память........................................................................................284 Процедуры и память................................................................................285 Проводите проверки по порядку..............................................................287 Гибкие, но медленные подпрограммы работы со строками......................289 Использование наборов................;..........................................................293 Поиск.......................................................................................................298 Рекурсия и эффективность........................................................................302 Рекурсия и итерация................................................................................303 Устранение рекурсии...............................................................................304 Программа FoneWord — рекурсия в действии.........................................306 Создание эффективной функции — этап обучения...................................312 Основная концепция................................................................................313 Использование встроенных функций......................................................314 Использование оператора CASE..............................................................315 Не нужно вычислять — нужно искать!....................................................319 Использование Windows..........................................................................320 Подведение итогов...................................................................................326 Советы по эффективному программированию..........................................326 Как писать эффективные программы........................................................330 Глава 8. Уровни в программировании на TPW...........................................331 Распахните окна........................................................................................332 Краткая история......................................................................................332 Почему Windows?....................................................................................334 Основы Windows......................................................................................335 Программирование с использованием WinCrt...........................................337 Подробнее о WinCrt.................................................................................338 Максимизация окна WinCrt.....................................................................338 WriteLn и WriteBuf...................................................................................341 Запись содержимого окна WinCrt в файл.................................................345 WinCrt и графические приложения Windows...........................................347 TPW без OWL.............................................................................................351 Программы без главного окна..................................................................351 Библиотеки Динамической Компоновки.................................................359 Утилита гашения экрана.........................................................................367 Подклассы в Windows..............................................................................384 "Золотые прииски" Windows......................................................................388 ЧАСТЬ 4. ПРИМЕРЫ ЭФФЕКТИВНЫХ ПРОГРАММ.............................389 Глава 9. Опрос Windows...............................................................................389 Windows — открытая книга.......................................................................389 Функции API, сообщающие подробности о Windows.................................390 Измеряем окна — метрики системы........................................................390 Возможности устройств...........................................................................394 Опрос Буфера Обмена................................................................................401 Получение системных цветов....................................................................403 Цветной статический элемент управления..............................................410 Заполнение диалога SysColor..................................................................411 Использование стандартных курсоров.......................................................411 Тестирование стандартных растровых изображений.................................416 Системная информация Windows..............................................................423 Диалог для битовых флагов.....................................................................423 Окна диалога программы WinTell............................................................427 Программа WinTell..................................................................................435 Обследование Windows..............................................................................438 Главное окно диалога...............................................................................439 Запуск программы Inquisitor....................................................................461 Перекрестный допрос Windows..................................................................461 Глава 10. Преобразование программ ТР6 для использования в TPW........463 Описание программы-примера..................................................................464 BASM-подпрограммы для математических операций над цифрами........464 Построение функций для математической обработки числовых строк ...465 Минимальные преобразования для использования в TPW........................467 Модуль CalcFuncs — не требуется никаких преобразований..................467 Преобразование основной программы.....................................................474 Ограничения программы Calc..................................................................478 Увеличение диапазона с помощью PChar..................................................479 Цена использования PChar......................................................................480 Преобразование функции Sub.................................................................481 Преобразование остальных функций......................................................485 Специализированная функция суммирования........................................496 Расстановка и удаление запятых.............................................................497 Программа Calc, ориентированная на строки PChar...............................497 Выполнение в стиле Windows....................................................................502 Объект Application программы Huge........................................................512 Объект THuge..........................................................................................512 Выполнение программы Huge..................................................................514 Расширение возможностей функций числовой обработки строк.............514 Делайте ваше преобразование настоящим!...............................................515 Предметный указатель................................................................................517 Цена: 250руб. |
||||