Оглавление
Введение 1
Усовершенствованные Web-приложения 2
Усовершенствованный доступ к данным 3
Перспективы развития Visual Basic 2005 4
ЧАСТЬ I. ОСНОВЫ ЯЗЫКА VISUAL BASIC 2005 5
Глава 1. Синтаксические конструкции языка Visual Basic 2005 7
1.1. Переменные 7
1.1.1. Объявление и инициализация переменных 7
1.1.2. Типы данных, определяемых пользователем 17
1.2. Организация ветвлений 19
1.2.1. Условный оператор If ... Then 19
1.2.2. Условный оператор If ... Then ... Else 20
1.2.3. Условный оператор If ... ElseIf 21
1.2.4. Условный оператор Select ... Case 23
1.3. Изменение естественного порядка выполнения программы 25
1.3.1. Оператор GoTo 25
1.3.2. Оператор Exit 26
1.4. Организация повторений (циклы) 27
1.4.1. Цикл While ... End While 27
1.4.2. Цикл Do ... Loop 29
1.4.3. Цикл For ... Next 30
1.4.4. Цикл For ... Each 34
1.5. Массивы 35
1.5.1. Объявление и инициализация массивов 36
1.5.2. Многомерные массивы 41
1.5.3. Сортировка массивов 45
1.6. Коллекции 53
1.6.1. Коллекция ArrayList 53
1.6.2. Гетерогенные коллекции 57
1.6.3. Сортировка элементов в коллекции ArrayList 59
1.6.4. Проверка наличия элемента в коллекции 65
1.6.5. Поиск элементов в коллекции ArrayList 68
1.7. Функции 70
1.7.1 Объявление функции 70
1.7.2. Функции без входных параметров 70
1.7.3. Функции с входными параметрами 72
1.7.4. Функции с множеством выходных параметров 79
Глава 2. Элементы управления Windows Forms 82
2.1. Создание элементов управления с помощью визуальных средств 82
2.1.1. Элемент управления Label 82
2.2. Программное создание элементов управления 83
2.2.1. Элемент управления Button 83
2.2.2. Элемент управления Panel 85
2.2.3. Элемент управления TextBox 86
2.2.4. Элемент управления LinkLabel 90
2.2.5. Элемент управления MaskedTextBox 91
2.2.6. Элемент управления CheckBox 94
2.2.7. Элемент управления NumericUpDown 95
2.3. Элементы управления — коллекции 99
2.3.1. Элемент управления ComboBox 101
2.3.2. Элемент управления ListBox 103
2.3.3. Элемент управления CheckedListBox 105
2.3.4. Элемент управления ImageList 107
2.3.5. Элемент управления TreeView 110
2.3.6. Элемент управления ListView 113
2.3.7. Элемент управления DataGridView 117
Глава 3. Элементы управления Web Forms 125
3.1. Индивидуальные элементы управления 130
3.1.1. Разработка ASP.NET-страниц с помощью визуальных средств 131
3.1.2. Разработка ASP.NET-страниц в окне кода 132
3.1.3. Программное создание элементов управления 133
3.1.4. Элемент управления CheckBox 136
3.1.5. Элемент управления LinkButton 138
3.1.6. Элемент управления Image 139
3.1.7. Элемент управления ImageButton 141
3.2. Элементы управления-коллекции 143
3.2.1. Элемент управления RadioButton 143
3.2.2. Элемент управления DropDownList 145
3.2.3. Элемент управления ImageMap 148
3.3. Обеспечение безопасности сайта 152
3.3.1. Элемент управления Login 154
3.3.2. Элемент управления PasswordRecovery 158
3.3.3. Элемент управления CreateUserWizard 161
3.3.4. Элемент управления LoginStatus 162
3.3.5. Элементы управления LoginView и LoginName 164
3.3.6. Элемент управления ChangePassword 166
ЧАСТЬ II. ПРОГРАММИРОВАНИЕ ГРАФИКИ С ПОМОЩЬЮ GDI+ 173
Глава 4. Программирование двумерной графики 175
4.1. Векторная графика 177
4.1.1. Инструменты для рисования 185
4.1.2. Настройка градиента вдоль пути 199
4.1.3. Задание центральной точки 204
4.1.4. Рисование линий с текстурным заполнением
(кисть TextureBrush) 206
4.1.5. Области (класс Region) 208
4.1.6. Дополнение области 215
4.1.7. Исключение областей 217
4.1.8. Пересечение областей 220
4.1.9. Поворот одной области относительно другой 222
4.1.10. Вложенные контейнеры графики 224
4.2. Растровая графика 231
4.2.1. Метод DrawImage 237
4.2.2. Вырезание 239
4.2.3. Класс Bitmap 242
4.2.4. Альфа-сопряжение 246
4.2.5. Создание визуальных эффектов 248
4.2.6. Клонирование изображения 263
4.2.7. Масштабирование изображения 265
4.2.8. Масштабирование фрагмента изображения 267
4.3. Двухмерные трансформации 269
4.3.1. Перенос 271
4.3.2. Вращение изображения 276
4.3.3. Масштабирование 280
Глава 5. Программирование трехмерной графики 289
5.1. Математика трехмерных трансформаций 289
5.1.1. Операция переноса 291
5.1.2. Операция масштабирования 292
5.1.3. Операция вращения 292
5.1.4. Поворот вокруг координатных осей относительно произвольной
точки 293
5.1.5. Поворот вокруг произвольной оси, проходящей через начало координат 294
5.1.6. Поворот точки M(x, y, z) вокруг произвольной оси относительно начала
координат на угол ? 295
5.1.7. Поворот точки M(x, y, z) вокруг произвольной оси относительно произвольной
точки M0(x0, y0, z0) на угол ? 296
5.1.8. Вращение вокруг вектора, проходящего через начало координат,
на угол ? 296
5.1.9. Вращение точки M(x, y, z) вокруг произвольной прямой
на угол ? 298
5.1.10. Формула для произвольного вращения 300
5.2. Примеры трехмерных трансформаций 300
5.2.1. Вращение объекта относительно трех осей координат 301
5.2.2. Поворот объекта вокруг координатных осей относительно произвольной точки 307
5.2.3. Поворот вокруг оси, проходящей через начало координат 315
5.2.4. Поворот вокруг произвольной оси, проходящей через начало координат, на
угол ? 320
5.2.5. Поворот точки M(x, y, z) вокруг произвольной оси относительно произвольной
точки M0(x0, y0, z0) на угол ? 325
5.2.6. Вращение вокруг вектора, проходящего через начало координат,
на угол ? 332
5.2.7. Вращение вокруг произвольной прямой на угол ? 338
5.2.8. Вращение точки (x, y, z) вокруг прямой, проходящей
через точку (a, b, c) параллельно вектору, на угол ? 346
5.3. Построение трехмерных фигур 353
5.3.1. Визуализация вершин куба 353
5.3.2. Визуализация граней куба 360
5.3.3. Удаление скрытых поверхностей 368
5.3.4. Визуализация трехмерных объектов в виде совокупности
отдельных точек 377
5.3.5. Комбинация отдельных трехмерных объектов
(операция поворота) 409
ЧАСТЬ III. ДОСТУП К ДАННЫМ 429
Глава 6. Работа с MS SQL Server 2005 431
6.1. Структуры данных 431
6.2. Системные хранимые процедуры 436
6.2.1. Просмотр списка баз данных 438
6.2.2. Просмотр таблиц текущей базы данных 439
6.3. Извлечение данных с помощью запросов 440
6.3.1. Запросы без критериев отбора 440
6.3.2. Критерии отбора 442
6.3.3. Упорядочивание результирующего набора данных 450
6.3.4. Отбор верхних строчек результирующего набора данных 451
6.3.5. Агрегативные функции 452
6.4. Извлечение данных с помощью соединений 454
6.4.1. Внутренние соединения 455
6.4.2. Использование псевдонимов при создании соединений 456
6.4.3. Внешние соединения 456
6.5. Разработка подзапросов 456
6.5.1. Подзапросы с ключевыми словами IN и NOT IN 457
6.5.2. Подзапросы с операторами сравнения 458
6.5.3. Подзапросы с ключевыми словами EXISTS и NOT EXISTS 459
6.6. Группировка строк 460
6.7. Модификация данных 461
6.7.1. Создание баз данных 461
6.7.2. Создание, удаление и модификация таблиц 463
6.7.3. Модификация содержимого таблиц 464
6.8. Работа с представлениями 469
6.9. Хранимые процедуры 471
6.9.1. Хранимые процедуры без параметров 473
6.9.2. Хранимые процедуры с входными параметрами 474
6.9.3. Хранимые процедуры с входными и выходными параметрами 475
Глава 7. Использование ADO.NET 476
7.1. Извлечение информации из баз данных 478
7.1.1. Установление соединения с БД 478
7.1.2. Нахождение скалярного значения 479
7.1.3. Извлечение столбца из таблицы БД 481
7.1.4. Отображение всей таблицы 484
7.1.5. Отображение главной/подчиненной таблицы 486
7.1.6. Интерактивный отладчик запросов 490
7.1.7. Использование запросов с параметрами 493
7.2. Создание, модификация и удаление объектов баз данных 496
7.2.1. Создание базы данных 496
7.3. Использование хранимых процедур 499
7.3.1. Хранимые процедуры без параметров 500
7.3.2. Хранимые процедуры, возвращающие скаляр 502
7.3.3. Хранимая процедура с одним входным и одним выходным параметрами 504
7.4. Редактирование данных 507
ЧАСТЬ IV. ОБЪЕКТНО-ОРИЕНТИРОВАННОЕ ПРОГРАММИРОВАНИЕ 511
Глава 8. Создание пользовательских классов 513
8.1. Что такое класс? 513
8.1.1. Для чего нужны классы? 514
8.1.2. Вызов функций-членов классов из основного приложения 514
8.1.3. Создание экземпляров класса 516
8.1.4. Инкапсуляция бизнес-логики в dll-файле 517
8.1.5. Ключевое слово New 520
8.1.6. Проверка области допустимых значений 520
8.1.7. Вычисляемое свойство 547
8.2. Инкапсуляция и абстракция 550
8.2.1. Запись информации о преподавателе в базу данных 550
8.3. Наследование и полиморфизм 562
8.3.1. Интегрирование и дифференцирование функций 563
ПРИЛОЖЕНИЯ 573
Приложение 1. Дополнительные источники информации 575
Приложение 2. Описание компакт-диска 576
Предметный указатель 577
VIII
Оглавление
VII
Оглавление