Моделирование и программирование



   Скупка каслинского литья         купить двери верда   Оргия с трансами на e-batsa    deluxe business promo code


3D моделирование в LightWave 8

LightWave - это мощная программа для 3D-моделирования, анимации и визуализации. Данный продукт может применяться в самых разнообразных областях: от создания высококачественных изображений для полиграфии до выполнения всевозможных спецэффектов в кино и телевидении. Используя широчайший набор инструментов моделирования и анимации, предоставляемых пакетом LightWave, можно в мельчайших подробностях воссоздать тонущий «Титаник» или оживить героя видеоигры. Непревзойденное фотографическое качество получаемых изображений многие считают промышленным стандартом.


Введение.

Несмотря на то что LightWave - очень мощный программный продукт, он сравнительно прост в изучении и, кроме того, легко и быстро настраивается. Предусмотрены варианты конфигурации программы для начинающих и опытных пользователей. В главах 3-5 описывается Modeler (Редактор моделей), предназначенный для моделирования объектов; в главах 6-13 рассматривается Layout (Редактор сцены), который используется для создания анимации, настройки внешнего вида моделей, освещения, композиции и визуализации сцены. Тщательно подобранные примеры позволяют быстро освоить принципы работы одного из самых популярных программных продуктов трехмерного моделирования. Читайте внимательно, и, возможно, в один прекрасный день мы увидим на экране и вашу работу.

Первый запуск
Одним из показателей хорошего стиля работы является применение папок содержания (content directory). Часто пользователи для каждого нового проекта создают папку, в которой будут храниться файлы объектов, изображений и сцен. Будете ли вы хранить все файлы проекта в одной папке или в нескольких - это решать только вам. В каждой папке содержания как минимум должны находиться еще три папки: Objects (Объекты), Images (Изображения) и Scenes (Сцены), в которых будут сохраняться файлы указанных типов. При загрузке и сохранении файлов редакторы Layout и Modeler открывают папки, соответствующие типам этих файлов. Например, когда требуется загрузить объект в Modeler, диалоговое окно загрузки открывается непосредственно в папке Objects из текущей папки содержания.

Интерфейс Layout
Интерфейс Modeler
Настройка интерфейса LightWave
Настройка «горячих» клавиш
Scene Editor
Hub
Работа с файлами
Работа с папками содержания

Окна проекций.
Вся работа как в Layout, так и в Modeler происходит в окнах проекций. В каждом окне проекции есть координационная сетка, единицы измерения которой определяете вы сами. Начало (origin) сетки, или ее центр, находится в точке с координатами (0,0,0) - три координаты соответствуют трем осям X, Y и Z. Поскольку окна проекций и сетка чрезвычайно важны для 3D-моделирования, то необходимо понять, как они организованы, и узнать, как лучше настроить их для более удобной работы.

Обзор
Настройка окон проекций
Настройка сетки
Настройка OpenGL в Layout

Создание геометрии.
Во второй главе рассказывалось, каким образом можно настроить окна проекций Modeler и Layout. Как только вы поработаете над созданием каких-либо геометрических тел, вам, вероятно, захочется настроить Modeler по-своему: добавить новые вкладки, изменить расположение наиболее часто применяемых инструментов, чтобы сделать доступ к ним более простым и удобным, убрать неиспользуемые инструменты. Чтобы быстрее научиться создавать геометрические тела в LightWave, изменим интерфейс и начальные настройки Modeler.

Настройка Modeler
Точки и полигоны
Информационные окна
Примитивы
Тексты и шрифты
Органическое моделирование

Редактирование геометрии.
Одна из еще не затронутых нами сторон редактора моделей - слои. Этот элемент давно уже перешел из разряда простых инструментов моделирования в разряд инструментов организации моделирования. Так, при использовании слоев вы можете сосредоточиться на моделировании отдельной части объекта, что позволяет создавать невероятно сложные модели, состоящие из нескольких меньших и хорошо проработанных. Слои могут облегчить проектирование даже самых трудных объектов, кроме того, они придают значительную гибкость работе в Layout.

Моделирование с использованием слоев
Способы выделения
Буфер обмена
Редактирование геометрии
Удлинение геометрии
Логические операции

Точечные карты.
Поэкспериментировав с наложением изображений на поверхности, вы заметите, что проецирование картинки по одной единственной оси находит весьма ограниченное применение. Большинство поверхностей имеют сложную форму, при проецировании на такие поверхности изображение может в некоторых местах оказаться растянутым, в других сжатым или искаженным. И действительно, если использовать стандартные проекции, то понадобится создавать весьма замысловатые изображения, чтобы получить желаемый результат при проецировании на поверхность .

Текстурные UV-карты
Весовые карты
Карты морфинга
Цветовые карты

Основы анимации.
Первый этап создания трехмерной анимации - это перемещение элемента или изменение его размеров, но перед тем как вы начнете передвигать объекты, необходимо изучить основы работы в трехмерном пространстве. В Layout каждому измерению поставлена в соответствие своя ось, вдоль которой вы можете перемещать объекты. Так, можно принять, что перемещение объекта вдоль оси X (+Х и -X)-это его движение влево-вправо, вдоль оси Y (+Y и -Y) - вверх-вниз, а вдоль оси Z (+Z и -Z) - вперед-назад

Работа в трехмерном пространстве
Работа со временем
Работа с опорными кадрами
Предварительный просмотр анимации

Объекты и кости.
Как и редактор моделей, Layout может работать с многослойными объектами. Но здесь, в отличие от Modeler, предполагается, что каждому слою соответствует определенный объект, и с ним можно работать независимо от других. Поэтому в Layout отсутствуют какие либо инструменты для перемещения между слоями, а объекты, размещенные в них, рассматриваются как самостоятельные элементы. Редактор сцены определяет различные слои по присвоенным им именам.

Понятие об объектах
Стандартные объекты
Работа с подразделенными поверхностями
Деформирование геометрии
Инструменты смещения
Морфинг объектов
Работа с костями
Работа со скелетонами

Освещение.
Опытные пользователи часто называют LightWave программой создания виртуальных изображений. Однако это утверждение не совсем справедливо, когда речь идет об использовании источников света в сценах. Разработчики LightWave постарались сделать каждый источник света максимально приближенным к реальной жизни. Это позволило значительно упростить работу с ними.

Свет и световые эффекты
Добавление источника света
Настройка параметров света
Создание теней
Световые спецэффекты
Глобальное освещение

Камеры.
При построении новой сцены LightWave автоматически создает камеру и источник света. Хотя настройки камеры произведены по умолчанию, ее очень удобно использовать в сцене. При необходимости просто измените настройки. Число камер в сцене не ограничено, добавление новой камеры в сцену не представляет никакой трудности, как и добавление любого другого элемента. Используя несколько камер, можно добиться невероятной гибкости при построении сцены. Вы сможете, например, создавать анимацию под любыми углами обзора и с разных точек или переключаться между камерами с различными настройками. Это позволит сохранить массу времени и гораздо результативней, чем эксперименты с положениями одной камеры.

Управление камерой
Настройка объектива
Сглаживание
Глубина резкости изображения

