Это самоучитель. То есть написана книга с расчетом на то, что, изучив ее без посторонней помощи, вы сможете без посторонней помощи составлять программы на Visual Basic и выполнять их на компьютере тоже без посторонней помощи. Автор приложил специальные усилия для того, чтобы изложение было понятным. Все объясняется на примерах. Рассмотрение почти каждой темы заканчивается задачами на составление программы (всего таких задач – 132). Подавляющее большинство задач снабжено ответами, так что читатель может эффективно контролировать усвоение материала.
Если вы хотите научиться программировать, но никогда в жизни не написали ни одной программы и плохо представляете, как компьютер устроен, читайте эту книгу с начала до конца – вы и программировать научитесь, и об устройстве компьютера узнаете все необходимое. Я хочу, чтобы прочтя книгу и решив все задачи, вы могли с удовлетворением сказать себе – Да, я научился программировать, я – программист!
Если вам интересно программировать игры, то знайте, что моя книга именно на это и ориентирована. Изучив ее, вы будете вполне готовы к созданию собственных игр типа морского боя, крестиков-ноликов, танковой битвы (где множество танков движутся по квадратному полю), стрелялок и т.п.
Предположим, что вы школьник или студент, первый год изучающий программирование на Visual Basic, и вам предстоит сдавать по нему экзамен. Вы чувствуете, что вы «на нуле» и НИЧЕГО НЕ ПОНИМАЕТЕ и даже не знаете, с чего начать. В этом случае, изучив книгу и выполнив приведенные в ней задания, вы будете прочно знать основы Visual Basic. Достаточно ли этого?. Ведь Visual Basic – это богатая новогодняя елка, на которой великое множество игрушек. В моей книге рассказано все, что нужно для новичка: про ствол и главные ветви елки, про то, как игрушки крепятся к веткам, рассмотрены самые интересные игрушки. Однако, где гарантия, что ваш преподаватель не предпочитает другие? Может быть, взять книгу потолще? Уверяю вас, если вы возьмете любую самую толстую книгу по Visual Basic, то и там наверняка не найдете всего, что от вас требуется. Игрушек в Visual Basic слишком много даже для трехтомника. Поэтому сначала изучите основы Visual Basic по книге вроде моей. Затем или постарайтесь найти толстую книгу, в которой рассказано конкретно про то, что вам нужно, или воспользуйтесь для этого системой помощи (Help). Сразу же читать толстую книгу затруднительно – обычно она не предназначена для начинающих, если даже и утверждает обратное. Впрочем, толстая книга может и не понадобиться – в моей книге я постарался рассмотреть все, что разумный преподаватель может спросить на первом году обучения.
Если вы опытный программист в средах визуальной разработки программ, но хотите изучить еще и Visual Basic, вам эта книга не нужна - изложение рассчитано на начинающих.
При создании книги очень важно было решить – какие выбрать примеры, на основе которых строить изложение материала. Здесь действует суровое правило: плохие примеры – плохая книжка, хорошие примеры – хорошая книжка, скучные примеры – скучная книжка, интересные примеры – интересная книжка.
Вот солидная и популярная тема для примеров – системы управления базами данных. Однако надолго интересной она может стать только для тех, кто имеет уже перед собой задачу эффективного управления большими и сложными базами данных, а таких читателей меньшинство. Поэтому базам данных посвящено ровно столько материала, сколько нужно, чтобы читатель понял, что это такое, сам мог создать базу данных, проделать с ней основные операции и затем понять толстые книжки, базам данных посвященные.
Я решил, что самой простой и интересной темой для примеров будут игры и другие занимательные задачи. Этот путь мне кажется самым веселым. А результат - ничуть не хуже, чем если бы мы занимались базами данных или чем-нибудь другим серьезным. Это не значит, что мы все время будем забавляться и играть. В программировании есть вещи, которые удобнее иллюстрировать на неигровых примерах.
Вот задачи на программирование, решенные в книге:
· Игра "Автогонки"
· Игра "Сачок", где вы должны ловить множество движущихся шариков
· Игра в «Угадай число»
· Задача: как поставить пароль на свою программу, чтобы никто, кроме вас, не мог ее запустить
· Задача: как запрограммировать сохранение в играх
· Собственный калькулятор (при желании - с вашей фотографией, музыкой, прыгающими кнопками и прочими «приколами»)
· Собственный будильник-секундомер
· Воспроизведение музыкальных произведений и вашего голоса.
· Воспроизведение видео.
· Собственный мультфильм
· Создание своих рисунков и узоров (круги на воде, звездное небо, мыльные пузыри, компакт-диск, башня, ковер и тому подобное)
· Задача: как в Интернете зайти в чужой компьютер (предварительно постучавшись)
· Задача: как в Интернете поместить на свою страничку игру
· Собственный графический редактор
· Зашифровка и расшифровка секретных файлов (объяснена простейшая шифровка и расшифровка)
· Определитель быстроты реакции вашей и ваших друзей
· Программа, определяющая, "экстрасенс ли вы"
Вот примеры задач, предлагаемые для самостоятельного решения:
· Задача: как изготовить собственный компакт-диск с вашими любимыми хитами
· Простейшая игра-стрелялка "Торпедная атака"
· Игра в крестики-нолики на бесконечном поле (пять в линию)
· Игра в морской бой
· Игра «Танковый бой» на неподвижном поле (вид сверху), где одновременно движутся и стреляют маленькие фигурки ваших и вражеских танков
Если вы думаете, что начав изучать программирование не с Visual Basic, а с Delphi или C++, вы быстрее и легче придете к программированию более сложных игр, то глубоко ошибаетесь. Если бы вы обратились за советом, с чего начать, к профессиональному программисту, который всю жизнь писал игры на C++, то в ответ почти наверняка услышали бы: «Начни с Бэйсика, дружок!»
Предисловие_________________________________________________________________________ 3
0.1. Кому предназначена эта книга?___________________________________________________________________ 3
0.2. Задачи, игры._________________________________________________________________________________ 3
0.3. Почему Visual Basic?___________________________________________________________________________ 4
0.4. Какой вам нужен компьютер и какая версия Visual Basic?______________________________________________ 5
0.5. Краткое содержание с рекомендациями____________________________________________________________ 5
Часть I. Программирование без
программирования____________ 7
Глава 1. Первые шаги_________________________________________________________________ 8
1.1. Что такое программа?__________________________________________________________________________ 8
1.2. Не программа, а проект_________________________________________________________________________ 9
1.3. Первые шаги - за ручку_________________________________________________________________________ 9
Запускаем Visual Basic_____________________________________________________________________ 9
Размещаем объекты на форме_____________________________________________________________ 10
Пишем программу_______________________________________________________________________ 11
Сохранение, создание, открытие, закрытие проекта___________________________________________ 12
Как реагировать на сообщения Visual Basic об ошибках________________________________________ 13
Глава 2. Проект - "Калькулятор"______________________________________________________ 15
2.1. Задание на проект_____________________________________________________________________________ 15
2.2. Проектируем________________________________________________________________________________ 15
2.3. Свойства форм и элементов управления___________________________________________________________ 16
2.4. Имена и надписи_____________________________________________________________________________ 16
2.5. Программируем. Проект готов__________________________________________________________________ 17
2.6. Кое-какие другие свойства объектов______________________________________________________________ 18
2.7. Помещаем фото на калькулятор_________________________________________________________________ 19
2.8. Музыка в проекте_____________________________________________________________________________ 19
Музыка в кнопках________________________________________________________________________ 20
Проигрывание аудиодисков________________________________________________________________ 21
Плеер ваших любимых хитов_______________________________________________________________ 21
2.9. Система координат____________________________________________________________________________ 21
2.10. Вывод сообщений - MsgBox____________________________________________________________________ 22
2.11. Меню пользователя__________________________________________________________________________ 23
2.12. Кино в проекте______________________________________________________________________________ 24
2.13. Кое-что необходимое напоследок_______________________________________________________________ 25
Комментарии___________________________________________________________________________ 25
Перенос длинного оператора на следующую строку____________________________________________ 25
Запись нескольких операторов в одной строке________________________________________________ 26
Превращаем наш калькулятор в независимую программу________________________________________ 26
Как мы в дальнейшем улучшим наш калькулятор_______________________________________________ 26
Глава 3. Работа в среде Visual Basic_____________________________________________________ 27
3.1. Что нужно знать и уметь перед тем, как сесть за
компьютер____________________________________________ 27
3.2. Инсталляция Visual Basic_______________________________________________________________________ 27
3.3. Порядок работы над проектом в Visual Basic________________________________________________________ 28
3.4. Загрузка Visual Basic и выход из него______________________________________________________________ 28
3.5. Сохранение проекта на диске. Загрузка проекта с диска_______________________________________________ 28
3.6. Окна среды Visual Basic________________________________________________________________________ 30
3.7. Главное меню Visual Basic______________________________________________________________________ 31
Панель инструментов____________________________________________________________________ 32
3.8. Перенос вашего проекта на другие компьютеры_____________________________________________________ 32
Часть II. Программирование на Visual Basic – первый уровень__ 35
Глава 4. Переменные величины_______________________________________________________ 36
4.1. Переменные величины. Оператор присваивания____________________________________________________ 36
4.2. Объявление переменных величин________________________________________________________________ 38
InputBox_______________________________________________________________________________ 38
Типы данных____________________________________________________________________________ 39
Переменные величины и память_____________________________________________________________ 40
Что делает оператор присваивания с памятью_______________________________________________ 40
Режим прерывания. Пошаговый режим выполнения программы__________________________________ 41
4.3. Еще об именах_______________________________________________________________________________ 43
4.4. Математика. Запись арифметических выражений____________________________________________________ 43
4.5. Типы данных и точность вычислений_____________________________________________________________ 44
Integer и Long - целые числа________________________________________________________________ 44
Single и Double -
десятичные дроби_________________________________________________________ 45
Целые числа или десятичные дроби?
Числовой тип Currency_____________________________________ 45
Не очень устаревшие способы
объявления переменных__________________________________________ 45
Форматирование результата______________________________________________________________ 46
4.6. Порядок создания простого вычислительного проекта________________________________________________ 47
4.7. Строковые переменные________________________________________________________________________ 49
4.8. Как выводить информацию оператором Print_______________________________________________________ 49
4.9. Диалог с компьютером________________________________________________________________________ 51
4.10. Как выводить информацию в текстовое поле_______________________________________________________ 52
4.11. Оглядимся вокруг____________________________________________________________________________ 52
Глава 5. Разветвляющиеся программы__________________________________________________ 53
5.1. Что такое выбор (ветвление)_____________________________________________________________________ 53
5.2. Условный оператор If или как компьютер делает выбор______________________________________________ 53
5.3. Правила записи однострочного оператора If________________________________________________________ 55
5.4. Случайные величины__________________________________________________________________________ 56
5.5. Многострочный If____________________________________________________________________________ 57
5.6. Ступенчатая запись программы__________________________________________________________________ 59
5.7. Вложенные операторы If. Логические операции и выражения__________________________________________ 59
Вложенные операторы If__________________________________________________________________ 59
Логические операции_____________________________________________________________________ 60
Логические выражения___________________________________________________________________ 60
5.8. Оператор варианта Select Case___________________________________________________________________ 61
5.9. Улучшаем калькулятор.________________________________________________________________________ 63
Проверка ввода чисел в текстовое поле______________________________________________________ 63
Запрет деления на ноль___________________________________________________________________ 64
Ставим пароль на калькулятор_____________________________________________________________ 64
5.10. Функция MsgBox____________________________________________________________________________ 65
Глава 6. Циклические программы_____________________________________________________ 67
6.1. Оператор перехода GoTo. Цикл. Метки____________________________________________________________ 67
Движение объектов по экрану_____________________________________________________________ 69
6.2. Выход из цикла с помощью If____________________________________________________________________ 69
6.3. Операторы цикла
Do__________________________________________________________________________ 70
Оператор Do …. Loop____________________________________________________________________ 70
Оператор Do …. Loop While_______________________________________________________________ 71
Оператор Do …. Loop Until________________________________________________________________ 71
Оператор Do While …. Loop_______________________________________________________________ 72
Оператор Do Until …. Loop________________________________________________________________ 72
Разница между вариантами операторов Do__________________________________________________ 73
Оператор Exit Do________________________________________________________________________ 73
Устаревший оператор цикла______________________________________________________________ 74
6.4. Оператор цикла For___________________________________________________________________________ 74
Оператор Exit For_______________________________________________________________________ 75
6.5. Оглядимся вокруг_____________________________________________________________________________ 76
Глава 7. Отладка программы__________________________________________________________ 77
7.1. Типы ошибок. Сообщения об ошибках.____________________________________________________________ 77
7.2. Отладка программы. Окна отладки. Режимы отладки._________________________________________________ 77
Глава 8. Типичные маленькие программы______________________________________________ 81
8.1. Вычислительная циклическая программа__________________________________________________________ 81
8.2. Роль ошибок_________________________________________________________________________________ 81
8.3. Счетчики____________________________________________________________________________________ 82
8.4. Сумматоры__________________________________________________________________________________ 83
8.5. Вложение циклов в разветвления и наоборот________________________________________________________ 84
8.6. Вложенные циклы____________________________________________________________________________ 84
8.7. Поиск максимального из чисел__________________________________________________________________ 85
Глава 9. Графика____________________________________________________________________ 87
9.1. Объекты. Их свойства, их события, их методы_______________________________________________________ 87
9.2. Три способа рисовать_________________________________________________________________________ 88
9.3. Первый способ - Загрузка в Visual Basic готовых изображений_________________________________________ 89
Типы графических файлов_________________________________________________________________ 89
Регулировка размеров изображений________________________________________________________ 89
9.4. Второй способ - Объекты Line и Shape____________________________________________________________ 91
9.5. Взаимное перекрытие объектов. Метод ZOrder______________________________________________________ 91
9.6. Цвет в Visual Basic____________________________________________________________________________ 92
9.7. 3 способ - Рисуем при помощи графических методов_________________________________________________ 93
Метод Pset_____________________________________________________________________________ 95
Метод Line_____________________________________________________________________________ 95
Метод Circle___________________________________________________________________________ 96
CurrentX,
CurrentY, Step__________________________________________________________________ 96
Метод Cls______________________________________________________________________________ 97
Метод Point____________________________________________________________________________ 97
Метод PaintPicture______________________________________________________________________ 97
9.8. Используем в рисовании переменные величины____________________________________________________ 98
9.9. Использование случайных величин при рисовании__________________________________________________ 100
Глава 10. Процедуры________________________________________________________________ 101
10.1. Зачем нужны процедуры пользователя__________________________________________________________ 101
10.2. Операторы Stop, End и Exit
Sub_____________________________________________________________ 103
10.3. Переменные вместо чисел____________________________________________________________________ 105
10.4. Константы_________________________________________________________________________________ 106
10.5. Процедуры с параметрами____________________________________________________________________ 106
Типы параметров_______________________________________________________________________ 108
Глава 11. Работа с таймером, временем, датами_________________________________________ 110
11.1. Тип данных Date____________________________________________________________________________ 110
Функции для работы с датами и временем суток_____________________________________________ 111
11.2. Таймер___________________________________________________________________________________ 112
Цикл без цикла_________________________________________________________________________ 112
11.3. Проект "Будильник-секундомер"_______________________________________________________________ 113
Знакомимся с типом Boolean______________________________________________________________ 116
Делаем будильник_______________________________________________________________________ 116
Знакомимся с перечислимым типом данных__________________________________________________ 119
Таймер и моделирование_________________________________________________________________ 121
11.4. Анимация_________________________________________________________________________________ 121
Анимация при помощи графических методов_________________________________________________ 121
Движем объекты_______________________________________________________________________ 122
"Движем" свойства объектов____________________________________________________________ 123
Мультфильм___________________________________________________________________________ 123
О прозрачном цвете_____________________________________________________________________ 124
Глава 12. Работа с мышью и клавиатурой______________________________________________ 125
12.1. Работа с мышью____________________________________________________________________________ 125
События MouseDown и MouseUp__________________________________________________________ 125
Событие MouseMove____________________________________________________________________ 126
Мышь рисует__________________________________________________________________________ 127
12.2. Работа с клавиатурой________________________________________________________________________ 127
События KeyDown и KeyUp_______________________________________________________________ 127
12.3. Проект - Гонки (игра)________________________________________________________________________ 128
12.4. Задание на игру “Торпедная атака______________________________________________________________ 135
Часть III. Программирование на Visual Basic - второй уровень_ 136
Глава 13. Массивы__________________________________________________________________ 137
13.1. Переменные с индексами_____________________________________________________________________ 137
13.2. Одномерные массивы переменных величин______________________________________________________ 137
13.3. Двумерные массивы_________________________________________________________________________ 139
13.4. Какие бывают массивы_______________________________________________________________________ 140
13.5. Использование массивов при программировании игр______________________________________________ 140
13.6. Массивы элементов управления________________________________________________________________ 142
Глава 14. Разные звери в одном ковчеге_______________________________________________ 144
14.1. Тип Variant________________________________________________________________________________ 144
14.2. Пользовательский тип данных__________________________________________________________________ 144
14.3. Коллекции_________________________________________________________________________________ 146
Объектные переменные__________________________________________________________________ 146
Коллекции_____________________________________________________________________________ 147
14.4. Рамка (Frame)______________________________________________________________________________ 148
Глава 15. Элементы управления______________________________________________________ 149
15.1. Флажок (CheckBox)__________________________________________________________________________ 149
15.2. Переключатель (OptionButton)_________________________________________________________________ 150
15.3. Полосы прокрутки
(HScrollBar
и VScrollBar)_____________________________________________________ 151
15.4. Slider, ProgressBar___________________________________________________________________________ 151
15.5. Список (ListBox) и поле
со списком (ComboBox)___________________________________________________ 152
Список (ListBox)________________________________________________________________________ 152
ComboBox (вариант "Раскрывающийся список")_____________________________________________ 152
ComboBox (вариант "Простой Combo")____________________________________________________ 153
ComboBox (вариант "Раскрывающийся Combo")_____________________________________________ 153
Свойства, события и методы элементов управления ListBox и ComboBox._________________________ 153
15.6. Знакомство с другими элементами управления____________________________________________________ 154
Элементы MonthView и DTPicker__________________________________________________________ 154
UpDown_______________________________________________________________________________ 155
Элементы DriveListBox, DirListBox, FileListBox_______________________________________________ 155
RichTextBox____________________________________________________________________________ 156
ListView и TreeView______________________________________________________________________ 156
Закладка (TabStrip) и строка состояния (StatusBar)___________________________________________ 156
MSChart______________________________________________________________________________ 156
PictureClip____________________________________________________________________________ 156
ImageCombo___________________________________________________________________________ 156
MSComm______________________________________________________________________________ 156
Глава 16. Строки, файлы, обработка ошибок___________________________________________ 157
16.1. Строки____________________________________________________________________________________ 157
Таблица ASCII__________________________________________________________________________ 158
16.2. Файлы____________________________________________________________________________________ 158
16.3. Функция Shell______________________________________________________________________________ 162
16.4. Обработка ошибок. Оператор On Error___________________________________________________________ 162
Глава 17. Функции. Параметры процедур и функций____________________________________ 164
17.1. Функции. Параметры функций_________________________________________________________________ 164
17.2. Локальные переменные______________________________________________________________________ 165
Статические переменные________________________________________________________________ 167
17.3. Массивы как параметры______________________________________________________________________ 167
17.4. Передача параметров по ссылке и по значению___________________________________________________ 167
17.5. Индукция. Рекурсия_________________________________________________________________________ 168
17.6. Сортировка________________________________________________________________________________ 170
17.7. Объекты, как параметры процедур______________________________________________________________ 171
Глава 18. Проект, который выглядит солидно__________________________________________ 172
18.1. Из чего бывает "сделано" приложение Windows___________________________________________________ 172
18.2. Элемент управления CommonDialog_____________________________________________________________ 172
Пример открытия и сохранения файлов с помощью элемента Common Dialog______________________ 173
18.3. Панель инструментов Toolbar__________________________________________________________________ 174
18.4. Проект - "Графический редактор"______________________________________________________________ 176
Глава 19. Проекты из нескольких форм и модулей______________________________________ 179
19.1. Работа с несколькими формами________________________________________________________________ 179
19.2. Модули кода_______________________________________________________________________________ 180
19.3. Структура проекта. Окно Project Explorer._________________________________________________________ 180
Работа с несколькими модулями___________________________________________________________ 180
Работа с несколькими проектами__________________________________________________________ 181
19.4. Зоны видимости____________________________________________________________________________ 181
Зоны видимости переменных______________________________________________________________ 181
Зоны видимости процедур________________________________________________________________ 182
Зоны видимости констант и типов________________________________________________________ 182
19.5. Затенение_________________________________________________________________________________ 183
19.6. Префиксы имен____________________________________________________________________________ 184
19.7. К чему все эти сложности?____________________________________________________________________ 184
Глава 20. Объекты пользователя_____________________________________________________ 187
20.1. Инкапсуляция - "Объект в футляре"_____________________________________________________________ 187
20.2. Игра "Сачок". Постановка задачи_______________________________________________________________ 188
20.3. Таймер и общая механика работы проекта_______________________________________________________ 189
20.4. Этап проектирования________________________________________________________________________ 189
20.5. Порядок создания объектов___________________________________________________________________ 189
20.6. Создаем ловца_____________________________________________________________________________ 190
Объект пользователя - мозг без тела_______________________________________________________ 190
Как создать объект по его классу_________________________________________________________ 190
20.7. Создаем шар. Завершаем проект_______________________________________________________________ 193
20.8. Еще об объектах____________________________________________________________________________ 196
Форма как объект______________________________________________________________________ 196
Свойства только для чтения______________________________________________________________ 196
Наследование, полиморфизм______________________________________________________________ 197
Глава 21. Visual Basic и Интернет_____________________________________________________ 198
0.1. Понятие об Интернет, Web-станицах и языке HTML_________________________________________________ 198
21.2. Создание Web-страницы______________________________________________________________________ 198
21.3. Сценарий на Web-странице___________________________________________________________________ 199
21.4. Доступ к локальному диску___________________________________________________________________ 201
21.5. Собственный броузер________________________________________________________________________ 203
Глава 22. Visual Basic и базы данных__________________________________________________ 204
22.1. Понятие о базах данных_______________________________________________________________________ 204
22.2. Создаем заготовку базы данных при помощи Visual Data Manager_____________________________________ 205
22.3. Работа с базами данных. Элементы управления Data и DBGrid. Язык SQL._______________________________ 206
Глава 23. До свидания_______________________________________________________________ 209
23.1. Нерассмотренные возможности Visual Basic______________________________________________________ 209
ActiveX_______________________________________________________________________________ 209
Windows API___________________________________________________________________________ 209
Многодокументный интерфейс - MDI_______________________________________________________ 209
OLE__________________________________________________________________________________ 209
23.2. Миг между прошлым и будущим_______________________________________________________________ 209
Приложение 1. Необходимые
сведения о компьютере и программе 212
Глава 24. Первое представление о компьютере и программе_____________________________ 213
24.1. Что такое компьютер. Первое представление о программе.__________________________________________ 213
24.2. Как человек общается с компьютером___________________________________________________________ 214
Глава 25. Программа и программирование_____________________________________________ 215
25.1. Список команд. Командный и программный режимы_______________________________________________ 215
25.2. Что важно знать о программе__________________________________________________________________ 216
25.3. Понятие о процедуре. Может ли робот поумнеть?_________________________________________________ 216
25.4. Программа для компьютера на машинном языке__________________________________________________ 217
25.5. Языки программирования____________________________________________________________________ 217
25.6. Пример настоящей программы для компьютера на языке
Лого_______________________________________ 219
25.7. Последовательность работы программиста на компьютере__________________________________________ 220
25.8. Основные приемы программирования__________________________________________________________ 220
Глава 26. Устройство и работа компьютера____________________________________________ 223
26.1. Как устроен и работает компьютер_____________________________________________________________ 223
26.2. Устройство и размеры оперативной памяти______________________________________________________ 224
26.3. Взаимодействие программ в памяти____________________________________________________________ 225
26.4. Внешние устройства компьютера_______________________________________________________________ 225
26.5. Кодирование информации в компьютере________________________________________________________ 228
Приложение 2. Работа в Windows. Ввод текста_____________ 230
Работа в Windows_______________________________________________________________________________ 230
Включение и выключение компьютера. Первые шаги___________________________________________ 230
Работа с окнами Windows________________________________________________________________ 230
Файлы и папки_________________________________________________________________________________ 231
Имена файлов и папок___________________________________________________________________ 232
Проводник_____________________________________________________________________________ 232
Логические диски. Адрес файла (путь, дорожка к файлу)______________________________________ 233
Как вводить программу в компьютер или работа с текстом в
текстовом редакторе____________________________ 233
Работа с одной строкой текста__________________________________________________________ 233
Работа с несколькими строками___________________________________________________________ 235
Окно кода - маленькое окно на большой лист с текстом________________________________________ 236
Копирование перемещение, удаление фрагментов текста______________________________________ 236
Решение заданий________________________________________ 237
Список литературы_____________________________________ 263
Предметный указатель__________________________________ 264