Создание программ на языке C#

Подготовка системы к написанию программ на языке C#. Содержимое папки Microsoft.NET (MS Windows 7 Professional). Установка Windows SDK for Windows 7 and .NET Framework 4. Создание программ на языке C# без среды разработки. Создание командного файла.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 24.04.2017
Размер файла 2,4 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Лабораторная работа № 1

C# -- Подготовка системы к написанию программ на языке C#

Перед тем как приступить к написанию программ, мы должны убедиться, что наша система готова написанию программ на «шарпах». А именно нам нужен минимальный набор для программирования на С# и разработки приложений в .NET. В него входит следующее:

· Microsoft Windows 2000 или выше -- обязательно.

· Microsoft .NET Framework SDK -- необходимо (ставиться вместе со средой разработки).

· Microsoft Visual Studio .NET или выше -- обязательно.

Ниже на рисунке показан процесс установка SDK (версии 1.1), а именно опции, включённые перед установкой:

Рис. 1. Microsoft .NET Framework SDK -- Setup (под Windows 2000)

Установлен SDK (версии 1.1) будет в папку с нашей ОС: WINNT (Windows 2000), а именно в папку Microsoft.NET.

Рис. 2. Содержимое папки Microsoft.NET (Microsoft Windows 7 Professional)

Нас интересует папка Framework. Содержимое этой директории представлено на рисунке ниже:

Рис. 3. Содержимое директории Microsoft.NET/Framework (Microsoft Windows 7 Professional)

В данном случае, папки, начинающиеся с буквы v обозначают версии установленных Framework'ов (последний как видно из рисунка: 4.030319). Если необходимости ставить громоздкие среды разработки приложений нет в системе не установлен свежий Framework, то можно скачать с официального сайта пакет обновлений: Microsoft Windows SDK for Windows 7 and .NET Framework 4 (ISO), содержащий три образа диска (пакет бесплатный). .NET Framework 4 -- на сегодняшний день самый последний и самый полный из доступных широкой массе пользователей сети Интернет.

