Опубликован: 05.08.2010 | Уровень: специалист | Доступ: свободно
Практикум прикладного программирования на C# в среде VS.NET 2008 В курсе представлена коллекция лабораторных работ, знакомящих с приемами практического применения технологий программирования XNA, WPF, ADO.NET и Crystal Reports в среде VS.NET 2008. Материалы использованных публикаций оформлены в виде справочных сведений, пошаговых инструкций и подробных комментариев к выполняемым действиям и коду C#.
Стремительная революция .NET требует незамедлительной популяризации ее достижений при подготовке современных специалистов, что не позволило автору пройти мимо замечательных работ по XNA (см. ссылки) без желания представить этот материал для ознакомления студентам. Интегрированные в среду VS.NET 2008 средства ADO.NET и Crystal Reports дают возможность получить законченные приложения по управлению базами данных и генерации отчетов, чему также посвящены несколько работ курса. И наконец, основы новой и еще слабо освещенной технологии WPF рассматриваются в заключительной части. Здесь затронуты вопросы работы с графикой, текстом и потоковыми документами, маршрутизированными событиями, командами, логическими ресурсами, а также различные стороны привязки данных. Каждое изучаемое средство программирования заканчивается практическим упражнением или большим примером, наглядно демонстрирующим возможности функционирования обсуждаемых механизмов.

План занятий