Дополнительные инструменты создания анимации.
Программа LightWave специально разрабатывалась для облегчения работы художников-аниматоров, в этом и заключается одно из ее значительных преимуществ. Так, в Layout можно автоматически создавать новые опорные кадры, переместив элемент в каком-нибудь из кадров, или редактировать уже существующие. У этого подхода есть как положительные так и отрицательные стороны, но в конечном счете все решать вам. Одно из преимуществ использования опции Auto Key Create (Автоматическое создание опорных кадров) заключается в том, что можно достаточно быстро создать траекторию движения объекта. Просто перейдите в кадр, который хотите сделать oпoрным, и переместите объект.

Анимация по опорным кадрам
Управление опорными кадрами
Модификаторы анимационных каналов
Нацеливание элементов в Layout
Относительное позиционирование
Инверсионная кинематика
Использование окна Motion Options
Модификаторы движения

Создание спецэффектов.
Как вы, вероятно, уже поняли, фон - это то, что отображает Layout, когда в сцене нет ни объектов, ни эффектов. По умолчанию для фона используется заливка черным цветом, однако при необходимости это можно изменить.

Изменение фона
Создание эффектов с использованием частиц
Эффект тумана
Светящиеся объекты
Фильтры изображений
Использование HyperVoxels

Поверхности и текстуры.
Поверхность- это совокупность многоугольников, имеющих одинаковые атрибуты. Такие группы, обозначенные уникальным именем, со всеми значениями параметров сохраняются в файле объекта. Прежде чем начать работу с поверхностями, необходимо определить, какие многоугольники объединяются в группы и как их следует называть. Вы, 'вероятно, заметили, что в Layout нет способа выделения точек и многоугольников. Это очень неудобно при создании поверхностей, поскольку требуется определить, какой группе принадлежат те или иные полигоны. Однако сделать это невозможно, так как нельзя выделить геометрию. Чтобы присвоить поверхности имя, указать распределение полигонов по группам и настроить основные атрибуты, вам придется перейти в Modeler.

Создание поверхностей в Modeler
Работа с поверхностями
Основные атрибуты поверхности
Создание текстуры
Viper
Предварительные установки

Создание сцены.
Для формирования изображения Light Wave использует механизм трассировки лучей. Это означает, что он рассчитывает лучи, исходящие от камеры, источников света и прочих элементов сцены, чтобы создавать реалистичные эффекты отражения, теней, каустические явления и т.д. Например, если вы используете опцию Ray Trace Reflection (Отражение методом трассировки лучей), то LightWave сначала направит лучи от камеры, чтобы определить, какие элементы видимы в текущем |» кадре, затем рассчитает лучи от источников света, чтобы найти элементы, которые окажутся освещенными. И наконец, рассчитает лучи от поверхностей элементов, для которых коэффициент отражения больше нуля, чтобы установить, какие именно элементы будут отражаться. Аналогичным образом происходит расчет теней, каустических эффектов, преломления и т.д. Метод трассировки лучей идеально подходит для создания реалистичных изображений, однако его реализация требует большого количества вычислений, что существенно сказывается на времени формирования анимации.

Оценка времени формирования изображения
Конфигурирование мастера создания сцены
Режим создания изображений
Использование метода трассировки лучей
Настройка отображения объекта
Работа с High Dynamic Range Imagery

Cамоучитель по VB.NET

В главе 1 «Введение» рассматриваются принципиальные отличия VB .NET от предыдущих версий. Прочитать эту главу будет полезно даже опытным программистам.
Глава 2 «Среда программирования VB .NET: Visual Studio .NET» знакомит читателя с интегрированной средой разработки (IDE) Visual Studio .NET.
Материал главы 3 «Выражения, операторы и передача управления» является своего рода «букварем» VB .NET. В этой главе приведено описание базовых синтаксических средств, к числу которых относятся переменные, циклы и операторы.
Глава 4 «Классы и объекты» открывает серию разделов, посвященных объектно-ориентированному программированию. В ней рассматривается конструирование объектов и их использование в программах.
В главе 5 «Наследование и интерфейсы» описываются важные концепции объектно-ориентированного программирования VB .NET: наследование и интерфейсы. Также здесь приведена информация о полезных классах коллекций .NET, упрощающих эффективное управление данными в программах.
Глава 6 «Обработка событий и делегаты» представляет события и новую для Visual Basic концепцию делегатов. События играют ключевую роль в пользовательском интерфейсе программ, и VB .NET зависит от них в такой же степени, как и предыдущие версии VB.
Глава 7 «Обработка ошибок в VB .NET» посвящена исключениям — современному механизму обработки ошибок, позволяющему избавиться от архаичной конструкции On Error Goto, которая появилась в первых версиях VB.
В главе 8 «Формы Windows графический вывод и печать» рассматривается построение пользовательского интерфейса, графика и печать. Хотя в наше время все чаще встречаются приложения, работающие в броузере, традиционные Windows-клиенты прочно занимают свое место; в этой главе приводятся начальные сведения о построении таких клиентов в .NET.
Глава 9 «Ввод-вывод» представляет концепцию ввода/вывода с позиции потоков данных, на которых основана новая концепция обработки ввода/вывода в .NET.


Структура книги
изложены азы программирования в многопоточной модели. Многопоточное программирование открывает множество замечательных возможностей, но при этом оно сопряжено с немалым риском. Надеюсь, эта глава научит читателя безопасно и эффективно использовать многопоточную модель в приложениях

Visual Basic: прошлое и настоящее
«Visual Basic представляет настоящую угрозу для благополучия тех, кто зарабатывает себе на жизнь, разъясняя программистам сложности программирования для Windows» (вряд ли к комментарию Петцольда стоит относиться серьезно, поскольку с того знаменательного дня были проданы миллионы книг, посвященных VB).

Visual Basic: прошлое и настоящее
Версии Visual Basic
.NET и изменение парадигмы
Common Language Runtime
VB как объектно-ориентированный язык
Автоматическая сборка мусора - утечки памяти
Структурная обработка ошибок
Многопоточность
Трудности перехода на VB .NET
Сравнение С# с VB .NET

Приступаем к работе
Пользователи прежних версий VB обычно предпочитают, чтобы среда IDE по внешнему виду и поведению была как можно ближе к традиционной среде VB6. Для этого откройте на начальной странице VS ссылку My Profile и выберите строку Visual Basic Developer в списке Profile

Начальная страница Visual Studio
Создание нового решения
Диалоговое окно New Project
Visual Studio IDE в начале работы
Контекстная справка
Основные окна IDE
Контекстное меню редактора
Редактор
Диалоговое окно Options
Свернутые области в редакторе

Консольные приложения
Каждое приложение VB .NET должно иметь точку вто§а. В точке входа содержится код, автоматически выполняемый при запуске, после чего управление передается остальному коду программы. В относительно простых графических приложениях точка входа может ассоциироваться с начальной формой, как в VB6. Но как было показано в главе 1, код форм Windows достаточно сложен и поиск точки входа может вызвать определенные затруднения.

Диалоговое окно свойств консольного приложения
Команды VB .NET
Комментарии
Переменные и присваивание
Ключевые слова текущей версии VB .NET
Литералы и их соответствие типам данных
Соответствие между числовыми типами
Прочие литералы
Объявление переменных
Преобразования разнотипных значений