Также, можно загрузить сам Microsoft .NET Framework 4 (веб-установщик) (http://msdn.microsoft.com/ru-ru/netframework).

Рис. 4. Установка Windows SDK for Windows 7 and .NET Framework 4 (Web Setup)

Окончательная версия .NET Framework 4.0 была выпущена 12 апреля 2010 года вместе с версией среды разработки Visual Studio 2010 и обновления для языка C# (C# 4.0).

В практических работах лабораторного практикума данного курса для написания программы были использовано следующее:

Операционная система: Microsoft Windows 7 Professional.

Установлено: .NET Framework 4.0.

То, что в дальнейшем будет использоваться: Microsoft Visual Studio 2010 Professional, Microsoft SQL Server 2008 и Microsoft Silverlight 4 SDK.

Всё выше перечисленные программные продукты, кроме ОС Windows 7, являются бесплатными («условно» бесплатными) и их можно получить с официального сайта корпорации Microsoft (на данный момент). Получить одну из доступных версий среды разработки Visual Studio (2008/2010/11 Beta) также можно бесплатно по программе Microsoft DreamSpark.

DreamSpark -- программа корпорации Microsoft, предоставляющая школьникам, студентам и аспирантам бесплатный доступ к инструментам Microsoft для разработки и дизайна. Изначально программа распространялась на учащихся вузов, в настоящее время она расширена также на учащихся старших классов. Программа была анонсирована Биллом Гейтсом 18 февраля 2008 г. в Пало-Альто, США.

ПРИМЕЧАНИЕ: Установка Microsoft Visual Studio 2008, Microsoft Visual Studio 2010 или свежего Microsoft Visual Studio 11 Beta «по умолчанию» автоматически добавляет все необходимые компоненты для разработки приложений, библиотек и т.п. Поэтому в данном практическом курсе предполагается, что в системе уже установлены все необходимые для работы в среде разработки Visual Studio компоненты (то есть сама среда, желательно версий 2008 или 2010).

Лабораторная работа № 2

C# -- Создание программ на языке C# без среды разработки

microsoft windows программа файл

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

Цель данного материала это показать некоторые особенности языка Си-шарп и то, как может быть устроена простейшая программа.

Нам необходимо всего два файла: csc.exe и cscui.dll. Оба файла можно найти в папке Windows/Microsoft.NET/Framework (Рис. 1).

csc.exe ищем в папке v4.0.30319 (последние цифры могут изменяться в зависимости версии Framewokr'а):

Рис. 1. Содержимое папки Microsoft.NET/Framework

Нужный нам файл это: Visual C# Command Line Compiler - попросту компилятор приложений.

cscui.dll, называвшийся ранее cscompui.dll и работавший в паре с cscomp.dll лежит в папке v4.0.30319/1033 (Рис. 2):

Это библиотека необходима для компилятора: Visual C# Compiler Error/Warning Messages.

Ссылки для загрузки этих файлов приведены в конце этого материала.

Рис. 2. Содержимое папки v4.0.30319/1033

Копируем оба файла в папку, в которой хотим скомпилировать нашу ещё ненаписанную программу. И далее создаём в той же папке пустой текстовый документ (.txt) и напишем туда следующий код (пояснения будут даны чуть ниже):

using System;

using System.Globalization;

class MainApp

{

public static void Main()

{

Console.Title = "This is My First App!";

//

Console.ForegroundColor = ConsoleColor.DarkYellow;

Console.BackgroundColor = ConsoleColor.DarkBlue;

//

Console.WriteLine("Hello World!\nИ по-русски можно? Конечно, привет мир!\nThis is my first application using C#!\nP.S. C# and F# FTW?\n");

//

Calendar MyCalendar = new GregorianCalendar();

CultureInfo MyCulture = new CultureInfo("ru-RU");

DateTime MyDate = new DateTime(2012, 12, 21, 18, 30, 0, 0);

//

Console.WriteLine("Время записанное в календаре: " + MyCalendar.ToDateTime(MyDate.Year,

MyDate.Month,

MyDate.Day,

MyDate.Hour,

MyDate.Minute, 0, 0) + "\n");

//

DateTime now = DateTime.Now;

Console.WriteLine("Время запуска приложения: {0}\n", now);

//

Random rand = new Random();

int a = 0, b = 0;

for (int i = 0; i < 5; i++)

{

a = rand.Next() % 100;

b = rand.Next() % 100;

Console.WriteLine("a = {0}, b = {1}, больше: {2}", a, b, a > b ? 'a' : 'b');

}

//

Console.ReadKey();

}

}

Далее сохраним как Test.cs (в Блокноте: Сохранить как… -> Тип файла: Все файлы). Такое расширение (.cs) имеют файлы кода для программ на Си-шарп (Рис. 3):

Рис. 3. Создание файла для компиляции

После этого, создаём в этой же папке ещё один текстовый файл, внутри вписываем:

csc.exe Test.cs

pause

Сохраняем как Compile.bat (должен появиться новый .bat файл). Команда pause нужна для того, чтобы окошко компиляции не исчезало сразу.

Рис. 4. Создание командного файла

ПРИМЕЧАНИЕ: Мы можем и не копировать эти файлы (зачем делать лишнюю работу?), а воспользоваться возможностями .bat файлов и запустить компилятор прямо из той же папки, где он находится (но для этого его нужно всё равно найти), поместив затем откомпилированную им программу туда, куда нам нужно.

Способ № 1: модифицируем Compile.bat:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe Test.cs

pause

В итоге, скомпилируется программа Test.exe в той же папке, где находится файл Test.cs (Compile.bat запускаем из этой же папки, где лежит наш код).

Способ № 2: модифицируем Compile.bat:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\csc.exe /out:D:\VS\Test.exe D:\VS\Test.cs

pause

Здесь, параметр csc.exe /out:<file> указывает, куда именно записать скомпилированную программу и какое дать ей имя и расширение. Второй параметр указывает место, где хранится наш Test.cs. Этот способ предпочтительнее, так как не имеет значения, где лежит Compile.bat, где находится файл с исходным кодом и куда компилировать код. Единственное, чего необходимо избегать, это написания командных файлов в Блокноте с русскими символами в пути или названиях (предпочтительнее для этого использовать другой текстовый редактор, например: Bred 3).

Способ № 3: также мы можем воспользоваться стандартной командной строкой (Рис. 5) Visual Studio (Пуск -> Все программы -> Microsoft Visual Studio 2010 -> Visual Studio Tools -> Командная строка Visual Studio (2010)):

Рис. 5. Открываем командную строку через меню Пуск

В общем случае, путь прописываем как во втором способе (Рис. 6):

Рис. 6. Компиляция при помощи командной строки Visual Studio (2010), русские символы допускаются

Всё. Запускаем Compile.bat. Видим следующее (в окне командной строки):

Рис. 7. Компиляция программы… Успешно!

В нашей папке появился новый файл Test.exe. Собственно это и есть наша программа, скомпилированная только что без использования какой-либо среды программирования. Это удобно лишь в том случае, если под рукой нет среды разработки. Результат работы программы представлен на рисунке ниже:

Рис. 8. Рабочая программа (консольное приложение)

Теперь немного поясним код (ключевые слова подсвечены синим):

using System;

Конструкция выше -- объявление использования пространства имён. В данном случае использовано системное пространство имён: System (но можно использовать и своё). Тоесть используя using, мы обращаемся к имени. В System содержится набор основных классов, и мы здесь создаём свой класс. А вот using -- это зарезервированное слово в языке Cи-шарп. Что же это?

Директива using используется в двух случаях:

· разрешает использование типов в пространстве имён, поэтому уточнение использования типа в этом пространстве имён не требуется: using System.Text;

· позволяет создавать псевдонимы пространства имен или типа. Это называется директива using alias: using Project = PC.MyCompany.Project;

Ключевое слово using также используется для создания операторов using, которые обеспечивают правильную обработку объектов IDisposable, например файлов и шрифтов.

Как видим, также как и в C и C++ язык унаследовал символ «;» как символ разделения операторов, однако можно писать код и без этого разделителя (частично).

Вернёмся к нашему коду:

class MainApp {

В Visual C#, весь код должен содержаться в методах класса. Таким образом, к началу точки входа (в данном случае: в программу), необходимо сначала создать класс. Имя класса, здесь не имеет значения. Далее, указывается точка входа:

public static void Main() {

Компилятор требует, что-то, что можно назвать Main(). Точка входа должна быть маркирована как public, так и static. Кроме того, точка входа не имеет аргументов и ничего не возвращает (но это как в и C++ зависит от сложности программ, например: static void Main(string[] args)). Конструкция Main() должна начинаться с заглавной буквы, но само слово - не зарезервировано (не подсвечено синим в среде Visual Studio):

Console.Title = "This is My First App!";

//

Console.ForegroundColor = ConsoleColor.DarkYellow;

Console.BackgroundColor = ConsoleColor.DarkBlue;

//

Console.WriteLine("Hello World!\nИ по-руcски можно? Конечно, привет мир!\nThis is my first application using C#!\nP.S. C# and F# FTW?\n");

//

Здесь всё просто. Двойной правый слеш -- комментарии (зелёным). Дальше идут функции реализующие работу с консольным приложением. А именно класс System.Console предоставляющий стандартные потоки (входной и выходной, а также сообщения об ошибках) консольным приложениям. Первая строчка отвечает за заголовок окна консольного приложения (Console.Title), вторая за фон под текстом, а третья за цвет букв. Четвёртая же выводит строку в скобках без кавычек. \n определяется как перевод курсора на следующую строку. Если System -- это пространство имён, Console -- класс, определённый в этом пространстве, то метод WriteLine -- это метод определённый в этом классе (метод аналогичен процедуре, функции или подпрограмме).

Идём дальше по коду:

Calendar MyCalendar = new GregorianCalendar();

CultureInfo MyCulture = new CultureInfo("ru-RU");

DateTime MyDate = new DateTime(2012, 12, 21, 18, 30, 0, 0);

//

Console.WriteLine("Время записанное в календаре: " + MyCalendar.ToDateTime(MyDate.Year,

MyDate.Month,

MyDate.Day,

MyDate.Hour,

MyDate.Minute, 0, 0) + "\n");

//

Для двух верхних строчек следующего куска кода, нам понадобилось расширить пространство имён, используемого при компиляции строчкой, в противном случае мы не смогли бы получить доступ определённым зарезервированным словам:

using System.Globalization;

В самом же коде мы видим объявление объектов класса Calendar (первая строка - создаётся экземпляр MyCalendar с параметрами грегорианского календаря). Дальше объявляется класс CultureInfo. Он служит для предоставления сведений об определенном языке и региональных параметрах (которые в совокупности называются «языковым стандартом» для разработки неуправляемого программного кода). В этих сведениях содержатся имена языков и региональных параметров, система языка, используемый календарь и форматы дат, а также разделители строк. Дальше идёт DataTime с новым экземпляром MyDate которому ставится в соответствие фиксированная дата. И наконец, мы выводим всё на экран консоли в формате грегорианского календаря и региональными параметрами под ru-RU.

DateTime now = DateTime.Now;

Console.WriteLine("Время запуска приложения: {0}\n", now);

//

Random rand = new Random();

int a = 0, b = 0;

for (int i = 0; i < 5; i++)

{

a = rand.Next() % 100;

b = rand.Next() % 100;

Console.WriteLine("a = {0}, b = {1}, больше: {2}", a, b, a > b ? 'a' : 'b');

}

//

В первой строчке создаём экземпляр класса DateTime -- now хранящий текущее время. И выводим на экран вместо символов {0}. Далее по коды, мы создаём генератор случайных чисел (rand), объявляем переменные типа int и загоняем всё это в цикл, основанный на int i. Цикл проводит 5 итераций. За каждую итерацию происходит генерация числа и операция % над этим числом: оператор модуля (%) вычисляет остаток после деления первого операнда на второй. Все числовые типы имеют предопределённые операторы модуля. И в этой же итерации выводится строка: вместо {0} и {1} подставляются a и b, а вместо {2} результат их сравнения (сравниваются остатки от деления).

Модифицируем приложение и посмотрим, что именно генерирует Random:

Рис. 9. Операция % не проведена над числами сгенерированными в Random

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

Во-первых, Си-шарп позволяет писать код свободно, но каждый оператор должен заканчивать точкой с запятой*:

public static void Main() {

Console.Title =

"This is My First App!"

;//

Console.ForegroundColor = ConsoleColor.DarkYellow;Console.BackgroundColor = ConsoleColor.DarkBlue;

//

Также в куске кода выше, показано, что можно написать код приложения даже в одну строчку.

Во-вторых, Си-шарп чувствителен к регистру. А это значит что ConsolE, Static и Public могут вызвать ошибки. Также важно понимать, что это касается и переменных и операторов.

ПРИМЕЧАНИЕ (*): Однако, не всегда точка с запятой обязана быть. Например, конструкция без точек с запятой ниже, выдаст сообщение с трёмя кнопками (Рис. 10):

class MainApp

{

public static void Main()

{

while (System.Windows.Forms.MessageBox.Show("Hello World without ';'! Привет мир без точек с запятой!", "This is My First Message Box!", System.Windows.Forms.MessageBoxButtons.YesNoCancel) != System.Windows.Forms.DialogResult.Yes)

{ } // До тех пор, пока не будет нажата кнопка «Да», окно не закроется

}

}

Рис. 10. Результат работы кода без точек с запятой (нужно нажать «Да»)

Получившуюся программу (Test.exe), собранную из кусков кода приведённых в этом материале, можно загрузить по ссылке в конце этого материала.

Размещено на Allbest.ru

...

Подобные документы

  • Назначение команды "diskcomp". Текст и запуск командного файла. Сравнение команды в Windows 7 и Windows XP. Разработка файла-сценария в ОС Linux. Создание файла в подкаталоге. Создание файла "oglavlenie.txt" с отсортированным по времени списком файлов.

    курсовая работа [1,6 M], добавлен 22.08.2012

  • Разработка программного приложения Windows Forms для работы с базой данных на языке высокого уровня в автономном режиме с использованием ADO.NET. Создание консольных приложений (варианты метода Main), выполнение запросов к SQL серверу и листинг программ.

    курсовая работа [2,4 M], добавлен 16.06.2014

  • История создания. Windows 9x/NT. Операционная система Microsoft Windows. Преимущества и недостатки Windows. Некоторые клавиатурные комбинации Windows 9x и NT. Windows XP Professional. Наиболее совершенная защита.

    реферат [19,3 K], добавлен 18.07.2004

  • Изучение основных методов разработки программ для операционных систем семейства Windows с применением технологий .NET. Анализ возможностей интегрированной среды разработки Microsoft Visual Studio, языка C# и создание приложения "пункт видеопроката".

    курсовая работа [1014,7 K], добавлен 28.06.2011

  • Задачи подсистемы безопасности операционной системы Microsoft Windows. Предохранение систем ОС Windows от проникновения вредоносных программ, изоляцию этих программ в случае вторжения. Минимизация ущерба при заражении. Центр обеспечения безопасности.

    презентация [1,2 M], добавлен 20.12.2013

  • Внешний вид и возможности меню Пуск - главного меню Windows XP. Содержание меню "Документы", "Избранное", "Справка", "Поиск", "Выполнить", "Завершение сеанса". Назначение папки "Автозагрузка". Создание ярлыков на рабочем столе для используемых программ.

    реферат [12,1 K], добавлен 23.07.2009

  • Характеристика и принцип работы подсистемы-инсталлятора Windows Installer, ее структура и назначение. Порядок и варианты установки программ в ОС Linux, их преимущества и недостатки. Методика и основные этапы составления базы данных программ-аналогов.

    курсовая работа [369,2 K], добавлен 24.08.2009

  • История ОС семейства Windows. Основные принципы администрирования ОС. Создание домашней группы. Присоединение к домашней группе или ее создание. Особенности ОС Windows 7. Анализ уязвимостей Microsoft Windows 7. Особенности версий ОС Windows 7.

    курсовая работа [2,2 M], добавлен 13.12.2010

  • Приемы и правила объектно-ориентированного программирования с использованием языка С++. Общие принципы разработки объектно-ориентированных программ. Основные конструкции языка С++. Разработка различных программ для Windows с использованием WIN32 API.

    учебное пособие [1,6 M], добавлен 28.12.2013

  • Создание программы для перевода кодов с языка Pascal на язык Си. Обработка программ операторами case, assign, rewrite и write. Способы объявления файла, комментария, переменных, логических и арифметических выражений. Виды синтаксических анализаторов.

    курсовая работа [461,0 K], добавлен 03.07.2011

  • Знакомство с техническими характеристиками персонального компьютера. Установка операционной системы и драйверов Windows 7. Способы чистки Windows XP Professional SP3. Методы восстановления операционной системы. Выполнение установки Microsoft Office 2010.

    отчет по практике [5,6 M], добавлен 22.09.2014

  • Операционная система MS-DOS: история и характеристика. Обзор стандартных программ операционной системы Windows. Способы запуска программ. Служебные приложения Windows и их назначение: диспетчер задач, проверка, очистка, дефрагментация и архивация диска.

    реферат [221,4 K], добавлен 06.01.2015

  • Правовые основы защиты информации на предприятии. Анализ среды пользователей. Автоматизированная система предприятия. Краткие сведения об операционной системе Windows XP. Классификация троянских программ. Способы защиты операционной системы Windows XP.

    дипломная работа [187,3 K], добавлен 14.07.2013

  • Создание папки на рабочем столе. Отличия значков ярлыка и файла. Функции монитора, отображение информации о приложениях Windows на рабочем столе. Элементная база ЭВМ третьего поколения. Характеристика операционной системы Windows, свойства информации.

    тест [73,5 K], добавлен 26.12.2011

  • История Windows. Особенности Windows XP. Файловая система и структура. Основные принципы работы с системой. Начало и завершение работы, главное меню. Запуск и завершение программ. Окна и диалоги, панель задач. Установка Windows XP.

    курсовая работа [344,0 K], добавлен 24.04.2007

  • Создание виртуальной машины для гостевой операционной системы Microsoft Windows Server 2003. Первоначальная настройка установленной операционной системы. Создание DHCP-сервера с диапазоном рабочих адресов. Настройка доменного имени для IP-адреса сервера.

    лабораторная работа [3,2 M], добавлен 20.12.2012

  • Сумма двух разреженных полиномов, заданных ненулевыми коэффициентами и их номерами. Разработка программ на языке программирования Visual Basic for Applications. Вывод справочной информации. Операционная система Windows. Хранение двоичных данных.

    научная работа [390,2 K], добавлен 09.03.2009

  • Microsoft Windows – одно из величайших изобретений человечества. Ознакомление с базовыми программами и навыками работы с Windows XP Professional: форматирование диска, архивация данных, файловые менеджеры, антивирусные программы, настройка Windows.

    отчет по практике [24,4 K], добавлен 22.12.2009

  • Использование языка программирования Delphi для записи программ, представляющих собой последовательность инструкций. Классы и директивы в объектно-ориентированном программировании. Разработка демонстрационной программы. Процесс настройки Windows XP.

    дипломная работа [917,4 K], добавлен 15.01.2014

  • Методики обнаружения и лечения трудноудаляемых программ для сбора конфиденциальной информации. Тестирование популярных AntiSpyware-программ для Windows. Исследования эффективности выявления вредоносного ПО с применением эвристического детектирования.

    дипломная работа [1,1 M], добавлен 21.01.2015

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.