Рубенкинг Н. Р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


Hosted by uCoz