Введение в ООП
VB .NET значительно расширяет событийную модель программирования прежних версий VB, в основу которой были заложены элементы управления. В VB .NET вся программа состоит из самостоятельных объектов, взаимодействующих друг с другом. Объекты создаются по шаблонам, называемым классами

Классы как пользовательские типы
Как объекты взаимодействуют друг с другом?
Терминология ООП
Отношения между классами в программах
Абстракция
Инкапсуляция
Наследование
Полиморфизм
Отладка объектно-ориентированных программ
Результат работы программы

Основы наследования
Хотя наследование не является панацеей ООП и во многих ситуациях лучше воспользоваться интерфейсами, не стоит полагать, что без наследования можно как-нибудь обойтись. Наследование — замечательное средство, способное сэкономить немало времени и сил... если им правильно пользоваться. Критерий правильного использования прост: не используйте наследование, если у вас нет абсолютной уверенности в существовании логической связи типа «является частным случаем»

Основы наследования
Знакомство с наследованием
Обращение к функциональности базового класса
Переопределение свойств и методов
Как стать начальником?
Просмотр иерархии наследования
Иерархия наследования в окне классов
Полиморфизм на практике
Замещение
Абстрактные базовые классы

Обработка событий с точки зрения ООП
Поскольку сущность объектно-ориентированного программирования в конечном счете сводится к обмену сообщениями между взаимодействующими объектами, события должны занимать определенное место в этой схеме. В каком-то отношении они нормально вписываются в нее: объект-источник отправляет сообщение, которое указывает на возникновение события.

Схема оповещения посредством обратного
Простейшее инициирование событий
Подключение приемников к источнику
Все вместе
Построение классов событий
Динамическая обработка событий
Отключение обработчиков событий
Обработка событий в иерархии наследования
Делегаты
Создание делегата

Проверка ошибок и обработка исключений
Традиционный механизм обработки ошибок, использовавшийся в прежних версиях VB, а также в программировании СОМ и Windows, основан на проверке возвращаемого значения функции и выборе действий. Обычно для проверки возвращаемого значения в программе создается аналог конструкции Select Case, причем значения интерпретируются абсолютно произвольно.

Проверка ошибок и обработка исключений
Подготовка к структурной обработке исключений
Анализ исключений
Наличие нескольких секций Catch
Инициирование исключений
Иерархия исключений
Две основные ветви иерархии исключений
Секция Finally

Немного истории
Для работы с формами в прежних версиях VB использовался механизм Ruby Forms. Он представлял собой версию программы Ruby, написанной Аланом Купером (Alan Cooper); в результате объединения Ruby с QuickBasic появился VB11. Таким образом, разработка графических приложений в прежних версиях VB зависела от механизма форм, работа которого была практически полностью скрыта от программиста. Стартовая форма, словно по волшебству, появлялась на экране, а элементы размещались на форме программистом на стадии конструирования

Дизайнер форм
Маркеры изменения размеров элемента
Меню Tab Order
Снова о простой программе
Простейшее Windows-приложение
Элементы меню Visual Studio
Начало построения меню в редакторе
Формы MDI
Диалоговые формы и диалоговые окна
ColorDialog

Каталоги и файлы
Обращение к функциональным возможностям классов Directory и File происходит при помощи общих методов. Поскольку методы классов Di rectory и Fi1е являются общими, они могут вызываться и без предварительного создания экземпляра оператором New. Конечно, это повышает их эффективность при разовых обращениях к конкретному файлу или каталогу.

Класс Path
Класс Directory
Классе File
Атрибуты файла
Классы DirectoryInfo и FileInfo
Рекурсивный просмотр дерева каталогов
Важнейшие члены классов FileSystemInfo, FileInfo
Члены базового класса
Члены класса Filelnfo
Потоки данных

Знакомство с многопоточностью
Сохранение контекста сопряжено с определенными затратами времени и памяти. Операционная система запоминает состояние программного потока и передает управление другому потоку. Когда программа захочет продолжить выполнение приостановленного потока, сохраненный контекст приходится восстанавливать, на что уходит еще больше времени.

Домены приложений
Следующий шаг: кнопка Show Count
Форма с заблокированной кнопкой
Многопоточное программирование - проблемы
Создание потоков
Простая многопоточная программно время работы
Переключение между потоками в программе
Процессор предоставляется с приоритетом
Метод Join
Имена потоков, CurrentThread и ThreadState

Почему ADO .NET - не ADO++
В каждой из предыдущих версий VB появлялась новая модель поддержки баз данных. VB .NET следует этой давней традиции и представляет новый способ работы с данными — ADO .NET. При ближайшем рассмотрении выясняется, что название выбрано крайне неудачно. Почему? Потому что ADO .NET просто не является следующим поколением ADO!

Автономные наборы данных: новый подход к БД
Классы сборки System.Data.DLL
Пространство имен System.Data.OleDb
Результаты выполнения простого запроса SQL
System. Data.SqlClient
Вызов хранимой процедуры
Нетривиальный пример работы с БД - 1
Форма результатов приложения
Нетривиальный пример работы с БД - 2
Результат обработки запроса к БД Northwind

Простое web-приложение для ASP .NET
После небольшой задержки VS IDE создает страницу, которой по умолчанию присваивается имя WebFormsl.aspx. Сгенерированная страница содержит код вывода для приложения ASP .NET. Примерный вид VS .NET IDE показан на 12.1. Обратите внимание, сколько файлов было создано для такой простой страницы (имена файлов перечислены в окне решения). Посмотрите на каскадный список стилей, определяющий общие параметры внешнего вида страницы.

Простое web-приложение для ASP .NET
Простое приложение ASP .NET в IDE
Результат выполнения кода ASP .NET
Что передается клиенту?
Файл Web.config
Схемы аутентификации в ASP .NET
Простая web-служба
Проект web-службы в IDE
Автоматически сгенерированная страница
Использование web-службы на стороне клиента

Принципы работы СОМ Технология СОМ упрощает создание программ, сохраняющих совместимость в разных версиях платформы Windows и более или менее независимых от языка программирования. Компоненты СОМ могут создаваться на разных языках, включая классический С (вариант для мазохистов), C++, Delphi, VB5 и 6. Технология СОМ с большим успехом применялась для создания объектов, предназначенных для решения специализированных задач, таких как элементы VB OCX.

Сборки.NET
Манифест
Исследование манифеста
Программа ILDASM в действии
Манифест класса Employee
Общие сборки и GAC
Включение и удаление сборок из GAC
Сильные имена и использование сборок
Построение ключей
Сертификация сборки

Понятно о Visual Basic NET

Visual Basic .NET – это новый мощный язык программирования, созданный корпорацией Microsoft в начале тысячелетия. Сохранив во многом внешнюю простоту своего предшественника – языка Visual Basic 6.0 – он радикально обогатил и усложнил свое внутреннее содержание, предоставив программисту огромное количество новеньких, с иголочки, инструментов. Самый главный из них – настоящее, полноценное объектно-ориентированное программирование.
Visual Basic .NET конечно же по-прежнему чрезвычайно силен во всех областях традиционного программирования для обычных настольных компьютеров, то есть там, где был силен и Visual Basic 6.0. Но, откликаясь на веление времени, он приобрел и новую направленность – программирование в сетях. Теперь он позволяет удобно и легко писать программы для локальных сетей и Интернета, для карманных компьютеров и даже для мобильных телефонов.