ЗанятиеЗаголовок <<Дата изучения
-
Самостоятельная работа 1
3 часа 32 минуты
Компьютерная 2D-графика в Microsoft XNA Game Studio 3.0
В данной лабораторной работе мы последовательно спроектируем 2D - игру, приведенную в источнике Горнаков С.Г. Разработка компьютерных игр под Windows в XNA Game Studio Express. - М.: ДМК Пресс, 2007, - 384 с.
Оглавление
    -
    Самостоятельная работа 2
    3 часа 50 минут
    Компьютерная графика 3D в XNA
    В данной лабораторной работе мы познакомимся с программированием 3D-приложений на примере простой игры " Футбольный стрелок ". Материал основан на источнике Горнаков С.Г. Разработка компьютерных игр под Windows в XNA Game Studio Express. - М.: ДМК Пресс, 2007, - 384 с.
    Оглавление
      -
      Самостоятельная работа 1
      36 минут
      -
      Самостоятельная работа 3
      2 часа 18 минут
      Windows Forms и XNA 3.0
      В этой работе мы изучим совместное применение технологий Windows Forms и XNA для построения оконных приложений с обычным графическим интерфейсом GUI и трехмерным ускорителем видеокарты. В качестве упражнений мы построим приложения разного типа и познакомимся с тонкостями совместного применения указанных средств.
      Оглавление
        -
        Самостоятельная работа 4
        2 часа
        Разработка приложений ADO.NET для OLE DB
        Работа основана на материалах книги "Скотт Ф. Баркер. Создание приложений баз данных в среде Visual Basic .Net и ADO.Net: советы, рекомендации, примеры.: Пер. с англ. - М.: Издательский дом 'Вильямс', 2003. - 560 с.". Книга относительно старая, но весьма поучительная.
        Оглавление
          -
          Самостоятельная работа 2
          36 минут
          -
          Самостоятельная работа 5
          2 часа 2 минуты
          Просмотр данных OLE DB средствами ADO.NET
          В данной работе мы продолжим знакомство с различными вариантами разработки клиентского приложения для управления данными с помощью классов ADO.NET.
          Оглавление
            -
            Самостоятельная работа 6
            2 часа 22 минуты
            Редактирование данных OLE DB средствами ADO.NET
            В этой лабораторной работе продолжается описание средств и возможностей ADO.NET. В частности, представлены упражнения по получению метаданных из БД, сохранению данных БД в XML-файлах, а также другие упражнения.
            Оглавление
              -
              Самостоятельная работа 3
              36 минут
              -
              Самостоятельная работа 7
              1 час 14 минут
              Создание отчетов Crystal Reports.NET в графическом режиме
              Данная лабораторная работа полностью посвящена вопросам создания отчетов при помощи пакета Crystal Reports для Visual Studio .NET.
              Оглавление
                -
                Самостоятельная работа 4
                36 минут
                -
                Самостоятельная работа 8
                1 час 46 минут
                Создание приложений WPF
                Начинается описание технологии программирования Windows Presentation Fondation. На примере упражнений подробно показан процесс создания и работы приложений и окон WPF, а также представлен язык разметки XAML.
                Оглавление
                  -
                  Самостоятельная работа 9
                  2 часа 12 минут
                  Основы WPF
                  В данной лабораторной работе на ряде упражнений мы продолжем знакомство с различными сторонами WPF.
                  Оглавление
                    -
                    Самостоятельная работа 5
                    36 минут
                    -
                    Самостоятельная работа 10
                    2 часа 50 минут
                    Текст WPF
                    Продолжая обучение технологии WPF, в этой лабораторной работе рассказывается об основных принципах, приемах и особенностях работы с текстом с помощью стандартных элементов WPF.
                    Оглавление
                      -
                      Самостоятельная работа 11
                      1 час 12 минут
                      Графика в WPF
                      Данная лекция показывает некоторые возможности работы с двумерной графикой в WPF на примере построения графиков и добавления файла рисунка в проект приложения.
                      Оглавление
                        -
                        Самостоятельная работа 6
                        36 минут
                        -
                        Самостоятельная работа 12
                        7 часов 29 минут
                        События и команды в WPF
                        В этой лабораторной работе подробно рассказано о событиях и командах WPF на примере многочисленных практических упражнений. В частности описывается обработка событий клавиатуры и мыши, создание пользовательского события, библиотечные классы команд и многое другое.
                        Оглавление
                          -
                          Самостоятельная работа 7
                          36 минут
                          -
                          Самостоятельная работа 13
                          1 час 37 минут
                          Ресурсы в WPF
                          WPF предлагает новую систему ресурсов, которые называют по разному (название еще не устоялось): локальными, объектными, декларативными, логическими или, просто, ресурсами. Наряду с этим новым механизмом существуют и прежние ресурсы - встраиваемые ресурсы сборок, которые в данной работе не рассматриваются.
                          Оглавление
                            -
                            Лекция 1
                            3 часа 1 минута
                            Основы привязки данных в WPF
                            В данном разделе рассматриваются основные понятия привязки данных в WPF. На ряде примеров демонстрируются базовые аспекты привязки интерфейсных элементов к визуальным и невизуальным объектам WPF. Более серьезные вопросы, такие как привязка интерфейсных элементов WPF к пользовательским объектам и коллекциям типизированных данных, объектам инфраструктуры ADO.NET и шаблонам, будут рассмотрены позднее.
                            Оглавление
                              -
                              Тест 1
                              36 минут
                              -
                              Лекция 2
                              1 час 45 минут
                              Привязка WPF к таблице данных ADO.NET
                              Подробно описаны все аспекты привязки WPF к таблице данных ADO.NET.
                              Оглавление
                                -
                                Лекция 3
                                1 час 26 минут
                                Привязка WPF к реляционным данным
                                Дается определение реляционных баз данных и рассматривается привязка WPF к реляционным таблицам набора данных.
                                Оглавление
                                  -
                                  Тест 2
                                  36 минут
                                  -
                                  Лекция 4
                                  1 час 14 минут
                                  Разработка компонента WPF и анализатора HTML-таблиц
                                  В данной лекции описано практическое применения WPF при разработке компонентов, а также рассмотрен пример преобразования HTML-таблиц в набор базы данных
                                  Оглавление
                                    -
                                    Тест 3
                                    36 минут
                                    -
                                    Лекция 5
                                    2 часа 48 минут
                                    Работа с файлами и каталогами
                                    В данной лекции некоторые классы библиотеки .NET Framework для работы с файлами и каталогами, а также примеры их использования
                                    Оглавление
                                      -
                                      Тест 4
                                      36 минут
                                      -
                                      Лекция 6
                                      8 часов 33 минуты
                                      Работа с потоками данных
                                      До сих пор мы работали с файлами и каталогами, преимущественно рассматривая их как единицы хранения информации в целом и не касаясь самого содержимого. Мы научились создавать файлы и каталоги, читать и задавать их атрибуты. Но само наполнение файлов информацией мы затронули лишь мимоходом. Для записи и чтения информации в файлах используются классы файловых потоков, а для передачи данных на другие устройства имеются свои специализированные классы потоков. В данной лекции на примере ряда упражнений мы и познакомимся с некоторыми из них (с файловыми, и не только)
                                      Оглавление
                                        -
                                        Тест 5
                                        39 минут
                                        -
                                        5 часов
                                        -
                                        Алексей Бабушкин
                                        Алексей Бабушкин

                                        При выполнении в лабораторной работе упражнения №1 , а именно при выполнении нижеследующего кода:

                                        using System;

                                        using System.Collections.Generic;

                                        using System.ComponentModel;

                                        using System.Data;

                                        using System.Drawing;

                                        using System.Text;

                                        using System.Windows.Forms;

                                        using Microsoft.Xna.Framework.Graphics;

                                           

                                        namespace Application1

                                        {

                                            public partial class MainForm : Form

                                            {

                                                // Объявим поле графического устройства для видимости в методах

                                                GraphicsDevice device;

                                           

                                                public MainForm()

                                                {

                                                    InitializeComponent();

                                           

                                                    // Подпишемся на событие Load формы

                                                    this.Load += new EventHandler(MainForm_Load);

                                           

                                                    // Попишемся на событие FormClosed формы

                                                    this.FormClosed += new FormClosedEventHandler(MainForm_FormClosed);

                                                }

                                           

                                                void MainForm_FormClosed(object sender, FormClosedEventArgs e)

                                                {

                                                    //  Удаляем (освобождаем) устройство

                                                    device.Dispose();

                                                    // На всякий случай присваиваем ссылке на устройство значение null

                                                    device = null;       

                                                }

                                           

                                                void MainForm_Load(object sender, EventArgs e)

                                                {

                                                    // Создаем объект представления для настройки графического устройства

                                                    PresentationParameters presentParams = new PresentationParameters();

                                                    // Настраиваем объект представления через его свойства

                                                    presentParams.IsFullScreen = false; // Включаем оконный режим

                                                    presentParams.BackBufferCount = 1;  // Включаем задний буфер

                                                                                        // для двойной буферизации

                                                    // Переключение переднего и заднего буферов

                                                    // должно осуществляться с максимальной эффективностью

                                                    presentParams.SwapEffect = SwapEffect.Discard;

                                                    // Устанавливаем размеры заднего буфера по клиентской области окна формы

                                                    presentParams.BackBufferWidth = this.ClientSize.Width;

                                                    presentParams.BackBufferHeight = this.ClientSize.Height;

                                           

                                                    // Создадим графическое устройство с заданными настройками

                                                    device = new GraphicsDevice(GraphicsAdapter.DefaultAdapter, DeviceType.Hardware,

                                                        this.Handle, presentParams);

                                                }

                                           

                                                protected override void OnPaint(PaintEventArgs e)

                                                {

                                                    device.Clear(Microsoft.Xna.Framework.Graphics.Color.CornflowerBlue);

                                           

                                                    base.OnPaint(e);

                                                }

                                            }

                                        }

                                        Выбрасывается исключение:

                                        Невозможно загрузить файл или сборку "Microsoft.Xna.Framework, Version=3.0.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d" или один из зависимых от них компонентов. Не удается найти указанный файл.

                                        Делаю все пунктуально. В чем может быть проблема?

                                        Юрий Макушин
                                        Юрий Макушин
                                        Россия, Москва, РЭА им. Плеханова, 2004