Создание программ на языке 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.2009Microsoft 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