Кратко о NET Framework и о Visual Studio NET
Visual Basic .NET – это производительное и надежное оружие в руках профессионального программиста. К тому же очень удобное и, несмотря на мощь, достаточно простое. Поэтому Visual Basic .NET более других профессиональных языков подходит для освоения начинающими программистами. На написание программы уходит минимум времени.

Почему Visual Basic, а не C++?
Почему Visual Basic NET, а не старый Visual Basic?
Отличия Visual Studio NET от и от Visual StudioNET
Какие вам нужны компьютер и Windows?
Краткое содержание с рекомендациями
Программирование без программирования
Первые шаги
Что такое программа на VB?
Что такое программа на VB? - 2
Что такое программа на VB? - 3

Преобразование типов
Во всех этих случаях перед вами встанет вопрос: уступать требованиям VB или не уступать. Казалось бы: чего проще! – уступи и дело с концом. Например, я советовал для предотвращения переполнения объявлять все переменные, участвующие в вычислениях, самым вместительным типом из тех, что могут понадобиться для результатов вычислений. И это хороший совет.

Преобразование типов
Преобразование типов - 2
Преобразование типов - 3
Форматирование чисел
Форматирование чисел - 2
Форматирование чисел - 3
Еще о пользе переменных
Еще о пользе переменных - 2
Префиксы
Порядок создания простого проекта

Понятно о Visual Basic NET (том 2)

Работа с числами и текстом – это хорошо. Но, согласитесь, без графики, без картинок – как-то сухо на экране. Графику мы будем проходить в три приема – в три главы. Каждая глава научит нас каким-то конкретным вещам. В этой главе мы научимся рисовать простые фигуры. В Глава 12. мы улучшим рисование и научимся работать с фотографиями. В Глава 17.  мы научимся рисовать сложные фигуры и делать фигурные окна.

Графика
Работа с графикой в VB основывается на знании так называемых графических объектов. Поэтому данный раздел будет посвящен не графике, а более близкому знакомству с объектами. Не перепрыгивайте через него: чего хорошего, если вы будете рисовать, не понимая, как вы это делаете?

Объекты – экземпляры класса
Понятие объекта, как экземпляра класса
Создаем объекты из класса
Создаем объекты из класса - 2
Невидимый код – Win Form Designer
Невидимый код – Win Form Designer - 2
Удобство визуального программирования
Класс – это программа
Невидимые объекты
Графические объекты. Рисуем и пишем.

Из чего состоит тело процедуры. Выражения
Из чего состоят операторы? Они могут включать в себя блоки других операторов, как это делают, например, операторы If и Do. Они могут включать в себя выражения. Мы знаем с вами уже три вида выражений: арифметические (их значение – число), строковые (их значение – текстовая строка) и логические (они принимают одно из двух значений: True или False).

Переменные и параметры объектного типа
Переменные объектного типа
Параметры объектного типа
Параметры объектного типа - 2
Параметры объектного типа - 3
Соответствие типов
Соответствие объектных типов
Неопределенные параметры, число параметров
Что такое методы
Пользуемся подсказкой - объектные типы

Программирование на VB – второй уровень
Если вам кажется, что вы уже все можете, то вы правы и неправы. Правы потому, что вы можете написать сколь угодно большую и сложную программу, разбив ее на разумное число процедур. Неправы потому, что ваша способность манипулировать данными разных типов еще очень ограничена. А без нее вам не поддадутся многие «умные» задачи. Например, не познакомившись с так называемыми массивами, вы не сможете запрограммировать игру в крестики-нолики или морской бой. Не освоив работу со строками, вы не сможете решить задачу о мало-мальски серьезной шифровке и дешифровке секретных сообщений.

Переменные с индексами
Переменные с индексами - 2
Одномерные массивы
Основы работы с одномерными массивами
Основы работы с одномерными массивами - 2
Мощь одномерных массивов
Мощь одномерных массивов - 2
Двумерные массивы
Двумерные массивы - 2
Двумерные массивы - 3

Понятно о Visual Basic NET (том 3)

Определим шутливо сплайн, как «ломаную, которая хочет стать кривой». Задается сплайн, как и ломаная, массивом точек. Метод DrawCurve рисует сплайн, то есть соединяет соседние точки массива плавной кривой. Степень «желания» стать кривой, определяет третий параметр метода, так называемое напряжение (tension). Если он равен нулю, то и «желание нулевое», а значит сплайн остается ломаной, как вы и видите на самой левой фигуре из Рис. 17.5. При увеличении численного значения этого параметра сплайн становится все более и более «кривым», что вы можете видеть на остальных фигурах. Если параметр не указывать, он считается равным 0,5.

Сложные фигуры
Некоторые из фигур, которые мы рассмотрим, действительно сложны, а некоторые не столько сложны, сколько требуют для своего задания большого числа точек.

Ломаная
Ряд прямоугольников
Многоугольник
Кривая Безье
Сплайн
Графический путь
Фигурные (непрямоугольные) формы
Создаем непрямоугольную форму
Создаем непрямоугольную форму - 2
Придаем экзотической форме подвижность

Инкапсуляция – «Объект в футляре»
Нам будет легче проникнуть в суть объектов в программировании, если мы рассмотрим основные их понятия на аналогии с объектами реального мира, которые они очень напоминают. В качестве примера разберем игрушечный радиоуправляемый автомобиль. Посмотрим, где у него данные и действия

Инкапсуляция – «Объект в футляре»
Инкапсуляция – «Объект в футляре» - 2
Инкапсуляция – «Объект в футляре» - 3
Создаем 2 объекта одного класса
Создаем 2 объекта одного класса - 2
Создаем 2 объекта одного класса - 3
Создаем 2 объекта одного класса - 4
Создаем массив объектов одного класса
Статические и динамические компоненты
Поля и свойства объектов

Из чего состоят пространства имен
Смысл пространств имен. Среди огромного количества классов, модулей и других компонентов библиотеки классов .NET Framework наверняка есть «тезки». Чтобы их не перепутать, «тезок» «рассовали» по разным пространствам имен. Вот половина ответа.

Окно Class View
Из чего состоят пространства имен
Из чего состоят классы, структуры и модули
Процедуры, функции, свойства и конструкторы
Синтаксические схемы элементов VB
Синтаксические схемы элементов VB - 2
Обычные и ссылочные типы
Механизм действия ссылочных типов
Механизм действия ссылочных типов - 2
Механизм действия ссылочных типов - 3

Ответы к задачам

Понятно о Visual Basic NET (том 4)

