- •А.Ю. Быков
- •Быков Александр Юрьевич
- •Подхода
- •Оглавление
- •Введение
- •1. Лабораторная работа № 1. Изучение диалоговых окон и элементов управления в Win api
- •1.1. Цель и задачи работы, требования к результатам ее выполнения
- •1.2. Краткая характеристика объекта изучения
- •1.2.1. Классификация диалоговых окон
- •1.2.2. Окна сообщений
- •1.2.3. Создание модального диалогового окна
- •1.2.4. Элементы управления диалогового окна
- •Кнопка, контрольный переключатель, радио кнопка
- •Текстовое поле
- •Примеры
- •Примеры посылки сообщений списку
- •1.3. Задачи и порядок выполнения работы
- •Пример выполнения работы
- •1.4. Форма отчета по лабораторной работе
- •1.5. Вопросы для самоконтроля
- •2.1. Цель и задачи работы, требования к результатам ее выполнения
- •2.2. Краткая характеристика объекта изучения
- •2.2.1. Понятие класса и объекта
- •2.2.2. Доступность компонент класса
- •2.2.3. Основные элементы класса Компонентные данные и функции класса
- •Конструктор класса
- •Деструктор класса
- •2.3. Задачи и порядок выполнения работы
- •Пример выполнения работы
- •2.4. Форма отчета по лабораторной работе
- •2.5. Вопросы для самоконтроля
- •3.1. Цель и задачи работы, требования к результатам ее выполнения
- •3.2. Краткая характеристика объекта изучения
- •3.3. Задачи и порядок выполнения работы
- •Пример выполнения работы
- •3.4. Форма отчета по лабораторной работе
- •4.2.3. Особенности конструкторов при наследовании
- •4.2.4. Особенности деструкторов при наследовании
- •4.2.5. Переопределение функций. Виртуальные функции
- •4.3. Задачи и порядок выполнения работы
- •Пример выполнения работы
- •4.4. Форма отчета по лабораторной работе
- •5.3. Задачи и порядок выполнения работы
- •Пример выполнения работы
- •5.4. Форма отчета по лабораторной работе
- •6.2.2. Создание потока с помощью api – функций
- •6.2.3. Синхронизация потоков
- •1. Взаимное исключение.
- •3. Семафор
- •4. Событие
- •6.2.4. Синхронизация процессов
- •6.3. Задачи и порядок выполнения работы
- •Пример выполнения работы
- •6.4. Форма отчета по лабораторной работе
- •6.5. Вопросы для самоконтроля
- •7. Лабораторная работа № 7. Изучение библиотеки классов mfc
- •7.1. Цель и задачи работы, требования к результатам ее выполнения
- •7.2. Краткая характеристика объекта изучения
- •7.2.1. Обзор упрощенной иерархии классов библиотеки mfc
- •7.2.2. Состав простейшего приложения в mfc
- •7.2.3. Обработка сообщений в mfc
- •Некоторые функции обработчики
- •7.2.4. Вывод графики в mfc
- •Графические объекты
- •Добавление обработчиков сообщений и событий в однодокументном приложении
- •Вывод графики и перерисовка
- •7.3. Задачи и порядок выполнения работы
- •Пример выполнения работы
- •7.4. Форма отчета по лабораторной работе
- •7.5. Вопросы для самоконтроля
- •8. Лабораторная работа № 8. Изучение разработки приложений для платформы Microsoft .Net с использование библиотеки классов .Net Framework
- •8.1. Цель и задачи работы, требования к результатам ее выполнения
- •8.2. Краткая характеристика объекта изучения
- •8.2.1. Обзор платформы Microsoft .Net
- •8.2.2. Единая среда исполнения
- •8.2.4. Понятие управляемого кода
- •8.2.6. Система общих типов
- •8.2.7. Обзор библиотеки классов .Net Framework
- •8.2.8. Класс Form
- •8.2.9. Обработка событий
- •8.2.10. Основные элементы управления
- •8.4. Форма отчета по лабораторной работе
- •8.5. Вопросы для самоконтроля
- •Заключение
- •Рекомендуемые источники
- •Приложение а. Варианты заданий для выполнения лабораторных работ Варианты заданий для лабораторной работы № 1
- •Варианты заданий для лабораторной работы № 2
- •Варианты заданий для лабораторной работы № 3
- •Варианты заданий для лабораторной работы № 4
- •Варианты заданий для лабораторной работы № 5
- •Варианты заданий для лабораторной работы № 6
- •Часть I
- •Часть II
- •Варианты заданий для лабораторной работы № 7
- •Варианты заданий для лабораторной работы № 8
8.2.4. Понятие управляемого кода
Код, написанный для CLR и использующий ее возможности, называется управляемым кодом (managed code). Код, не использующий средства CLR, теперь называется неуправляемым кодом (unmanaged code). При компиляции кода, который должен работать в среде CLR, генерируется код на промежуточном языке (IL).
8.2.5. Пространство имен Си++
Для избегания конфликтов имен в разных библиотеках введено понятие пространства имен.
Пример определения пространства имен:
namespace A
{
int i=10;
}
namespace B
{
int i=20;
}
Обращаться к переменным можно по полному имени:
A::i=100;
Или можно использовать оператор:
using namespace A;
i=100;
Существует также директива:
#using - необходима для всех программ на управляемом Cи++.
Она делает доступными для компилятора стандартные типы (такие, как Console (Консоль) и Object (Объект) и др.), определенные в библиотеке классов .NET Framework.
#using <mscorlib.dll> // требуется для кода на управляемом Cи++
8.2.6. Система общих типов
Для поддержки интероперабельности языков разработана система общих типов, являющихся классами библиотеки .NET Framework, эти классы доступны для всех языков программирования, поддерживаемых в Microsoft .NET. Соответствие типов языка Си++ системе общих типов представлено в таблице 3.
Таблица 3 – Соответствие типов языка Си++ системе общих типов
|
Тип языка Си++ |
Тип библиотеки классов .NET Framework |
|
сhar |
SByte |
|
short |
Int16 |
|
int |
Int32 |
|
long |
Int32 |
|
__int64 (long long) |
Int64 |
|
unsigned char |
Byte |
|
unsigned short |
UInt16 |
|
unsigned int |
UInt32 |
|
unsigned long |
UInt32 |
|
unsigned __int64 |
UInt64 |
|
float |
Single |
|
double |
Double |
|
void |
Void |
8.2.7. Обзор библиотеки классов .Net Framework
Классы находятся в пространствах имен:
System::Data – определяет архитектуру объектов ADO.NET, которые используются для доступа к источникам данных и для управления ими.
System::Xml – обеспечивает поддержку XML.
System::Diagnostics – используется для отладки, трассировки, создания журналов регистрации и мониторинга производительности системы.
System::DirectoryServices – содержит классы, обеспечивающие доступ к активным каталогам.
System::Net – включает классы, предназначенные для организации работы в сети.
System::Drawing – обеспечивает доступ к графике GDI+.
System::Windows::Forms – определяет классы, применяемые для создания приложений Windows.
System::Security – реализует систему безопасности CLR и содержит классы, обеспечивающие определение политики безопасности, управление доступом и перемещение по стеку.
System::Security::Cryptography – включает классы, предназначенные для выполнения функций криптографии, таких, как кодирование/декодирование данных, хеширование, генерация cлучайных чисел, аутентификация сообщений и генерация цифровых подписей.
System::Web – обеспечивает базовую инфраструктуру для ASP.NET и поддержку форм Web.
System::Web::Services – включает классы, необходимые для поддержки Web-служб.
