Название: Visual Basic 5. Профессиональное издание. Освой самостоятельно
Издательство: М: Бином
Год: 1998
Страниц: 656
Формат: djvu
Размер: 83 мб
Предлагаемая книга является пособием по визуальному программированию в среде Visual Basic 5. Просто и доступно, с детальной проработкой примеров разъясняются все основные аспекты создания прикладных программ Windows 95 с помощью Visual Basic. В конце каждой главы читателю предлагаются контрольные вопросы и упражнения с ответами. Основная часть книги дополнена приложениями, содержащими сжатый, но весьма подробный справочный материал по важнейшим вопросам программирования в Visual Basic 5. Эти приложения будут особенно полезны читателю, уже имеющему опыт программирования для Windows на других языках. Книга рассчитана на начинающих, а также тех опытных программистов, которые хотят в кратчайшие сроки освоить Visual Basic. Все права защищены. Никакая часть этой книги не может быть воспроизведена в любой форме или любыми средствами, электронными или механическими, включая фотографирование, магнитную запись или иные средства копирования или сохранения информации без письменного разрешения издательства.
Содержание:
Введение 25
Неделя 1 27
День 1. Пишем первую программу на Yisual Basic 5 29
Программа «Привет» 30
Создаем новый проект 30
Сохраняем новый проект 32
Окно проекта 33
Изменяем свойство Caption (Надпись) формы 33
Что такое «свойство» 35
Изменяем свойство Name (Имя) формы 36
Сохраняем сделанное 37
Добавляем кнопку Выход к форме frmHello 37
Окно коллекции инструментов 37
Помещаем на форму кнопку Выход 38
Изменяем свойство Name кнопки Выход 38
Изменяем значение свойства Caption (Надпись) кнопки cmdExit 39
Изменяем положение кнопки cmdExit 39
Изменяем свойство Font (Шрифт) кнопки cmdExit 40
Добавляем к форме frmHello недостающие кнопки 40
Изменяем размеры кнопок 41
Изменяем значение свойства Name (Имя) 41
Изменяем значение свойства Caption (Надпись) 41
Выбираем значение свойства Font (шрифт) 41
Добавляем к форме frmHello текстовое поле ввода TextBox 42
Помещаем элемент Text Box на форму frmHello 42
Изменяем значения свойств элемента TextBox 43
Как строить формы по таблице 44
Вводим исходный код 44
Пишем процедуру для кнопки Выход (cmdExit) 45
Вводим код процедуры cmdExit_Click() 46
Выполняем программу «Привет» 46
Снова процедура cmdExit_Click() 46
Вводим код для кнопки Привет.... 47
Вводим код для кнопки Очистка 47
Выполняем программу «Привет» 48
Другие события 49
Событие KeyDown (Нажатие клавиши) 49
Создаем исполняемый файл (HELLO.EXE) 50
Малый размер исполняемого файла! 50
Резюме 50
Вопросы и ответы 51
Контрольные вопросы 51
Упражнение 51
Ответы на контрольные вопросы 52
Упражнение (ответ) 52
День 2. Свойства, управляющие элементы и объекты 53
Управляющий элемент «полоса прокрутки» (Scroll Bar) 53
Программа «Скорость» 53
Визуальная реализация программы «Скорость» 54
Вводим код программы «Скорость» 56
Выполняем программу «Скорость» 56
Свойства полосы прокрутки: Min, Max, Value 57
Расширяем возможности программы «Скорость» 58
Последнее усовершенствование программы «Скорость» 59
Прощание с программой «Скорость» 60
Программа «Выбор» 60
Визуальная реализация программы «Выбор» 60
Раздел глобальных объявлений 62
Вводим код для события Click (Щелчок) кнопки Выход. 63
Выполняем программу «Выбор» 63
Распознаем установленный флажок Check Box и выбранную позицию переключателя Option Button 64
Выполняем программу «Выбор» 66
Как работает программа «Выбор» 66
Код процедуры UpdateLabel 67
Что дальше? 70
Соглашение об именах, используемых в этой книге 71
Соглашение об операторах, которые не помещаются в одну строку 73
Резюме 73
Вопросы и ответы 73
Контрольные вопросы 73
Упражнение 74
Ответы на контрольные вопросы 74
Упражнение (ответ) 74
День 3. Строительные блоки программирования 75
Программа «2x2» 75
Визуальная реализация программы «2x2» 75
Вводим код программы «2x2» 76
Выполняем программу «2x2» 77
Как работает программа «2x2» 77
Программа «2x2»: от процедуры к функции 78
Код функции Multiply() 80
Код процедуры cmdCalculate_Click() 80
Процедуры, функции, методы 80
Управляющие структуры 81
Полные имена свойств 81
Оператор If 81
Оператор Select Case 82
Цикл Do While.Loop 82
Цикл Do.Loop While 82
Цикл For.Next 83
Оператор Exit For 83
Оператор Exit Do 84
Классическая ошибка 84
Оператор With 84
Программа «Сумма» 85
Визуальная реализация программы «Сумма» 85
Вводим код программы «Сумма» 86
Выполняем программу «Сумма» 86
Как работает программа «Сумма» 87
Программа «Таймер» 88
Визуальная реализация программы «Таймер» 88
Вводим код программы «Таймер» 89
Выполняем программу «Таймер» 90
Как работает программа «Таймер» 90
Код процедуры tmrTimer_Timer() 90
Усовершенствуем программу «Таймер» 90
Выполняем усовершенствованную программу «Таймер» 91
Другой вариант программы «Таймер» 93
Резюме 95
Вопросы и ответы 95
Контрольные вопросы 95
Упражнения 96
Ответы на контрольные вопросы 96
Упражнения (ответы) 97
День 4. Мышь 99
Программа «Прыжок» 99
Визуальная реализация программы «Прыжок» 99
Вводим исходный код программы «Прыжок» 101
Выполняем программу «Прыжок» 101
Как работает программа «Прыжок» 102
Операторы If.Else в процедуре Form_MouseDown() 104
Метод Move 104
Важные замечания о переключателях 105
Программа «Рисовальщик» 107
Визуальная реализация программы «Рисовальщик» 107
Вводим код программы «Рисовальщик» 108
Выполняем программу «Рисовальщик» 108
Как работает программа «Рисовальщик» 109
Свойство AutoRedraw 112
Программа «КакЧасто?» 113
Визуальная реализация программы «КакЧасто?» 113
Вводим код программы «КакЧасто?» 113
Выполняем программу «КакЧасто?» 114
Как работает программа «КакЧасто?» 114
Программа «Кнопка» 115
Визуальная реализация программы «Кнопка» 115
Вводим код программы «Кнопка» 116
Выполняем программу «Кнопка» 117
Как работает программа «Кнопка» 118
Программа «Кнопка 2» 120
Визуальная реализация программы «Кнопка 2» 120
Вводим код программы «Кнопка 2» 121
Выполняем программу «Кнопка 2» 122
Как работает программа «Кнопка 2» 123
Сочетание кнопок мыши и клавиш [Shift], [Ctrl] и [Alt] 124
Программа «Тащи» 125
Визуальная реализация программы «Тащи» 125
Вводим код программы «Тащи» 126
Выполняем программу «Тащи» 126
Усовершенствуем программу «Тащи» 127
Программа «Тащи и бросай» 127
Визуальная реализация программы «Тащи и бросай» 127
Вводим код программы «Тащи и бросай» 128
Выполняем программу «Тащи и бросай» 129
Как работает программа «Тащи и бросай» 129
Резюме 131
Вопросы и ответы 131
Контрольные вопросы 132
Упражнения 132
Ответы на контрольные вопросы 133
Упражнения (ответы) 133
День 5. Меню. 135
Программа «Цвет» 135
Визуальная реализация программы «Цвет» 136
Создаем систему меню для программы «Цвет» 137
Создаем управляющие элементы меню 137
Создаем подменю 142
Как строить меню по таблице 143
Вводим код программы «Цвет» 144
Выполняем программу «Цвет» 146
Как работает программа «Цвет» 146
Добавляем «быстрые» клавиши 147
Вводим в меню разделитель 148
Делаем элемент меню невидимым 149
Галочки в меню 149
Программа «Безразмерное меню» 150
Визуальная реализация программы «Безразмерное меню» 151
Создаем меню 152
Создаем массив элементов меню 152
Вводим код программы «Безразмерное меню» 153
Выполняем программу «Безразмерное меню» 154
Как работает программа «Безразмерное меню» 154
Резюме 156
Вопросы и ответы 156
Контрольные вопросы 156
Упражнения 157
Ответы на контрольные вопросы 157
Упражнения (ответы) 157
День 6. Диалоги 159
Встроенные диалоги Visual Basic 159
Программа «Сообщение» 159
Вводим код программы «Сообщение» 160
Программа «Диалоги» 165
Окна специального диалога 176
Создаем окно специального диалога 176
Окна общего диалога 182
Программа «Общий диалог».182
Визуальная реализация программы «Общий диалог» 182
Вводим код программы «Общий диалог» 184
Выполняем программу «Общий диалог» 185
Другие виды общего диалога 189
Другие формы и окна диалога 190
Резюме 191
Вопросы и ответы 191
Контрольные вопросы 192
Упражнения 192
Ответы на контрольные вопросы 192
Упражнения (ответы) 193
День 7. Графические элементы 195
Твип 195
Цвет 195
Определение цвета с помощью функции RGB() 195
Определение цвета с помощью функции QBColor() 196
Управляющий элемент Line (Линия) 196
Визуальная реализация программы «Линия» 196
Вводим код программы «Линия» 197
Выполняем программу «Линия» 197
Как работает программа «Линия» 198
Управляющий элемент Shape (Фигура) 199
Визуальная реализация программы «Фигура» 200
Вводим код программы «Фигура» 201
Выполняем программу «Фигура» 202
Как работает программа «Фигура» 202
Другие свойства управляющего элемента Shape 203
Точечные рисунки 203
Размещение рисунков на форме: период визуального программирования 204
Размещение рисунков на форме: период выполнения программы 205
Управляющий элемент Image 206
Управляющий элемент PictureBox 206
Включение рисунков в исполняемый файл 206
Программа «Анимация» 207
Визуальная реализация программы «Анимация» 207
Вводим код программы «Анимация» 208
Выполняем программу «Анимация» 209
Код программы «Анимация» 209
Перемещение графического объекта с помощью метода Move 209
Перемещаем управляющий элемент PictureBox 211
Массивы управляющих элементов 212
Программа «Луна» 212
Вводим код программы «Луна» 215
Выполняем программу «Луна» 216
Код программы «Луна» 216
Анимация.218
Усовершенствуем программу «Луна» 218
Резюме 221
Вопросы и ответы 221
Контрольные вопросы 221
Упражнение 221
Ответы на контрольные вопросы 221
Упражнение (ответ) 222
Неделя 2 223
День 8. Графические методы. 225
Программа «Точки» 225
Визуальная реализация программы «Точки» 225
Вводим код программы «Точки» 226
Выполняем программу «Точки» 227
Как работает программа «Точки» 227
Рисуем линии 230
Параметр Step 232
Снова выполняем программу «Точки» 235
Программа «Окружности» 236
Визуальная реализация программы «Окружности» 237
Вводим код программы «Окружности» 237
Выполняем программу «Окружности» 238
Как работает программа «Окружности» 239
Усовершенствуем программу «Окружности» 240
Выполняем программу «Окружности» 241
Усовершенствуем программу «Окружности» 242
Выполняем расширенную версию программы «Окружности» 242
Рисуем эллипсы и дуги 244
Параметр Aspect 245
Программа «Эллипсы» 246
Визуальная реализация программы «Эллипсы» 246
Вводим код программы «Эллипсы» 247
Выполняем программу «Эллипсы» 248
Как работает программа «Эллипсы» 248
Код процедуры hsbRadius_Change() 249
Программа «Дуги» 249
Визуальная реализация программы «Дуги» 250
Вводим код программы «Дуги» 251
Выполняем программу «Дуги» 252
Как работает программа «Дуги» 253
Свойство AutoRedraw 256
Процедура Form_Paint() 257
Резюме 257
Вопросы и ответы 258
Контрольные вопросы 258
Упражнение 258
Ответы на контрольные вопросы 258
Упражнение (ответ) 259
День 9. Данные в табличных форматах 261
Программа «Таблица» 261
Код процедуры Form_Load() 266
Изменяем ширину ячеек 266
Изменяем высоту ячеек 269
Заполняем остальные ячейки в сетке программы «Таблица» 270
Выравнивание текста в ячейках 273
Резюме 275
Вопросы и ответы.275
Контрольные вопросы 275
Упражнение 276
Ответы на контрольные вопросы 276
Упражнение (ответ) 276
День 10. Экран и принтер 277
Какие бывают шрифты 277
Шрифты в ваших программах 277
Свойство FontTransparent (Прозрачный фон) 278
Программа «Шрифт-шоу» 279
Визуальная реализация программы «Шрифт-шоу» 279
Вводим код программы «Шрифт-шоу» 280
Выполняем программу «Шрифт-шоу» 281
Как работает программа «Шрифт-шоу» 283
WYSIWYG 284
Программа «Выбор шрифта» 284
Визуальная реализация программы «Выбор шрифта» 285
Вводим код программы «Выбор шрифта» 286
Выполняем программу «Выбор шрифта» 287
Как работает программа «Выбор шрифта» 288
Метод Print 291
Программа «Оглавление» 291
Визуальная реализация программы «Оглавление» 292
Вводим код программы «Оглавление» 293
Выполняем программу «Оглавление» 294
Как работает программа «Оглавление» 295
Формирование таблицы 297
Снова выполняем программу «Оглавление» 297
Изменение расстояния между позициями табуляции 298
Как форматировать числа, даты и время 299
Программа «Принтер» 300
Визуальная реализация программы «Принтер» 301
Вводим код программы «Принтер» 301
Выполняем программу «Принтер» 302
Как работает программа «Принтер» 302
Расширяем программу «Принтер» 302
Снова выполняем программу «Принтер» 303
Печать на нескольких страницах 303
Печать графики 304
Печать с более высоким качеством 304
Резюме 305
Вопросы и ответы 305
Контрольные вопросы 305
Упражнение 306
Ответы на контрольные вопросы 306
Упражнение (ответ) 306
День 11. Взаимодействие с Windows. 307
Объект Clipboard 307
Программа «Буфер обмена» 307
Визуальная реализация программы «Буфер обмена» 307
Вводим код программы «Буфер обмена» 308
Выполняем программу «Буфер обмена» 309
Как работает программа «Буфер обмена» 309
Перенос графических изображений с помощью буфера обмена: программа «Картинка в буфере» 312
Визуальная реализация программы «Картинка в буфере» 312
Вводим код программы «Картинка в буфере» 313
Выполняем программу «Картинка в буфере» 315
Как работает программа «Картинка в буфере» 316
Функция GetFormat(): другой способ определить тип данных, находящихся в буфере 319
Время ожидания 320
Программа «Счетчик» 320
Визуальная реализация программы «Счетчик» 320
Вводим код программы «Счетчик» 321
Выполняем программу «Счетчик» 322
Усовершенствуем программу «Счетчик» 322
Снова выполняем программу «Счетчик» 323
Снова усовершенствуем программу «Счетчик» 323
Выполняем усовершенствованную программу «Счетчик» 325
Процедура Main() 326
Резюме 329
Вопросы и ответы 329
Контрольные вопросы 329
Упражнение 329
Ответы на контрольные вопросы 329
Упражнение (ответ) 330
День 12. Клавиатура 331
Фокус клавиатуры 331
События клавиатуры 331
Программа «Клавиши» 332
Визуальная реализация программы «Клавиши» 332
Вводим код программы «Клавиши» 333
Выполняем программу «Клавиши» 333
Как работает программа «Клавиши» 334
Экранная форма: перехват событий клавиатуры 337
Программа «Перехватчик» 337
Визуальная реализация программы «Перехватчик» 337
Вводим код программы «Перехватчик» 338
Выполняем программу «Перехватчик» 338
Модифицируем программу «Перехватчик» 339
Свойство Cancel 340
Программа «Клавиша [Tab]» 340
Вводим код программы «Клавиша [Tab]» 342
Выполняем программу «Клавиша [Tab]» 343
Свойство TabIndex 343
Программа «Фокус» 343
Визуальная реализация программы «Фокус» 343
Вводим код программы «Фокус» 344
Выполняем программу «Фокус» 344
Как работает программа «Фокус» 345
Резюме 345
Вопросы и ответы 345
Контрольные вопросы 345
Упражнения 346
Ответы на контрольные вопросы 346
Упражнения (ответы) 346
День 13. Управляющие элементы для работы с файлами 347
Программа «Размер файла» 348
Визуальная реализация программы «Размер файла» 349
Вводим код программы «Размер файла» 350
Выполняем программу «Размер файла» 352
Как работает программа «Размер файла» 353
Свойства списка файлов File List Box, связанные с атрибутами файлов 357
Программа «Выбор файла» 358
Визуальная реализация программы «Выбор файла» 359
Вводим код программы «Выбор файла» 361
Редактируем код формы frmGetFile 361
Выполняем программу «Выбор файла» 364
Как работает программа «Выбор файла» 364
Процедуры, принадлежащие форме frmSelect 364
Процедуры, принадлежащие форме frmGetFile 365
Резюме 369
Вопросы и ответы 369
Контрольные вопросы. 369
Упражнение 370
Ответы на контрольные вопросы 370
Упражнение (ответ) 370
День 14. Доступ к файлам 371
Файлы произвольного доступа 371
Программа «Записная книжка» 371
Визуальная реализация программы «Записная книжка» 372
Вводим код программы «Записная книжка» 373
Выполняем программу «Записная книжка» 376
Как работает программа «Записная книжка» 376
Усовершенствуем программу «Записная книжка» 382
Файлы последовательного доступа 386
Как открыть последовательный файл для вывода 386
Как открыть последовательный файл для присоединения 387
Как открыть последовательный файл для ввода 388
Файлы двоичного доступа 389
Как открыть файл в режиме двоичного доступа 389
Запись в файл в режиме двоичного доступа 389
Чтение из файла в режиме двоичного доступа 390
Резюме 390
Вопросы и ответы 390
Контрольные вопросы 391
Упражнения 392
Ответы на контрольные вопросы 392
Упражнения (ответы) 394
Неделя 3 395
День 15. Массивы, OLE и другие вопросы 397
ASCII-файлы 397
Массивы 399
Типы данных 399
Программа «Массив» 401
Визуальная реализация программы «Массив» 401
Вводим код программы «Массив» 402
Выполняем программу «Массив» 403
Как работает программа «Массив» 403
Размер массива 405
Многомерные массивы 406
Динамические массивы 406
Программа «Массив 2» 407
Визуальная реализация программы «Массив 2» 407
Вводим код программы «Массив 2» 408
Выполняем программу «Массив 2» 409
Как работает программа «Массив 2» 410
Программа «Два способа» 411
Визуальная реализация программы «Два способа» 412
Вводим код программы «Два способа» 412
Выполняем программу «Два способа» 413
Как работает программа «Два способа» 413
Модифицируем программу «Два способа» 414
Снова модифицируем программу «Два способа» 415
OLE 416
Что такое OLE 416
Программа «Используй Paint» 417
Визуальная реализация программы «Используй Paint» 417
Помещаем элемент OLE на форму frmUsePaint 417
Выполняем программу «Используй Paint» 418
Резюме 418
Вопросы и ответы 419
Контрольные вопросы 419
Упражнение 420
Ответы на контрольные вопросы 420
Упражнение (ответ) 420
День 16. Базы данных: элемент Data и язык SQL 421
Программа «Данные» 421
База данных и таблица 421
Вводим данные в таблицу Parts 426
Visual Data Manager и кириллица (примечание редактора перевода для русского читателя) 428
Вернемся к заполнению таблицы 429
Визуальная реализация программы «Данные» 430
Выполняем программу «Данные» 432
Усовершенствуем программу «Данные» 433
Как включить в таблицу логическое поле 434
Свойства и методы элемента Data 435
Метод Refresh 435
Свойство Exclusive 436
Свойство ReadOnly 436
Свойство RecordSource и операторы языка SQL.437
Метод AddNew 439
Метод Delete 440
Навигация по таблице: методы MoveNext, MovePrevious, MoveLast и MoveFirst 440
Свойство RecordSet 440
Свойство Value 442
Свойства EOF и BOF 442
Что еще можно сделать с помощью элемента Data 443
Резюме 443
Вопросы и ответы 443
Контрольные вопросы 443
Упражнение 444
Ответы на контрольные вопросы 444
Упражнение (ответ) 444
День 17. MDI — Многодокументный интерфейс 445
Ваша первая MDI-программа: программа «Дочки-матери» 445
Создаем проект 445
Визуальная реализация программы «Дочки-матери» 448
Вводим код программы «Дочки-матери» 451
Выполняем программу «Дочки-матери» 453
Код материнской формы 455
Код дочерней формы frmPicturel 456
Код дочерних форм frmPicture2 и frmPicture3 457
Которая из форм загружается первой? 457
Переключение между формами в период выполнения программы 458
Меню Window(OKHo) 459
Добавляем меню Окно в главное меню материнской формы 459
Добавляем меню Окно в главное меню дочерней формы 460
Добавляем в меню Окно команды Черепица, Каскад и Расположить значки 461
Как работают команды меню Окно 463
Создаем текстовый редактор 465
Визуальная реализация программы «Мой текстовый редактор» 465
Вводим код программы «Мой текстовый редактор» 467
Выполняем программу «Мой текстовый редактор» 468
Адаптация размеров текстового поля к размерам формы 469
Меняем свойство Caption формы 470
Снова выполняем программу «Мой текстовый редактор” 471
Код процедуры mnuAssignName_Click() 471
Создаем панель инструментов 472
Визуальная реализация панели инструментов и панели состояния 473
Вводим код для элементов панели инструментов 475
Выполняем программу «Мой текстовый редактор» с панелями инструментов и состояния 475
Резюме 476
Вопросы и ответы 477
Контрольные вопросы 477
Упражнения 477
Ответы на контрольные вопросы 478
Упражнения (ответы) 478
День 18. Имитация нажатий клавиш 481
Имитируем нажатия клавиш: программы «Передатчик» и «Приемник» 481
Визуальная реализация программы «Передатчик» 481
Вводим код программы «Передатчик» 482
Визуальная реализация программы «Приемник» 483
Вводим код программы «Приемник» 483
Выполняем программы «Передатчик» и «Приемник» 483
Как работает программа «Передатчик» 485
Как имитировать нажатия клавиш для себя: программа «Я сама» 487
Визуальная реализация программы «Я сама» 487
Вводим код программы «Я сама» 488
Выполняем программу «Я сама» 488
Резюме 489
Вопросы и ответы 489
Контрольные вопросы 489
Упражнение 490
Ответы на контрольные вопросы 490
Упражнение (ответ) 490
День 19. Технология ActiveX и элементы мультимедиа в ваших программах 491
Технология OCX ActiveX 491
Как получить программу «MapUSA» и связанные с ней ActiveX-элементы 493
Выполняем программу MapUSA 493
Звук 494
Анимация 494
Карта: движение мыши 494
Карта: щелчки 494
Окно программы «MapUSA» 494
Меню 495
Программа «Моя карта США»: создаем проект 495
Используем только необходимые ActiveX-элементы 495
Включаем в проект OCX ActiveX-элемент 496
Помещаем OCX ActiveX-элементы на форму 497
Управляем размерами карты 498
Снабжаем программу кнопкой Выход 499
Помещаем на форму поле флажка Гимн США 500
Вводим код для мультимедийного элемента Tegomml 502
Автоматическое воспроизведение звука 504
Бесконечное воспроизведение MIDI-файла 505
Управляем процессом воспроизведения звука 506
Анимация: развевающийся флаг 507
Этикетки со сведениями о штате 511
Отображаем сведения о штате, на «территории» которого находится указатель мыши 512
Щелчки на карте 516
Не хватает только меню 517
Звуковая технология DirectSound 517
Особенности технологии DirectSound 518
Технология DirectX 519
Windows — аппаратно-независимая система 519
3D VR — Виртуальная реальность в трех измерениях 521
Резюме 523
Вопросы и ответы 523
Контрольные вопросы 524
Упражнение 524
Ответы на контрольные вопросы 524
Упражнение(ответ) 524
День 20. Windows API — что это такое и как этим пользоваться 525
Функции Visual Basic 525
Динамические библиотеки DLL 525
Функции Windows API 526
Создаем программу «АР1» 527
Включаем в состав проекта программный модуль 528
Объявляем API-функцию 529
Вызываем функцию MessageBeep() 529
Ищем каталог Windows 531
Вводим код, обрабатывающий событие Click командной кнопки Где Windows? 531
Еще одна кнопка: Выход из Windows 533
Откуда вам знать, как объявляется эта функция? 533
Вводим код для кнопки Выход из Windows 535
Резюме 536
Вопросы и ответы 536
Контрольные вопросы 537
Упражнение 537
Ответы на контрольные вопросы. 537
Упражнение (ответ) 537
День 21. Как создать собственный OCX ActiveX-элемент. 539
Зачем создаются OCX ActiveX-элементы 539
Создаем проект OCX ActiveX-элемента 540
Дайте проекту имя и описание 541
Настраиваем окно UserControl 541
Помещаем командные кнопки в окно UserControl 542
Помещаем в окно UserControl текстовое поле 543
Вводим код для командной кнопки Привет 543
Создаем ОСХ-файл 544
Ваш первый OCX ActiveX-элемент в действии 544
Форма программы TESTACTX: визуальное программирование.545
Вводим код для кнопки Выход 545
Включаем элемент MyActX в состав коллекции инструментов 546
Помещаем элемент ctlMyActX на форму 547
Выполняем тестовую программу 548
Открываем два проекта одновременно 548
Объединяем проекты в группу 549
Событие Resize в жизни нового элемента 549
Оснастим OCX ActiveX-элемент свойством Caption 556
Свойство Caption в действии 559
Снабдим свойство Caption значением по умолчанию 559
Сохраняем значения свойств 560
Событие 561
Геометрические фигуры в красной области 563
Резюме 564
Вопросы и ответы 564
Контрольные вопросы 564
Упражнения 565
Ответы на контрольные вопросы 565
Упражнения (ответы) 565
Приложения 567
Приложение I. Синтаксис и справочная система Visual Basic 569
Программный синтаксис 569
Тип данных 570
Использование свойств объекта в методах 570
Пропуск параметра 571
Применение того же метода к другим объектам 571
Всегда используйте точный синтаксис 572
Получение справки 572
Меню Help 572
Связки See Also, Example и Applies To 572
Вкладка Find окна справки 573
Просмотр примеров в справочной системе 574
Ускорение поиска: F1 575
Правый щелчок на слове 575
Процедуры событий 575
Написание ваших собственных процедур 576
Дополнение ваших процедур параметрами 576
Дополнительные параметры ваших процедур 577
Исполнение процедур событий 578
Создание своих собственных функций 578
Резюме 579
Приложение II. Операторы принятия решений и циклов 580
Условные операторы 580
В одну строчку 581
Использование True и False в операторе If 581
Сравнение строк 581
If.Else 582
If.ElseIf.End If 583
If.ElseIf.Else 584
Select Case 584
Цикл For 585
Досрочный выход из цикла For 585
Цикл Do While 586
Досрочный выход из цикла Do While 587
Loop While 587
Методика внутренних циклов 588
Резюме 588
Приложение III. Вывод данных и получение их от пользователя 589
Об этом справочном разделе 589
Панели сообщений 589
Синтаксис 589
Панель сообщения как инструмент для быстрой отладки 590
Отображение сообщений — кнопки и значки 590
Вывод файлов справки 592
Применение MsgBox для получения отклика пользователя 592
Функция InputBox 593
Синтаксис 594
Вывод справки 594
Стандартное поведение панели ввода 595
Резюме 595
Приложение IV. Стандартные объекты: свойства, методы и события 596
Стандартные элементы управления 596
Общие свойства: свойство Name 596
Общие свойства: свойство Visible 597
Общие свойства: свойство Caption 597
Общие свойства: свойство Enabled.598
Общие свойства: свойство Font 598
Общие свойства: свойство MousePointer 599
Настройка курсора мыши 599
Свойство Style 600
Свойства Picture, DisabledPicture и DownPicture 602
Свойство ToolTipText 604
Резюме 604
Приложение V. Таймеры 605
Зачем нужен таймер 605
Использование таймера 605
Активация и блокировка таймера 606
Свойство таймера Interval 607
Использование статических переменных внутри процедуры таймера 607
Покадровая анимация 608
Использование нескольких таймеров 609
Организация цикла ожидания для выполнения периодических задач 610
Резюме 612
Приложение VI. Элементы управления ActiveX (OCX) и ActiveX-компонент CommonDialog 613
Выяснение того, какие средства ActiveX включены в ваш проект 613
Включение управляющих элементов ActiveX в проект 614
Зарегистрированные управляющие элементы ActiveX 615
Исследование каталогов, которые содержат файлы OCX 615
Регистрация ActiveX-элемента CommonDialog 615
Каким образом файлы ActiveX (OCX) оказываются в вашей системе 617
Сообщения об ошибках: регистрация элементов ActiveX в вашей системе 618
Регистрация элементов управления и удаление их из реестра 618
Использование ActiveX-элемента CommonDialog в вашей программе 619
Применение диалога CommonDialog в качестве средства для выбора других опций 621
Резюме 622
Приложение VII. Объявление функций API 623
Функции API и Windows 623
API Text Viewer 624
Файл Win32api.txt 624
Загрузка файла Win32api.txt в программу API Text Viewer 624
Константы API 625
Объявления 626
Типы 626
Объявление функции API и типа данных 627
Копирование объявлений API в отдельный модуль BAS 627
Создание переменных того типа, который вам нужен 628
Пример: применение функции API GetCursorPos().628
Резюме 629
Приложение VIII. Цикл ожидания 630
Использование функции DoEvents() для прерывания длительных процессов 630
Время ожидания 630
Функция DoEvents() 631
Возвращаемое значение функции DoEvents() 632
Некоторые замечания об использовании функции DoEvents() 632
Использование процедуры Main() и функции DoEvents() для инициализации переменных и свойств 633
Стартовый объект 634
Использование Sub Main() как местоположения цикла ожидания 635
Выполнение фоновых операций 636
Резюме 637
Приложение IX. Доступ к файлам 638
Типы доступа к файлам 638
Файл произвольного доступа 638
Функция FreeFile 638
Произвольный доступ для данных определяемого пользователем типа 639
Открытие файла для произвольного доступа 640
Замечания о текущем каталоге 641
Сохранение записи в файле произвольного доступа 641
Закрытие файла 642
Чтение записей из файла 643
Последовательные файлы 644
Открытие файла для последовательного доступа 644
Чтение данных из последовательного файла 644
Двоичные файлы 645
Открытие файла в качестве двоичного 645
Чтение байтами из двоичного файла 646
Резюме 646
Приложение X. Цвет 647
О цвете и Visual Basic 647
RGB 648
Применение функции RGB() для присвоения значений цветовым свойствам 649
Функция RGB() и цветовые установки монитора.649
Генерация случайных цветов 649
Функция QBColor() 650
Генерация случайного цвета с помощью функции QBColor() 651
Возвращаемые значения функций RGB() и QBColor() 651
Цветовые константы 651
Использование элемента управления CommonDialog для выбора цвета 652
Окрашивание других объектов 653
Отображение пикселов в различных цветах 653
Извлечение цвета 654
Использование цветов системной палитры 655
Резюме 656
Неделя 1 27
День 1. Пишем первую программу на Yisual Basic 5 29
Программа «Привет» 30
Создаем новый проект 30
Сохраняем новый проект 32
Окно проекта 33
Изменяем свойство Caption (Надпись) формы 33
Что такое «свойство» 35
Изменяем свойство Name (Имя) формы 36
Сохраняем сделанное 37
Добавляем кнопку Выход к форме frmHello 37
Окно коллекции инструментов 37
Помещаем на форму кнопку Выход 38
Изменяем свойство Name кнопки Выход 38
Изменяем значение свойства Caption (Надпись) кнопки cmdExit 39
Изменяем положение кнопки cmdExit 39
Изменяем свойство Font (Шрифт) кнопки cmdExit 40
Добавляем к форме frmHello недостающие кнопки 40
Изменяем размеры кнопок 41
Изменяем значение свойства Name (Имя) 41
Изменяем значение свойства Caption (Надпись) 41
Выбираем значение свойства Font (шрифт) 41
Добавляем к форме frmHello текстовое поле ввода TextBox 42
Помещаем элемент Text Box на форму frmHello 42
Изменяем значения свойств элемента TextBox 43
Как строить формы по таблице 44
Вводим исходный код 44
Пишем процедуру для кнопки Выход (cmdExit) 45
Вводим код процедуры cmdExit_Click() 46
Выполняем программу «Привет» 46
Снова процедура cmdExit_Click() 46
Вводим код для кнопки Привет.... 47
Вводим код для кнопки Очистка 47
Выполняем программу «Привет» 48
Другие события 49
Событие KeyDown (Нажатие клавиши) 49
Создаем исполняемый файл (HELLO.EXE) 50
Малый размер исполняемого файла! 50
Резюме 50
Вопросы и ответы 51
Контрольные вопросы 51
Упражнение 51
Ответы на контрольные вопросы 52
Упражнение (ответ) 52
День 2. Свойства, управляющие элементы и объекты 53
Управляющий элемент «полоса прокрутки» (Scroll Bar) 53
Программа «Скорость» 53
Визуальная реализация программы «Скорость» 54
Вводим код программы «Скорость» 56
Выполняем программу «Скорость» 56
Свойства полосы прокрутки: Min, Max, Value 57
Расширяем возможности программы «Скорость» 58
Последнее усовершенствование программы «Скорость» 59
Прощание с программой «Скорость» 60
Программа «Выбор» 60
Визуальная реализация программы «Выбор» 60
Раздел глобальных объявлений 62
Вводим код для события Click (Щелчок) кнопки Выход. 63
Выполняем программу «Выбор» 63
Распознаем установленный флажок Check Box и выбранную позицию переключателя Option Button 64
Выполняем программу «Выбор» 66
Как работает программа «Выбор» 66
Код процедуры UpdateLabel 67
Что дальше? 70
Соглашение об именах, используемых в этой книге 71
Соглашение об операторах, которые не помещаются в одну строку 73
Резюме 73
Вопросы и ответы 73
Контрольные вопросы 73
Упражнение 74
Ответы на контрольные вопросы 74
Упражнение (ответ) 74
День 3. Строительные блоки программирования 75
Программа «2x2» 75
Визуальная реализация программы «2x2» 75
Вводим код программы «2x2» 76
Выполняем программу «2x2» 77
Как работает программа «2x2» 77
Программа «2x2»: от процедуры к функции 78
Код функции Multiply() 80
Код процедуры cmdCalculate_Click() 80
Процедуры, функции, методы 80
Управляющие структуры 81
Полные имена свойств 81
Оператор If 81
Оператор Select Case 82
Цикл Do While.Loop 82
Цикл Do.Loop While 82
Цикл For.Next 83
Оператор Exit For 83
Оператор Exit Do 84
Классическая ошибка 84
Оператор With 84
Программа «Сумма» 85
Визуальная реализация программы «Сумма» 85
Вводим код программы «Сумма» 86
Выполняем программу «Сумма» 86
Как работает программа «Сумма» 87
Программа «Таймер» 88
Визуальная реализация программы «Таймер» 88
Вводим код программы «Таймер» 89
Выполняем программу «Таймер» 90
Как работает программа «Таймер» 90
Код процедуры tmrTimer_Timer() 90
Усовершенствуем программу «Таймер» 90
Выполняем усовершенствованную программу «Таймер» 91
Другой вариант программы «Таймер» 93
Резюме 95
Вопросы и ответы 95
Контрольные вопросы 95
Упражнения 96
Ответы на контрольные вопросы 96
Упражнения (ответы) 97
День 4. Мышь 99
Программа «Прыжок» 99
Визуальная реализация программы «Прыжок» 99
Вводим исходный код программы «Прыжок» 101
Выполняем программу «Прыжок» 101
Как работает программа «Прыжок» 102
Операторы If.Else в процедуре Form_MouseDown() 104
Метод Move 104
Важные замечания о переключателях 105
Программа «Рисовальщик» 107
Визуальная реализация программы «Рисовальщик» 107
Вводим код программы «Рисовальщик» 108
Выполняем программу «Рисовальщик» 108
Как работает программа «Рисовальщик» 109
Свойство AutoRedraw 112
Программа «КакЧасто?» 113
Визуальная реализация программы «КакЧасто?» 113
Вводим код программы «КакЧасто?» 113
Выполняем программу «КакЧасто?» 114
Как работает программа «КакЧасто?» 114
Программа «Кнопка» 115
Визуальная реализация программы «Кнопка» 115
Вводим код программы «Кнопка» 116
Выполняем программу «Кнопка» 117
Как работает программа «Кнопка» 118
Программа «Кнопка 2» 120
Визуальная реализация программы «Кнопка 2» 120
Вводим код программы «Кнопка 2» 121
Выполняем программу «Кнопка 2» 122
Как работает программа «Кнопка 2» 123
Сочетание кнопок мыши и клавиш [Shift], [Ctrl] и [Alt] 124
Программа «Тащи» 125
Визуальная реализация программы «Тащи» 125
Вводим код программы «Тащи» 126
Выполняем программу «Тащи» 126
Усовершенствуем программу «Тащи» 127
Программа «Тащи и бросай» 127
Визуальная реализация программы «Тащи и бросай» 127
Вводим код программы «Тащи и бросай» 128
Выполняем программу «Тащи и бросай» 129
Как работает программа «Тащи и бросай» 129
Резюме 131
Вопросы и ответы 131
Контрольные вопросы 132
Упражнения 132
Ответы на контрольные вопросы 133
Упражнения (ответы) 133
День 5. Меню. 135
Программа «Цвет» 135
Визуальная реализация программы «Цвет» 136
Создаем систему меню для программы «Цвет» 137
Создаем управляющие элементы меню 137
Создаем подменю 142
Как строить меню по таблице 143
Вводим код программы «Цвет» 144
Выполняем программу «Цвет» 146
Как работает программа «Цвет» 146
Добавляем «быстрые» клавиши 147
Вводим в меню разделитель 148
Делаем элемент меню невидимым 149
Галочки в меню 149
Программа «Безразмерное меню» 150
Визуальная реализация программы «Безразмерное меню» 151
Создаем меню 152
Создаем массив элементов меню 152
Вводим код программы «Безразмерное меню» 153
Выполняем программу «Безразмерное меню» 154
Как работает программа «Безразмерное меню» 154
Резюме 156
Вопросы и ответы 156
Контрольные вопросы 156
Упражнения 157
Ответы на контрольные вопросы 157
Упражнения (ответы) 157
День 6. Диалоги 159
Встроенные диалоги Visual Basic 159
Программа «Сообщение» 159
Вводим код программы «Сообщение» 160
Программа «Диалоги» 165
Окна специального диалога 176
Создаем окно специального диалога 176
Окна общего диалога 182
Программа «Общий диалог».182
Визуальная реализация программы «Общий диалог» 182
Вводим код программы «Общий диалог» 184
Выполняем программу «Общий диалог» 185
Другие виды общего диалога 189
Другие формы и окна диалога 190
Резюме 191
Вопросы и ответы 191
Контрольные вопросы 192
Упражнения 192
Ответы на контрольные вопросы 192
Упражнения (ответы) 193
День 7. Графические элементы 195
Твип 195
Цвет 195
Определение цвета с помощью функции RGB() 195
Определение цвета с помощью функции QBColor() 196
Управляющий элемент Line (Линия) 196
Визуальная реализация программы «Линия» 196
Вводим код программы «Линия» 197
Выполняем программу «Линия» 197
Как работает программа «Линия» 198
Управляющий элемент Shape (Фигура) 199
Визуальная реализация программы «Фигура» 200
Вводим код программы «Фигура» 201
Выполняем программу «Фигура» 202
Как работает программа «Фигура» 202
Другие свойства управляющего элемента Shape 203
Точечные рисунки 203
Размещение рисунков на форме: период визуального программирования 204
Размещение рисунков на форме: период выполнения программы 205
Управляющий элемент Image 206
Управляющий элемент PictureBox 206
Включение рисунков в исполняемый файл 206
Программа «Анимация» 207
Визуальная реализация программы «Анимация» 207
Вводим код программы «Анимация» 208
Выполняем программу «Анимация» 209
Код программы «Анимация» 209
Перемещение графического объекта с помощью метода Move 209
Перемещаем управляющий элемент PictureBox 211
Массивы управляющих элементов 212
Программа «Луна» 212
Вводим код программы «Луна» 215
Выполняем программу «Луна» 216
Код программы «Луна» 216
Анимация.218
Усовершенствуем программу «Луна» 218
Резюме 221
Вопросы и ответы 221
Контрольные вопросы 221
Упражнение 221
Ответы на контрольные вопросы 221
Упражнение (ответ) 222
Неделя 2 223
День 8. Графические методы. 225
Программа «Точки» 225
Визуальная реализация программы «Точки» 225
Вводим код программы «Точки» 226
Выполняем программу «Точки» 227
Как работает программа «Точки» 227
Рисуем линии 230
Параметр Step 232
Снова выполняем программу «Точки» 235
Программа «Окружности» 236
Визуальная реализация программы «Окружности» 237
Вводим код программы «Окружности» 237
Выполняем программу «Окружности» 238
Как работает программа «Окружности» 239
Усовершенствуем программу «Окружности» 240
Выполняем программу «Окружности» 241
Усовершенствуем программу «Окружности» 242
Выполняем расширенную версию программы «Окружности» 242
Рисуем эллипсы и дуги 244
Параметр Aspect 245
Программа «Эллипсы» 246
Визуальная реализация программы «Эллипсы» 246
Вводим код программы «Эллипсы» 247
Выполняем программу «Эллипсы» 248
Как работает программа «Эллипсы» 248
Код процедуры hsbRadius_Change() 249
Программа «Дуги» 249
Визуальная реализация программы «Дуги» 250
Вводим код программы «Дуги» 251
Выполняем программу «Дуги» 252
Как работает программа «Дуги» 253
Свойство AutoRedraw 256
Процедура Form_Paint() 257
Резюме 257
Вопросы и ответы 258
Контрольные вопросы 258
Упражнение 258
Ответы на контрольные вопросы 258
Упражнение (ответ) 259
День 9. Данные в табличных форматах 261
Программа «Таблица» 261
Код процедуры Form_Load() 266
Изменяем ширину ячеек 266
Изменяем высоту ячеек 269
Заполняем остальные ячейки в сетке программы «Таблица» 270
Выравнивание текста в ячейках 273
Резюме 275
Вопросы и ответы.275
Контрольные вопросы 275
Упражнение 276
Ответы на контрольные вопросы 276
Упражнение (ответ) 276
День 10. Экран и принтер 277
Какие бывают шрифты 277
Шрифты в ваших программах 277
Свойство FontTransparent (Прозрачный фон) 278
Программа «Шрифт-шоу» 279
Визуальная реализация программы «Шрифт-шоу» 279
Вводим код программы «Шрифт-шоу» 280
Выполняем программу «Шрифт-шоу» 281
Как работает программа «Шрифт-шоу» 283
WYSIWYG 284
Программа «Выбор шрифта» 284
Визуальная реализация программы «Выбор шрифта» 285
Вводим код программы «Выбор шрифта» 286
Выполняем программу «Выбор шрифта» 287
Как работает программа «Выбор шрифта» 288
Метод Print 291
Программа «Оглавление» 291
Визуальная реализация программы «Оглавление» 292
Вводим код программы «Оглавление» 293
Выполняем программу «Оглавление» 294
Как работает программа «Оглавление» 295
Формирование таблицы 297
Снова выполняем программу «Оглавление» 297
Изменение расстояния между позициями табуляции 298
Как форматировать числа, даты и время 299
Программа «Принтер» 300
Визуальная реализация программы «Принтер» 301
Вводим код программы «Принтер» 301
Выполняем программу «Принтер» 302
Как работает программа «Принтер» 302
Расширяем программу «Принтер» 302
Снова выполняем программу «Принтер» 303
Печать на нескольких страницах 303
Печать графики 304
Печать с более высоким качеством 304
Резюме 305
Вопросы и ответы 305
Контрольные вопросы 305
Упражнение 306
Ответы на контрольные вопросы 306
Упражнение (ответ) 306
День 11. Взаимодействие с Windows. 307
Объект Clipboard 307
Программа «Буфер обмена» 307
Визуальная реализация программы «Буфер обмена» 307
Вводим код программы «Буфер обмена» 308
Выполняем программу «Буфер обмена» 309
Как работает программа «Буфер обмена» 309
Перенос графических изображений с помощью буфера обмена: программа «Картинка в буфере» 312
Визуальная реализация программы «Картинка в буфере» 312
Вводим код программы «Картинка в буфере» 313
Выполняем программу «Картинка в буфере» 315
Как работает программа «Картинка в буфере» 316
Функция GetFormat(): другой способ определить тип данных, находящихся в буфере 319
Время ожидания 320
Программа «Счетчик» 320
Визуальная реализация программы «Счетчик» 320
Вводим код программы «Счетчик» 321
Выполняем программу «Счетчик» 322
Усовершенствуем программу «Счетчик» 322
Снова выполняем программу «Счетчик» 323
Снова усовершенствуем программу «Счетчик» 323
Выполняем усовершенствованную программу «Счетчик» 325
Процедура Main() 326
Резюме 329
Вопросы и ответы 329
Контрольные вопросы 329
Упражнение 329
Ответы на контрольные вопросы 329
Упражнение (ответ) 330
День 12. Клавиатура 331
Фокус клавиатуры 331
События клавиатуры 331
Программа «Клавиши» 332
Визуальная реализация программы «Клавиши» 332
Вводим код программы «Клавиши» 333
Выполняем программу «Клавиши» 333
Как работает программа «Клавиши» 334
Экранная форма: перехват событий клавиатуры 337
Программа «Перехватчик» 337
Визуальная реализация программы «Перехватчик» 337
Вводим код программы «Перехватчик» 338
Выполняем программу «Перехватчик» 338
Модифицируем программу «Перехватчик» 339
Свойство Cancel 340
Программа «Клавиша [Tab]» 340
Вводим код программы «Клавиша [Tab]» 342
Выполняем программу «Клавиша [Tab]» 343
Свойство TabIndex 343
Программа «Фокус» 343
Визуальная реализация программы «Фокус» 343
Вводим код программы «Фокус» 344
Выполняем программу «Фокус» 344
Как работает программа «Фокус» 345
Резюме 345
Вопросы и ответы 345
Контрольные вопросы 345
Упражнения 346
Ответы на контрольные вопросы 346
Упражнения (ответы) 346
День 13. Управляющие элементы для работы с файлами 347
Программа «Размер файла» 348
Визуальная реализация программы «Размер файла» 349
Вводим код программы «Размер файла» 350
Выполняем программу «Размер файла» 352
Как работает программа «Размер файла» 353
Свойства списка файлов File List Box, связанные с атрибутами файлов 357
Программа «Выбор файла» 358
Визуальная реализация программы «Выбор файла» 359
Вводим код программы «Выбор файла» 361
Редактируем код формы frmGetFile 361
Выполняем программу «Выбор файла» 364
Как работает программа «Выбор файла» 364
Процедуры, принадлежащие форме frmSelect 364
Процедуры, принадлежащие форме frmGetFile 365
Резюме 369
Вопросы и ответы 369
Контрольные вопросы. 369
Упражнение 370
Ответы на контрольные вопросы 370
Упражнение (ответ) 370
День 14. Доступ к файлам 371
Файлы произвольного доступа 371
Программа «Записная книжка» 371
Визуальная реализация программы «Записная книжка» 372
Вводим код программы «Записная книжка» 373
Выполняем программу «Записная книжка» 376
Как работает программа «Записная книжка» 376
Усовершенствуем программу «Записная книжка» 382
Файлы последовательного доступа 386
Как открыть последовательный файл для вывода 386
Как открыть последовательный файл для присоединения 387
Как открыть последовательный файл для ввода 388
Файлы двоичного доступа 389
Как открыть файл в режиме двоичного доступа 389
Запись в файл в режиме двоичного доступа 389
Чтение из файла в режиме двоичного доступа 390
Резюме 390
Вопросы и ответы 390
Контрольные вопросы 391
Упражнения 392
Ответы на контрольные вопросы 392
Упражнения (ответы) 394
Неделя 3 395
День 15. Массивы, OLE и другие вопросы 397
ASCII-файлы 397
Массивы 399
Типы данных 399
Программа «Массив» 401
Визуальная реализация программы «Массив» 401
Вводим код программы «Массив» 402
Выполняем программу «Массив» 403
Как работает программа «Массив» 403
Размер массива 405
Многомерные массивы 406
Динамические массивы 406
Программа «Массив 2» 407
Визуальная реализация программы «Массив 2» 407
Вводим код программы «Массив 2» 408
Выполняем программу «Массив 2» 409
Как работает программа «Массив 2» 410
Программа «Два способа» 411
Визуальная реализация программы «Два способа» 412
Вводим код программы «Два способа» 412
Выполняем программу «Два способа» 413
Как работает программа «Два способа» 413
Модифицируем программу «Два способа» 414
Снова модифицируем программу «Два способа» 415
OLE 416
Что такое OLE 416
Программа «Используй Paint» 417
Визуальная реализация программы «Используй Paint» 417
Помещаем элемент OLE на форму frmUsePaint 417
Выполняем программу «Используй Paint» 418
Резюме 418
Вопросы и ответы 419
Контрольные вопросы 419
Упражнение 420
Ответы на контрольные вопросы 420
Упражнение (ответ) 420
День 16. Базы данных: элемент Data и язык SQL 421
Программа «Данные» 421
База данных и таблица 421
Вводим данные в таблицу Parts 426
Visual Data Manager и кириллица (примечание редактора перевода для русского читателя) 428
Вернемся к заполнению таблицы 429
Визуальная реализация программы «Данные» 430
Выполняем программу «Данные» 432
Усовершенствуем программу «Данные» 433
Как включить в таблицу логическое поле 434
Свойства и методы элемента Data 435
Метод Refresh 435
Свойство Exclusive 436
Свойство ReadOnly 436
Свойство RecordSource и операторы языка SQL.437
Метод AddNew 439
Метод Delete 440
Навигация по таблице: методы MoveNext, MovePrevious, MoveLast и MoveFirst 440
Свойство RecordSet 440
Свойство Value 442
Свойства EOF и BOF 442
Что еще можно сделать с помощью элемента Data 443
Резюме 443
Вопросы и ответы 443
Контрольные вопросы 443
Упражнение 444
Ответы на контрольные вопросы 444
Упражнение (ответ) 444
День 17. MDI — Многодокументный интерфейс 445
Ваша первая MDI-программа: программа «Дочки-матери» 445
Создаем проект 445
Визуальная реализация программы «Дочки-матери» 448
Вводим код программы «Дочки-матери» 451
Выполняем программу «Дочки-матери» 453
Код материнской формы 455
Код дочерней формы frmPicturel 456
Код дочерних форм frmPicture2 и frmPicture3 457
Которая из форм загружается первой? 457
Переключение между формами в период выполнения программы 458
Меню Window(OKHo) 459
Добавляем меню Окно в главное меню материнской формы 459
Добавляем меню Окно в главное меню дочерней формы 460
Добавляем в меню Окно команды Черепица, Каскад и Расположить значки 461
Как работают команды меню Окно 463
Создаем текстовый редактор 465
Визуальная реализация программы «Мой текстовый редактор» 465
Вводим код программы «Мой текстовый редактор» 467
Выполняем программу «Мой текстовый редактор» 468
Адаптация размеров текстового поля к размерам формы 469
Меняем свойство Caption формы 470
Снова выполняем программу «Мой текстовый редактор” 471
Код процедуры mnuAssignName_Click() 471
Создаем панель инструментов 472
Визуальная реализация панели инструментов и панели состояния 473
Вводим код для элементов панели инструментов 475
Выполняем программу «Мой текстовый редактор» с панелями инструментов и состояния 475
Резюме 476
Вопросы и ответы 477
Контрольные вопросы 477
Упражнения 477
Ответы на контрольные вопросы 478
Упражнения (ответы) 478
День 18. Имитация нажатий клавиш 481
Имитируем нажатия клавиш: программы «Передатчик» и «Приемник» 481
Визуальная реализация программы «Передатчик» 481
Вводим код программы «Передатчик» 482
Визуальная реализация программы «Приемник» 483
Вводим код программы «Приемник» 483
Выполняем программы «Передатчик» и «Приемник» 483
Как работает программа «Передатчик» 485
Как имитировать нажатия клавиш для себя: программа «Я сама» 487
Визуальная реализация программы «Я сама» 487
Вводим код программы «Я сама» 488
Выполняем программу «Я сама» 488
Резюме 489
Вопросы и ответы 489
Контрольные вопросы 489
Упражнение 490
Ответы на контрольные вопросы 490
Упражнение (ответ) 490
День 19. Технология ActiveX и элементы мультимедиа в ваших программах 491
Технология OCX ActiveX 491
Как получить программу «MapUSA» и связанные с ней ActiveX-элементы 493
Выполняем программу MapUSA 493
Звук 494
Анимация 494
Карта: движение мыши 494
Карта: щелчки 494
Окно программы «MapUSA» 494
Меню 495
Программа «Моя карта США»: создаем проект 495
Используем только необходимые ActiveX-элементы 495
Включаем в проект OCX ActiveX-элемент 496
Помещаем OCX ActiveX-элементы на форму 497
Управляем размерами карты 498
Снабжаем программу кнопкой Выход 499
Помещаем на форму поле флажка Гимн США 500
Вводим код для мультимедийного элемента Tegomml 502
Автоматическое воспроизведение звука 504
Бесконечное воспроизведение MIDI-файла 505
Управляем процессом воспроизведения звука 506
Анимация: развевающийся флаг 507
Этикетки со сведениями о штате 511
Отображаем сведения о штате, на «территории» которого находится указатель мыши 512
Щелчки на карте 516
Не хватает только меню 517
Звуковая технология DirectSound 517
Особенности технологии DirectSound 518
Технология DirectX 519
Windows — аппаратно-независимая система 519
3D VR — Виртуальная реальность в трех измерениях 521
Резюме 523
Вопросы и ответы 523
Контрольные вопросы 524
Упражнение 524
Ответы на контрольные вопросы 524
Упражнение(ответ) 524
День 20. Windows API — что это такое и как этим пользоваться 525
Функции Visual Basic 525
Динамические библиотеки DLL 525
Функции Windows API 526
Создаем программу «АР1» 527
Включаем в состав проекта программный модуль 528
Объявляем API-функцию 529
Вызываем функцию MessageBeep() 529
Ищем каталог Windows 531
Вводим код, обрабатывающий событие Click командной кнопки Где Windows? 531
Еще одна кнопка: Выход из Windows 533
Откуда вам знать, как объявляется эта функция? 533
Вводим код для кнопки Выход из Windows 535
Резюме 536
Вопросы и ответы 536
Контрольные вопросы 537
Упражнение 537
Ответы на контрольные вопросы. 537
Упражнение (ответ) 537
День 21. Как создать собственный OCX ActiveX-элемент. 539
Зачем создаются OCX ActiveX-элементы 539
Создаем проект OCX ActiveX-элемента 540
Дайте проекту имя и описание 541
Настраиваем окно UserControl 541
Помещаем командные кнопки в окно UserControl 542
Помещаем в окно UserControl текстовое поле 543
Вводим код для командной кнопки Привет 543
Создаем ОСХ-файл 544
Ваш первый OCX ActiveX-элемент в действии 544
Форма программы TESTACTX: визуальное программирование.545
Вводим код для кнопки Выход 545
Включаем элемент MyActX в состав коллекции инструментов 546
Помещаем элемент ctlMyActX на форму 547
Выполняем тестовую программу 548
Открываем два проекта одновременно 548
Объединяем проекты в группу 549
Событие Resize в жизни нового элемента 549
Оснастим OCX ActiveX-элемент свойством Caption 556
Свойство Caption в действии 559
Снабдим свойство Caption значением по умолчанию 559
Сохраняем значения свойств 560
Событие 561
Геометрические фигуры в красной области 563
Резюме 564
Вопросы и ответы 564
Контрольные вопросы 564
Упражнения 565
Ответы на контрольные вопросы 565
Упражнения (ответы) 565
Приложения 567
Приложение I. Синтаксис и справочная система Visual Basic 569
Программный синтаксис 569
Тип данных 570
Использование свойств объекта в методах 570
Пропуск параметра 571
Применение того же метода к другим объектам 571
Всегда используйте точный синтаксис 572
Получение справки 572
Меню Help 572
Связки See Also, Example и Applies To 572
Вкладка Find окна справки 573
Просмотр примеров в справочной системе 574
Ускорение поиска: F1 575
Правый щелчок на слове 575
Процедуры событий 575
Написание ваших собственных процедур 576
Дополнение ваших процедур параметрами 576
Дополнительные параметры ваших процедур 577
Исполнение процедур событий 578
Создание своих собственных функций 578
Резюме 579
Приложение II. Операторы принятия решений и циклов 580
Условные операторы 580
В одну строчку 581
Использование True и False в операторе If 581
Сравнение строк 581
If.Else 582
If.ElseIf.End If 583
If.ElseIf.Else 584
Select Case 584
Цикл For 585
Досрочный выход из цикла For 585
Цикл Do While 586
Досрочный выход из цикла Do While 587
Loop While 587
Методика внутренних циклов 588
Резюме 588
Приложение III. Вывод данных и получение их от пользователя 589
Об этом справочном разделе 589
Панели сообщений 589
Синтаксис 589
Панель сообщения как инструмент для быстрой отладки 590
Отображение сообщений — кнопки и значки 590
Вывод файлов справки 592
Применение MsgBox для получения отклика пользователя 592
Функция InputBox 593
Синтаксис 594
Вывод справки 594
Стандартное поведение панели ввода 595
Резюме 595
Приложение IV. Стандартные объекты: свойства, методы и события 596
Стандартные элементы управления 596
Общие свойства: свойство Name 596
Общие свойства: свойство Visible 597
Общие свойства: свойство Caption 597
Общие свойства: свойство Enabled.598
Общие свойства: свойство Font 598
Общие свойства: свойство MousePointer 599
Настройка курсора мыши 599
Свойство Style 600
Свойства Picture, DisabledPicture и DownPicture 602
Свойство ToolTipText 604
Резюме 604
Приложение V. Таймеры 605
Зачем нужен таймер 605
Использование таймера 605
Активация и блокировка таймера 606
Свойство таймера Interval 607
Использование статических переменных внутри процедуры таймера 607
Покадровая анимация 608
Использование нескольких таймеров 609
Организация цикла ожидания для выполнения периодических задач 610
Резюме 612
Приложение VI. Элементы управления ActiveX (OCX) и ActiveX-компонент CommonDialog 613
Выяснение того, какие средства ActiveX включены в ваш проект 613
Включение управляющих элементов ActiveX в проект 614
Зарегистрированные управляющие элементы ActiveX 615
Исследование каталогов, которые содержат файлы OCX 615
Регистрация ActiveX-элемента CommonDialog 615
Каким образом файлы ActiveX (OCX) оказываются в вашей системе 617
Сообщения об ошибках: регистрация элементов ActiveX в вашей системе 618
Регистрация элементов управления и удаление их из реестра 618
Использование ActiveX-элемента CommonDialog в вашей программе 619
Применение диалога CommonDialog в качестве средства для выбора других опций 621
Резюме 622
Приложение VII. Объявление функций API 623
Функции API и Windows 623
API Text Viewer 624
Файл Win32api.txt 624
Загрузка файла Win32api.txt в программу API Text Viewer 624
Константы API 625
Объявления 626
Типы 626
Объявление функции API и типа данных 627
Копирование объявлений API в отдельный модуль BAS 627
Создание переменных того типа, который вам нужен 628
Пример: применение функции API GetCursorPos().628
Резюме 629
Приложение VIII. Цикл ожидания 630
Использование функции DoEvents() для прерывания длительных процессов 630
Время ожидания 630
Функция DoEvents() 631
Возвращаемое значение функции DoEvents() 632
Некоторые замечания об использовании функции DoEvents() 632
Использование процедуры Main() и функции DoEvents() для инициализации переменных и свойств 633
Стартовый объект 634
Использование Sub Main() как местоположения цикла ожидания 635
Выполнение фоновых операций 636
Резюме 637
Приложение IX. Доступ к файлам 638
Типы доступа к файлам 638
Файл произвольного доступа 638
Функция FreeFile 638
Произвольный доступ для данных определяемого пользователем типа 639
Открытие файла для произвольного доступа 640
Замечания о текущем каталоге 641
Сохранение записи в файле произвольного доступа 641
Закрытие файла 642
Чтение записей из файла 643
Последовательные файлы 644
Открытие файла для последовательного доступа 644
Чтение данных из последовательного файла 644
Двоичные файлы 645
Открытие файла в качестве двоичного 645
Чтение байтами из двоичного файла 646
Резюме 646
Приложение X. Цвет 647
О цвете и Visual Basic 647
RGB 648
Применение функции RGB() для присвоения значений цветовым свойствам 649
Функция RGB() и цветовые установки монитора.649
Генерация случайных цветов 649
Функция QBColor() 650
Генерация случайного цвета с помощью функции QBColor() 651
Возвращаемые значения функций RGB() и QBColor() 651
Цветовые константы 651
Использование элемента управления CommonDialog для выбора цвета 652
Окрашивание других объектов 653
Отображение пикселов в различных цветах 653
Извлечение цвета 654
Использование цветов системной палитры 655
Резюме 656