Visual Basic .NET – это производительное и надежное оружие в руках профессионального программиста. К тому же очень удобное и, несмотря на мощь, достаточно простое. Поэтому Visual Basic .NET более других профессиональных языков подходит для освоения начинающими программистами. На написание программы уходит минимум времени. Изучив эту книгу, вы сможете быстро писать такие, например, приложения, как собственные калькулятор или проигрыватель MP3-файлов, шифровщик секретных сообщений или будильник, веб-браузер или простенькая игра…. Приложив же достаточные усилия, вы сможете создавать вполне солидные продукты, такие, например, как система управления базами данных, графический редактор или сложная, красивая игра, которую не стыдно опубликовать в Интернете.

Почему Visual Basic, а не C++?
Что такое программа с точки зрения VB и большинства других объектно-ориентированных языков программирования, удобнее всего рассмотреть на аналогии. Представьте себе, что к вам, живущему в большом городе, в гости приехал ваш знакомый, никогда не выезжавший из своего поселка. Он хочет сходить на футбол, а вам идти вместе с ним некогда. Чтобы он смог добраться до стадиона и вернуться живым и здоровым, вы пишете ему на листе бумаги такую инструкцию

Кратко о NET Framework и о Visual Studio NET
Почему Visual Basic, а не C++?
Почему Visual Basic NET, а не старый Visual Basic?
Отличия Visual Studio NET от и от Visual StudioNET
Какие вам нужны компьютер и Windows?
Краткое содержание с рекомендациями
Программирование без программирования
Первые шаги
Что такое программа на VB?
Что такое программа на VB? - 2

Форматирование чисел
Одни и те же значения могут выглядеть по-разному. Например, в школьной тетрадке одну и ту же дату вы можете записать так – 25.12.03 и так – 25 декабря 2003 года. Одно и то же число вы можете записать так – 500 и так – 5*102. Что касается VB, то он выбирает внешний вид данных, исходя из своих соображений, которые не всегда совпадают с нашими желаниями. В этом случае возникает необходимость строго указать компьютеру, в каком виде (формате) мы хотим лицезреть то или иное значение.

Преобразование типов
Преобразование типов - 2
Преобразование типов - 3
Форматирование чисел
Форматирование чисел - 2
Форматирование чисел - 3
Еще о пользе переменных
Еще о пользе переменных - 2
Префиксы
Создание простого вычислительного проекта

Окно модуля
Окно модуля служит для просмотра, написания и редактирования программ Visual Basic. Допускается открытие такого числа окон, сколько имеется модулей. Это позволяет просматривать, и копировать текст между различными формами или модулями.

Окно проверки
Область Локальные окна отладки
Область Контрольные окна отладки
Индикаторы на полях
Окно отображения значения
Окно проекта
Окно свойств
Типы данных - Локальные окна отладки
Диалог Свойства базы данных
Окна диалога Выбор рисунка, Выбор значка

Клавиши редактирования текста программы
Поиск следующего вхождения образца. Если перед этим не был выполнен поиск, выводится окно диалога Поиск. SHIFT+F3 Поиск предыдущего вхождения образца. Если перед этим не был выполнен поиск, выводится окно диалога Поиск. SHIFT+TAB

Клавиши редактирования текста программы
Клавиши быстрого вызова команд меню
Клавиши быстрого вызова в окне проверки
Клавиши быстрого вызова в окне отладки
Клавиши быстрого вызова в окне свойств
Клавиши быстрого вызова в окне проекта

Глобальные клавиши быстрого вызова
Запуск программы обработки ошибки или возврат ошибки в вызвавшую процедуру. Не влияет на установки по отслеживанию ошибок, сделанные на вкладке Общие окна диалога Параметры.

Клавиши быстрого вызова в окне UserForm
Команда "Параметры" (меню "Сервис")
Команда Удалить Элемент... (меню Файл)
Команды Очистить и Удалить (меню Правка)
Команда Импорт файла и Экспорт файла
Команда Сброс проект (меню Запуск)
Команды Конструктор и Выход из конструктора
Команды Запуск подпрограммы/формы
Команда Закрыть и вернуться в приложение
Команда Объект (меню "Вставка")

Окно диалога Вставка файла
Отображает список доступных компьютеров, серверов, дисков и папок, используемых для поиска открываемого проекта.

Окно UserForm
Окно диалога Дополнительные элементы...
Окно диалога Последовательность перехода
Окно диалога Вставка процедуры
Команда Программа (меню Вид)
Команда Вернуться к последней позиции
Команда Просмотр объектов (меню "Вид")
Команда Свойства (меню "Вид")
Команда Панель элементов (меню "Вид")
Команда Стек вызова (меню "Вид")

Массивы параметров
Для обозначения массива параметров используется ключевое слово ParamArray. Такой массив описывается как массив типа Variant и всегда представляет последние элементы из списка аргументов в описании процедуры

Область определения и видимость
Область определения и видимость - 2
Тип данных Variant
Синтаксис Visual Basic
Синтаксис Visual Basic - 2
Использование массивов
Использование массивов - 2
Использование констант
Использование констант - 2
Эффективное использование типов данных

Инструкции Visual Basic
Исполняемые инструкции, которые инициируют действие. Они могут выполнить метод или функцию, а также могут организовать повторение или ветвление блоков программы. Эти инструкции часто содержат математические или условные операторы.

Метод Add
Метод AddFromFile
Метод AddFromGuid
Метод AddFromString
Метод Close
Метод CreateEventProc
Метод DeleteLines
Метод Export
Метод Find
Метод GetSelection

Метод ProcOfLine
Пустые строки или строки комментария, предшествующие описанию процедуры, а также, если процедура является последней в программном модуле, все пустые строки, следующие за процедурой, считаются находящимися внутри процедуры.

Метод ProcStartLine
Метод Remove
Метод ReplaceLine
Метод SetFocus
Метод SetSelection
Метод Show
Метод Show - 2
Метод Show - 3
Метод Show - 4
Событие Click

Свойство Left
Возвращает или задает значение типа Single, содержащее положение левой границы окна на экране в единицах твип. Чтение/запись.

Свойство LinkedWindowFrame
Свойство FullPath
Свойство MainWindow
Свойство Major
Свойство Minor
Свойство Mode
Свойство Name
Свойство NumIndices
Свойство Object
Свойство Parent

Объект VBComponent
Объект VBComponent используют для доступа к программному модулю, связанному с компонентом, или для изменения значений свойств компонента. Свойство Type позволяет определить тип компонента, ссылка на который содержится в объекте VBComponent. Для определения семейства, в которое входит компонент, используется свойство Collection.

Семейство VBComponents
Объект CodePane
Семейство CodePanes
Объект Events
Семейство LinkedWindows
Объект Property
Семейство Properties
Объект Reference
Семейство References
Объект ReferencesEvents

Cамоучитель по VB.NET

