
- •Теоретические сведения: Проблемы разработки современных ис
- •Решение проблем разработки информационных систем в .Net
- •Общеязыковая исполняющая среда (Common Language Runtime)
- •Утилиты .Net Framework
- •Основные утилиты .Net Framework
- •Утилиты .Net Framework для отладки приложений
- •Утилиты .Net Framework по работе с защитой приложений
- •Утилиты .Net Framework для настройки и установки приложений
- •Сборки в среде clr
- •1 Общие сведения о сборках
- •2 Содержимое сборок
- •3 Манифест сборки
- •4 Размещение сборок
- •Visual Studio .Net – открытая среда разработки.
- •Среда Microsoft Visual c# 2005 Express Edition
- •Структура программы в c#.
- •Пример 1. Программа FirstProject
- •Пространство имен.
- •Создание и запуск проекта.
- •Практична робота № 2 Введення в Windows Forms
- •Ход работы (первой части лабораторного занятия).
- •Теоретические сведения:
- •Создание Windows-приложений
- •Окно кода программы
- •Роль класса Application
- •Свойства проекта
- •Запуск приложения
- •Что такое форма
- •Windows Forms в технологии .Net
- •Функциональные возможности класса Form
- •Цикл существования объекта Form
- •Диалог MessageBox
- •Закрытие формы (Выход из формы)
- •Создание mdi-приложений.
- •Стандартный делегат
- •1 Часть
- •2 Часть
- •Теоретические сведения.
- •Форматирование строки вывода.
- •Консольный ввод.
- •Расширяющее преобразование.
- •Сужающее преобразование
- •Метод Parse().
- •Класс System.Environment. Окружение.
- •Система типов
- •Простые (элементарные) типы
- •Перечисления
- •Структуры
- •Язык xml
- •Практична робота № 4 Огляд мови с #. Змінні. Структури мови Цель: освоить синтаксис языка программирования с#, закрепить практически использование структур языка. Ход выполнения работы:
- •Теоретические сведения. Базовый синтаксис с#
- •Литералы. Представление значений.
- •Арифметические литералы
- •Логические литералы
- •Символьные литералы
- •Символьные управляющие последовательности.
- •Строковые литералы
- •Переменные.
- •Объявление и инициализация.
- •Область видимости.
- •Константы
- •Операции и выражения
- •Контроль за переполнением. Checked и unchecked.
- •Операция is
- •Операция as
- •Особенности выполнения арифметических операций
- •Особенности арифметики с плавающей точкой
- •Управляющие операторы
- •Теоретические сведения: Иерархия классов. Понятие класса управляющих элементов.
- •Класс Control
- •Элемент управления TextBox
- •Класс Button
- •Элемент управления CheckBox
- •Переключатели и группирующие рамки
- •Элемент управления CheckedListBox
- •Комбинированные списки
- •Управляющий элемент ImageList
- •Элемент управления MonthCalendar
- •Элемент управления Panel
- •Порядок перехода по Tab
- •Форматирование элементов управления
- •Свойства Anchor и Dock
- •Всплывающие подсказки (ToolTips)
- •Создание меню
- •Главное меню.
- •Контекстное меню
- •Создание строки состояния
- •Создание пользовательского диалогового окна.
- •Стандартные диалоговые панели общего назначения.
- •II Задание Expression в таблице, используя визуальные средства разработки.
- •Теоретические сведения:
- •1 Класс DataSet.
- •1.1 Класс DataTable (таблицы)
- •1.1.1 Столбцы (объект Columns).
- •1.1.2 Строки (объект Row)
- •Добавление данных.
- •Заполнение полей.
- •Изменение данных.
- •Состояния строки.
- •Обработка событий
- •Привязка DataTable к некоторым элементам управления.
- •1.1.3 Ограничения (объект Constraints)
- •1.1.4 Представление (объект DataView).
- •1.2 Класс DataRelation (связи между таблицами)
- •2 Просмотр данных. Класс DataGridView.
- •Источники данных (DataSource).
- •2.1.1 Отображение данных из массива
- •2.1.2 Отображение данных из DataTable
- •2.1.3 Отображение данных из DataView
- •2.1.4 Отображение данных из класса DataSet
- •2.1.5 Отображение данных из массива
- •2.2 Привязка данных (DataBinding).
- •Простая привязка.
- •Объекты привязывающие данные (BindingContext)
- •3 Схемы xml.
- •3.1 Пример использования xml-формата для взаимодействия с xml Web-службами:
- •3.2 Ado.Net 2.0 тесно интегрировано с xml.
- •4 Xsd (xml Structure Defenitions) схема.
- •4.1 Описание.
- •4.2 Основные элементы
- •4.3 Использование Visual Studio 2005 .Net
- •4.3.1. Загрузка схем и данных в DataSet
- •4.3.2 Запись схемы и данных из DataSet
- •Практична робота № 7 Використання масивів і їх методів в c # Цель: овладеть возможностью использования массивов, строк и их методов.
- •Массив.
- •Объявление массивов Объявление одномерных массивов
- •Многомерные массивы
- •Пример использования массивов.
- •Массивы массивов
- •Встроенный сервис по обслуживанию массивов
- •Практична робота № 8 Використання колекцій в c # Цель: овладеть возможностью использования коллекций.
- •Коллекции.
- •ArrayList. Массив-список.
- •Практична робота № 9 Об'єкти і класи в с # Цель: четко разграничить понятия класса, объекта.
- •Поля класса
- •Методы класса
- •Объект.
- •Конструктор.
- •Деструктор.
- •Операция new
- •Вложенные классы.
- •Ссылки как параметры.
- •Оператор is
- •Оператор as
- •Переменные только для чтения и константы.
- •Ключевое слово static.
- •Практична робота № 10 Успадкування. Інкапсуляція. Поліморфізм Цель: практически освоить основные принципы ооп. Ход работи:
- •1 Часть. Изучение принципов наследования и инкапсуляции.
- •2 Часть. Изучение принципа полиморфизма.
- •Теоретические сведения.
- •Инкапсуляция
- •Наследование
- •Полиморфизм
- •Виртуальные методы и работа с ними в производных класах.
- •Интерфейсы.
- •Практична робота № 11 Робота з файлами в с # Цель: овладеть возможностью считывания/записи данных из/в файл.
- •Потоки: байтовые, символьные, двоичные
- •Общая характеристика классов потоков
- •Класс Filestream
- •Открытие и закрытие файла.
- •Копирование файла.
- •Файловый ввод–вывод с ориентацией на символы.
- •Пример использования StreamWriter.
- •Пример использования StreamReader.
- •Пример перенаправления потоков.
- •Основні поняття, що використовуються при проектуванні діалогу.
- •Основна термінологія, що використовується при проектуванні вікон. Визначення вікон, типи вікон.
- •Спосіб проектування інтерфейсу користувача з орієнтацією на дані.
- •Спосіб проектування інтерфейсу користувача з орієнтацією на документи.
- •Вибір моделі інтерфейсу.
- •Розробка вікна.
- •Теоретичні відомості.
- •Поле вибору: визначення, стан, типи.
- •Поле вибору: представлення об’єктів, ідентифікація поля.
- •Поле вибору: курсор вибору, виділення обраного об’єкту, недоступність об’єкту вибору, черговість розташування, елементи настроювання.
- •Взаємодія користувача з полями вибору, первісні представлення, вхідний стан.
- •Поле введення: визначення, ідентифікація, роздільники, шрифт, правила читабельності.
- •Теоретичні відомості. Меню дій, спадаюче меню: призначення, розташування, обов’язкові опції, число опцій.
- •Послідовність опцій курсору.
- •Елементи настроювання і виклик опцій.
- •Особливості режимів роботи для одного користувача і багатьох користувачів.
- •Спливаюче меню.
- •Область функціональних клавіш.
- •Теоретичні відомості.
- •Область команд: розміщення, зміст, використання, правила запиту дії “Команда”.
- •Правила для дій “Витяг команди”, правила для дії “Підказка”.
- •Співвідношення між областю команд і меню дій.
- •Практична робота № 16 Створення графічних додатків в с #
- •Практична робота № 17 Створення графічних примітивів
1 Часть
Запустить Visual Studio .Net
File → New project → ConsoleApplication → дать имя проекту ConsoleHello →Ок
В окне Solution Explorer представлена структура построенного решения.
В окне Properties можно увидеть свойства выбранного элемента решения.
Текст программы находится в файле Program.cs. Файл AssemblyInfo содержит информацию, используемую в сборке.
4. Для Program.cs изменить свойство File Name на Class1.
5. Привести файл Program.cs к следующему виду, используя XML комментарий
using System;
namespace ConsoleHello
{
/// <summary>
/// Первый консольный проект - Приветствие
/// </summary>
class Class1
{
/// <summary>
/// Точка входа. Запрашивает имя и выдает приветствие
/// </summary>
static void Main()
{
Console.WriteLine("Введите Ваше имя");
string name;
name = Console.ReadLine();
if (name=="")
Console.WriteLine ("Здравствуй, мир!");
else
Console.WriteLine("Здравствуй, " + name + "!");
}
}
}
6. Построить его XML-отчет. Для этого в свойствах проекта необходимо указать имя файла, в котором будет храниться отчет. В окне Solution Explorer выделяем строку с именем проекта, а затем в окне Properties нажимаем имеющуюся кнопку Property Pages. Затем в открывшемся окне свойств, показанном на рисунке 3.1, устанавливается нужное свойство. В данном случае задано имя файла отчета –– hello.xml.
Рисунок 3.1 – Окно Property Pages проекта и задание имени XML-отчета
После перестройки проекта, можно открыть этот файл с документацией. Если соблюдать дисциплину, то в нем будет задана спецификация проекта, с описанием всех классов, их свойств и методов. Вот как выглядит этот отчет в данном примере:
<?xml version="1.0"?>
<doc>
<assembly>
<name>ConsoleHello</name>
</assembly>
<members>
<member name="T:ConsoleHello.Class1">
<summary>
Первый консольный проект - Приветствие
</summary>
</member>
<member name="M:ConsoleHello.Class1.Main">
<summary>
Точка входа. Запрашивает имя и выдает приветствие
</summary>
</member>
</members>
</doc>
2 Часть
1. Создать новый консольный проект EnterDigit
2. Скопировать текст программы:
string s = Console.ReadLine();
int i = Int32.Parse(s);
int i2 = Convert.ToInt32(s);
Console.WriteLine("i={0} i2={1}", i,i2);
3. Объяснить пример.
Теоретические сведения.
Правила синтаксиса.
При написании программы придерживаются синтаксических правил таких как:
{ } операторные скобки объединяют несколько операторов в один блок,
; конец оператора,
, разделитель при перечислении констант, переменных,
( ) содержат параметры функций или операторов.
Комментарии.
С# представляет несколько механизмов комментирования кода:
построчное //
многострочное /* */
комментарии, которые позволяют автоматически генерировать документацию в XML – формате. Эти комментарии начинаются с символов ///, за которыми следуют специальные тэги.
Класс Console. Консольный ввод–вывод.
При обсуждении процедур ввода–вывода следует иметь в виду одно важное обстоятельство.
Независимо от типа выводимого значения, в конечном результате выводится, СИМВОЛЬНОЕ ПРЕДСТАВЛЕНИЕ значения.
Это становится очевидным при выводе информации в окно приложения, что и обеспечивают по умолчанию методы Console.Write и Console.WriteLine.
Консольный вывод.
Методы WriteLine и Write позволяют отображать информацию на консоль.
// Вывод строки.
Console.WriteLine("The Captain is on the board!");
//Символьное представление целочисленного значения.
Console.WriteLine(314);
//Символьное представление значения типа float.
Console.WriteLine(3.14);
Могут принимать различное число параметров.
Однако:
Console.WriteLine("qwerty",314,3.14);
Результатом выполнения выражения вызова функции будет строка:
Qwerty
Значения второго и третьего параметров не выводятся.
Первый строковый параметр выражений вызова функций Write и WriteLine используется как управляющий шаблон для представления выводимой информации.
Значения следующих за строковым параметром выражений будут выводиться в окно представления лишь в том случае, если первый параметр–строка будет явно указывать места расположения выводимых значений, соответствующих этим параметрам, маркерами, которые в самом простом случае представляют собой заключённые в фигурные скобки целочисленные литералы.
При этом способ указания места состоит в следующем:
CLR индексирует все параметры метода WriteLine, следующие за первым параметром–строкой. При этом второй по порядку параметр получает индекс 0, следующий за ним – 1, и т.д. до конца списка параметров.
В произвольных местах параметра–шаблона размещаются маркеры выводимых значений.
Значение маркера должно соответствовать индексу параметра, значение которого должно выводиться на экран.
Значение целочисленного литерала маркера не должно превышать максимального значения индекса параметра.
Таким образом, оператор
Console.WriteLine("The sum of {0} and {1} is {2}",314,3.14,314+3.14);
обеспечивает вывод следующей строки:
The sum of 314 and 3.14 is 317.3
В последнем операнде выражения вызова WriteLine при вычислении значения выражения используется неявное приведение типа. При вычислении значения суммы операнд типа int без потери значения приводится к типу float. Безопасные преобразования типов проводятся автоматически.
Несмотря на явную абсурдность выводимых утверждений, операторы
Console.WriteLine("The sum of {0} and {1} is {0}",314,3.14,314+3.14);
Console.WriteLine("The sum of {2} and {1} is {0}",314,3.14,314+3.14);
также отработают вполне корректно.