В главе 1 «Введение» рассматриваются принципиальные отличия VB .NET от предыдущих версий. Прочитать эту главу будет полезно даже опытным программистам.
Глава 2 «Среда программирования VB .NET: Visual Studio .NET» знакомит читателя с интегрированной средой разработки (IDE) Visual Studio .NET.
Материал главы 3 «Выражения, операторы и передача управления» является своего рода «букварем» VB .NET. В этой главе приведено описание базовых синтаксических средств, к числу которых относятся переменные, циклы и операторы.
Глава 4 «Классы и объекты» открывает серию разделов, посвященных объектно-ориентированному программированию. В ней рассматривается конструирование объектов и их использование в программах.
В главе 5 «Наследование и интерфейсы» описываются важные концепции объектно-ориентированного программирования VB .NET: наследование и интерфейсы. Также здесь приведена информация о полезных классах коллекций .NET, упрощающих эффективное управление данными в программах.
Глава 6 «Обработка событий и делегаты» представляет события и новую для Visual Basic концепцию делегатов. События играют ключевую роль в пользовательском интерфейсе программ, и VB .NET зависит от них в такой же степени, как и предыдущие версии VB.
Глава 7 «Обработка ошибок в VB .NET» посвящена исключениям — современному механизму обработки ошибок, позволяющему избавиться от архаичной конструкции On Error Goto, которая появилась в первых версиях VB.
В главе 8 «Формы Windows графический вывод и печать» рассматривается построение пользовательского интерфейса, графика и печать. Хотя в наше время все чаще встречаются приложения, работающие в броузере, традиционные Windows-клиенты прочно занимают свое место; в этой главе приводятся начальные сведения о построении таких клиентов в .NET.
Глава 9 «Ввод-вывод» представляет концепцию ввода/вывода с позиции потоков данных, на которых основана новая концепция обработки ввода/вывода в .NET.
В главе 10 «Многопоточные приложения» изложены азы программирования в многопоточной модели. Многопоточное программирование открывает множество замечательных возможностей, но при этом оно сопряжено с немалым риском. Надеюсь, эта глава научит читателя безопасно и эффективно использовать многопоточную модель в приложениях.

Структура книги
«Сборки .NET, установка приложений и COM Interop» содержит очень краткое описание работы сборок и механизма COM Interop. Информацию по этим темам также следует искать в книгах более высокого уровня.

Visual Basic: прошлое и настоящее
Первые две версии Visual Basic для Windows хорошо подходили для создания прототипов программ и демонстрационных приложений — но этим все и ограничивалось. В обеих версиях отличная среда программирования сочеталась с относительной простотой языка. Сам язык обладал относительно бедными возможностями. С появлением VB3 и новых средств работы с базами данных, требовавших изучения новой модели программирования, первая реакция нередко была обескураживающей: «Зачем они испортили VB?!»

Visual Basic: прошлое и настоящее
Версии Visual Basic
NET и изменение парадигмы
Common Language Runtime
VB как объектно-ориентированный язык
Ликвидация утечки памяти
Структурная обработка ошибок
Многопоточность
Трудности перехода на VB .NET
Сравнение С# с VB .NET

Приступаем к работе
В VB .NET каждый проект является частью того, что Microsoft называет решением (solution). Любой код, созданный в VB .NET IDE, относится к некоторому решению. Решение можно рассматривать как хранилище всей информации, необходимой для компиляции программы и ее перевода в форму, пригодную для исполнения. Таким образом, решение состоит из одного или нескольких проектов; различных вспомогательных файлов (графических изображений, ресурсных файлов, метаданных, то есть данных, описывающих другие данные, и т. д.); документации в формате XML и практически всего, что приходит В голову.

Окно внешних ссылок
Диалоговое окно Add Reference
Окно вывода и окно команд
Работа с решением
Включение новых проектов
Включение проекта в существующее решение
Компиляция
Окно вывода при успешном построении
Окно вывода при обнаружении ошибок
Пакетная компиляция

Консольные приложения
В приведенных программах следует обратить внимание на пару неочевидных обстоятельств. Как было сказано выше, при вызове метода обычно указывается конкретный экземпляр класса. Исключение из этого правила составляют особые методы класса, называемые общими методами. Общие методы существуют на уровне класса, а не его отдельных экземпляров.

Константы
Циклы
Цикл с определенным условием
Циклы с неопределенным условием
Операторы сравнения
Условные команды и принятие решений
Изменения в видимости переменных
Ускоренная проверка
Select Case
GoTo

Введение в ООП
Класс также можно рассматривать как «интеллектуальный» пользовательский тип, обладающий расширенными возможностями — например, перед изменением своих внутренних данных класс может проверить их новые значения. При обращении к данным класс может проверить полномочия стороны, от которой поступил вызов. Наконец, представьте себе пользовательский тип, который возвращает данные в определенном формате вместо того, чтобы просто выдавать их внутреннее представление.

Параметризованные конструкторы
Пример: класс String
Пример: класс StringBuilder
Конструкторы класса
Хронометраж — класс StringBuilder?
Пространства имен
Импортирование
Страница Imports окна свойств
Справочная система и .NET Framework
Классы коллекций в .NET Framework

Основы наследования
Начнем с повторения некоторых терминов. Класс, взятый за основу при определении нового класса, называется базовым классом. Класс, определяемый на основе базового класса, называется производным классом. Производный класс автоматически наследует всю открытую функциональность базового класса, однако эта функциональность может переопределяться в производном классе и дополняться новыми возможностями.

Метод ToString
Функция GetType и рефлексия
Информация о Windows.Forms.Form
Проблема неустойчивости базовых классов
Интерфейсы
Механика реализации интерфейса
Нетривиальное применение интерфейсов
Выбор между интерфейсами и наследованием
Важнейшие интерфейсы .NET Framework
ICloneable

Обработка событий с точки зрения ООП
Традиционно в VB источник (отправитель) события не идентифицировался в процедуре события. Единственным исключением были массивы управляющих элементов, когда конкретный элемент-отправитель выделялся из массива при помощи параметра-индекса. Смысл дополнительной объектной переменной sender в обобщенной процедуре события VB .NET становится очевидным, если вспомнить, что одна процедура может обрабатывать несколько событий, поступающих от разных объектов.

Построение классов событий
Динамическая обработка событий
Отключение обработчиков событий
Обработка событий в иерархии наследования
Делегаты
Создание делегата
Пример: специализированная сортировка
Групповые делегаты
Групповые делегаты как члены классов
Делегаты и события

Проверка ошибок и обработка исключений
Когда в программе происходит исключение, встроенный механизм начинает искать обработчик, подходящий для данного объекта исключения (то есть для конкретной причины ошибки). Речь идет не о наборе GoTo, запутывающих логику программы, — обработка исключения больше напоминает запасную дорогу, идущую параллельно главной магистрали и связанную с ней несколькими переездами — настоящей мечте любого водителя, попавшего в пробку.

Проверка ошибок и обработка исключений
Подготовка к структурной обработке исключений
Анализ исключений
Наличие нескольких секций Catch
Инициирование исключений
Иерархия исключений
Две основные ветви иерархии исключений
Секция Finally

Немного истории
Программисты предпочитают работать с логичными и последовательными моделями, а с точки зрения ООП механизм форм в ранних версиях часто выглядел как нагромождение искусственных и несогласованных «заплат». В VB .NET ситуация полностью изменилась. Здесь формы являются экземплярами класса Windows. Forms. Form, и поведение форм может изменяться посредством наследования точно так же, как и поведение любых других классов .NET Framework.

Создание кнопки во время выполнения программы
Построение элементов наследования
Переопределение события
Добавление новых событий
Добавление новых свойств
Свойства MaxValue и MinValue
Средства базового класса Control
События клавиатуры
События проверки
Графика: GDI+

Немного истории
Прежде чем рассматривать операции с каталогами и файлами, следует познакомиться с классом Path. Этот класс содержит несколько общих методов, предназначенных для обработки уточненных имен файлов [ Любопытная подробность: в описании этого класса, приведением в документации VB .NET, упоминаются некоторые аспекты кросс-платформенных операций. В частности, упоминается о различиях между символом «/» и разделителем каталогов «\», используемым в системах семейства UNIX

Значения перечисляемого
Чтение и запись двоичных данных
Файл, записанный с применением
Основные методы
Объектные потоки: сохранение и восстановление
Простая сериализация
Простое восстановление
Объект, сохраненный в формате SOAP
Динамический список с поддержкой сериализации
Сетевые потоки

Знакомство с многопоточностью
Трудно сказать, что следует понимать под выражением «выполняется объект», но один из авторов часто ведет семинары по многопоточному программированию и этот вопрос задают чаще других. Возможно, кто-то полагает, что работа программного потока начинается с вызова метода New класса, после чего поток обрабатывает все сообщения, передаваемые соответствующему объекту. Такие представления абсолютно неверны.

Завершение или прерывание потоков
Приостановка и уничтожение потоков
Фоновые потоки (демоны)
Извлечение данных из кода HTML
Главная опасность (общие данные)
Проблемы многопоточности
Решение проблемы: синхронизация
Команда SyncLock и класс Monitor
Взаимная блокировка
Анализ взаимной блокировки в окне потоков

Почему ADO .NET - не ADO++
Поскольку программа обычно работает с автономными данными, типичному приложению .NET для обработки каждого запроса приходится заново подключаться к базе данных. На первый взгляд это кажется большим шагом назад, но такое впечатление обманчиво. Старый способ поддержания соединений плохо подходит для мира распределенных систем: если ваше приложение открывает соединение с базой данных и оставляет его открытым, серверу приходится поддерживать это соединение до тех пор, пока клиент его не закроет.

Автономные наборы данных: новый подход
Классы сборки System.Data.DLL
Пространство имен System.Data.OleDb
Результаты выполнения простого запроса SQL
System. Data.SqlClient
Вызов хранимой процедуры
БД в VB .NET - 1
Форма результатов приложения
БД в VB .NET - 2
Запрос к базе данных Northwind

Простое web-приложение для ASP .NET
Создайте на форме надпись и кнопку. Растяните надпись по ширине страницы, расположите кнопку под надписью и выровняйте по центру, при этом генерируются экземпляры классов из пространства System. Web. UI. WebControl. Ссылка на это пространство имен автоматически включается в решение при создании «скелета» нового приложения ASP .NET.

Простое приложение ASP .NET в IDE
Код ASP .NET
Что передается клиенту?
Файл Web.config
Схемы аутентификации в ASP .NET
Простая web-служба
Проект web-службы в IDE
Страница с описанием web-службы
Использование web-службы на стороне клиента
Простейший вариант использования web-службы

Принципы работы СОМ
Именно благодаря наличию манифеста появляется возможность создания сборок, состоящих из нескольких файлов. Кроме того, данные манифеста заменяют сложную систему регистрации компонентов в реестре. Первое представление о сборке и ее манифесте дает файл Assemblylnfo.vb; чтобы просмотреть содержимое этого файла, дважды щелкните на соответствующей строке окна решения VS .NET.

Сборки.NET
Манифест
Исследование манифеста
Программа ILDASM в действии
Манифест класса Employee
Общие сборки и GAC
Включение и удаление сборок из GAC
Имена и совместное использование сборок
Построение ключей
Сертификация сборки

Cамоучитель по VB.NET (2)

Прежде всего я постарался изложить основные принципы объектно-ориентированного программирования в контексте языка VB .NET. Без хорошей подготовки в этой области невозможно в полной мере пользоваться всеми преимуществами VB .NET. Кроме того, я попытался изложить хотя бы азы всех аспектов языка, которыми должен владеть любой профессиональный разработчик VB .NET. К их числу относится и многопоточность, вскользь упоминаемая во многих книгах. Из этого вовсе не следует, что я рассматриваю все возможные (или хотя бы наиболее характерные) области применения VB .NET на платформе .NET, для чего понадобилась бы книга вдвое, а то и втрое большего объема. Данная же книга посвящена навыкам, которые вам необходимо освоить, а не их практическому применению (впрочем, примеры я постарался сделать как можно более реалистичными, по возможности избегая «игрушечных» программ). Наконец, поскольку большинство читателей уже обладает опытом программирования в одной из предыдущих версий Visual Basic, я приложил все усилия к тому, чтобы как можно более четко подчеркнуть различия между VB .NET и прежними версиями VB. И все же опыт работы на VB не является обязательным условием для чтения — достаточно опыта программирования на любом языке.

Введение
Краткий обзор ASP .NET в самых общих чертах представляют две важнейшие области применения .NET: ASP .NET и ADO .NET. Учтите, что эти две главы не претендуют на глубину и полноту изложения и за информацией об использовании ASP .NET и ADO .NET в программах следует обращаться к специализированной литературе

Версии Visual Basic
К сожалению, большинство программистов VB, выросших на этом продукте, ранее никогда не использовали принципы объектно-ориентированного программирования. Когда в VB впервые появились классы, многие программисты VB понятия не имели, что это такое и зачем они нужны.

Версии Visual Basic
Версии Visual Basic - 2
NET и изменение парадигмы
Common Language Runtime
Common Language Runtime - 2
VB как объектно-ориентированный язык
NET и изменение парадигмы
Структурная обработка ошибок
Многопоточность
Трудности перехода на VB .NET

Среда программирования VB .NET: Visual Studio .NET
Как правило, работа над новой программой начинается с команды New Project. На экране появляется диалоговое окно ( 2.2; список проектов прокручен примерно до середины). В окне перечислены типы проектов, автоматически создаваемых в VB .NET, — на момент написания книги их было десять. Шаблоны проектов VB .NET работают практически .так же, как в VB6.

Основные окна IDE
Редактор
Редактор - 2
Многоэлементный буфер обмена
Временное хранение фрагментов
Список задач TODO, HACK и UNDONE
Окно решения
Окно свойств
Окно внешних ссылок
Окно вывода и окно команд

Выражения, операторы и передача управления
Каждое приложение VB .NET должно иметь точку вто§а. В точке входа содержится код, автоматически выполняемый при запуске, после чего управление передается остальному коду программы. В относительно простых графических приложениях точка входа может ассоциироваться с начальной формой, как в VB6. Но как было показано в главе 1, код форм Windows достаточно сложен и поиск точки входа может вызвать определенные затруднения

Преобразования разнотипных значений - 3
Строки
Строковые функции
Форматирование данных
Математические операторы
Математические операторы - 2
Круглые скобки и приоритет операций
Математические функции и константы
Константы
Циклы

Классы и объекты
В частности, мы покажем, как использовать важный класс StringBuilder и некоторые новые классы коллекций .NET Framework (в том числе хэш-таблицы и динамические массивы). Вы узнаете о некоторых тонкостях, связанных с передачей объектов функциям и процедурам. Только после этого мы перейдем к определению новых классов и построению объектов на их основе

ArrayList
ArrayList - 2
Хэш-таблицы
Хэш-таблицы - 2
Объектные переменные
Объектные переменные - 2
Is и Nothing
TypeName и TypeOf
Проблемы с передачей объектных переменных
Проблемы с передачей объектных переменных - 2

Наследование и интерфейсы
С этого момента под термином «наследование» будет пониматься наследование реа-лизации. Если речь пойдет о программном коде, использующем наследование интерфейсов, мы будем употреблять термин «реализация интерфейсов». На первый взгляд терминология кажется крайне запутанной, но большинство программистов быстро привыкают к этим сокращенным обозначениям.

Интерфейсы
Интерфейсы - 2
Механика реализации интерфейса
Механика реализации интерфейса - 2
Механика реализации интерфейса - 3
Механика реализации интерфейса - 4
Нетривиальное применение интерфейсов
Выбор между интерфейсами и наследованием
Важнейшие интерфейсы .NET Framework
ICloneable

Обработка событий и делегаты
Общий смысл происходящего заключается в том, что при возникновении события объект-источник вызывает заранее определенные функции объектов-приемников. Вызываемая функция приемника регистрируется источником события одновременно с регистрацией объекта-приемника. Такая схема называется оповещением посредством обратного вызова (callback notification), потому что источник события вызывает метод приемника по заранее известному ему адресу.

Обработка событий в иерархии наследования
Делегаты
Создание делегата
Создание делегата - 2
Специализированная сортировка
Специализированная сортировка - 2
Специализированная сортировка - 3
Групповые делегаты
Групповые делегаты - 2
Групповые делегаты как члены классов

Обработка ошибок в VB .NET
Обычно для проверки возвращаемого значения в программе создается аналог конструкции Select Case, причем значения интерпретируются абсолютно произвольно. Например, в одном случае 0 означает успех, а в другом — неудачу. А в приведенном ниже фрагменте кода VB6 коды выглядят и вовсе странно

Анализ исключений
Наличие нескольких секций Catch
Наличие нескольких секций Catch - 2
Инициирование исключений
Инициирование исключений - 2
Инициирование исключений - 3
Иерархия исключений
Исключения как замена для goto
Секция Finally
Рекомендации по использованию исключений

Формы Windows, графический вывод и печать
После общих сведений о формах и элементах мы познакомимся с общими принципами графического программирования в VB .NET. В этой области новый язык несколько отличается от прежних версий VB (например, из него исчезли знакомые функции-примитивы Сircle и Line). Далее рассматривается тема печати, которая в .NET представляет собой частный случай графического вывода.

Размещение элементов на форме
Наследование форм
Элементы на базе наследования
Переопределение события
Переопределение события - 2
Добавление новых событий
Добавление новых свойств
Иерархия имен System.Windows.Forms
Иерархия имен System.Windows.Forms - 2
Средства базового класса Control

Ввод-вывод
Программа следит за изменениями в каталогах (такими, как создание и удаление файлов) и обрабатывает различные события, инициируемые в зависимости от типа изменений. В предыдущих версиях VB написание подобных программ было сильно затруднено тем, что программисту приходилось использовать Windows API весьма нетривиальным образом.

Простое восстановление
Сериализация при клонировании объектов
Список с поддержкой сериализации
Список с поддержкой сериализации - 2
Список с поддержкой сериализации - 3
Сетевые потоки
Сетевые потоки - 2
Сетевые потоки - 3
Монитор файловой системы
Монитор файловой системы - 2

Домены приложений
В .NET все управление памятью осуществляется исполнительной средой, поэтому в одном процессе Win32 могут работать несколько доменов приложений. Одним из преимуществ этой схемы является улучшение возможностей масштабирования (scaling) приложений. Средства для работы с доменами приложений находятся в классе AppDomain. Рекомендуем изучить документацию по этому классу. С его помощью можно получить информацию об окружении, в котором работает ваша программа.

Решение проблемы: синхронизация - 2
Команда SyncLock и класс Monitor
Взаимная блокировка
Взаимная блокировка - 2
Взаимная блокировка - 3
Взаимная блокировка - 4
Взаимная блокировка - 5
Совместная работа с данными
Совместная работа с данными - 2
Совместная работа с данными - 3

Поддержка баз данных в VB .NET
Чтобы увидеть, как работают элементы, связанные с данными (data-bound controls), воспользуйтесь мастером Data Form Wizard. Просмотр кода, сгенерированного этой программой, поможет вам больше узнать о возможностях VB. NET в области работы с базами данных.

Почему ADO .NET — не ADO++
Новый подход к работе с базами данных
Классы сборки System.Data.DLL
Пространство имен System.Data.OleDb
Пространство имен System.Data.OleDb - 2
Пространство имен System.Data.OleDb - 3
System. Data.SqlClient
Вызов хранимой процедуры
Нетривиальный пример - 1
Нетривиальный пример - 2

Краткий обзор ASP .NET
Обратите внимание: все теги элементов страницы снабжаются префиксом asp:. Дело в том, что элементы ASP .NET не являются элементами HTML. Они находятся на сервере, и обычные элементы HTML используются только в страницах, передаваемых клиенту (там, где это возможно). Так, в HTML не существует аналогов для таких элементов ASP .NET, как календарь или элемент интервальной проверки.

Что передается клиенту? - 3
Файл Web.config
Файл Web.config - 2
Файл Web.config - 3
Файл Web.config - 4
Простая web-служба
Простая web-служба - 2
Использование web-службы у клиента
Использование web-службы у клиента - 2
Использование web-службы у клиента - 3

Сборки .NET, установка приложений и COM Interop
Метаданные являются частью сборки, поэтому в документации сборки названы самодокументируемыми. Во многих ситуациях сборка состоит из одного файла, но встречаются и многофайловые сборки. Например, в сборку могут входить ресурсные файлы, графические изображения и даже дополнительные EXE/DLL-файлы. В любом случае сборка является минимальным объектом .NET, для которого производится контроль версии или задаются привилегии.

Манифест
Манифест - 2
Исследование манифеста
Общие сборки и GAC
Включение и удаление сборок из GAC
Совместное использование сборок
Построение ключей
Сертификация сборки
COM Interop и вызовы функций DLL
Вызовы функций DLL

Delphi 3.Библиотека программиста
32 Урока Borland Delphi
Отладка программы в Delphi
Советы по Delphi
Учебник по Visual C++ .Net
Дивов Олег - Выбраковка
Практика создания динамических Web-узлов
Обзор исследований в области искусственного интеллекта
Восстановление деталей и повторное использование материалов
Де Сайн Али - Виват Сатана
Дэйзи Аарон - Ночной Охотник
Delphi 7 для профессионалов
Научись снимать цифровым фотоаппаратом
Введение в цифровую фотографию
Практика разработки Web-страниц
Самоучитель по Digital Graphics
Издательская система Adobe PageMaker
Справочник. - Коммутационные аппараты
Научись снимать цифровым фотоаппаратом
ЭЛЕКТРОНИКА В АВТОМОБИЛЕ