Компьютерные книги
Главное меню
Главная Поиск по сайту Добавить материал О нас Карта книг Карта сайта
Реклама
computersbooks.net -> Добавить материал -> Языки программирования -> Ватсон К. -> "С#" -> 186

С# - Ватсон К.

Ватсон К. С# — Лори, 2005 . — 879 c.
ISBN 1-861004-98-2
Скачать (прямая ссылка): vatsonc2005.pdf
Предыдущая << 1 .. 180 181 182 183 184 185 < 186 > 187 188 189 190 191 192 .. 404 >> Следующая


(

textBoxEdit.ClearОI

textBoxBdit.Text = reader.ReadToEndО;

)
396

Глава 15

cacch (IOException ex]

<

MessageBox.ShowIex.MeBsage, 'Simple Editor', MeasageBoxButtons.OK, MessageBoxIcon.Exclamation);

>

В данном случае для считывания файла используются классы streamReader и File. Для того чтобы использовать эти классы и не указывать каждый раз пространство имен, в самое начало программы следует добавить оператор using System, ю.

4. Теперь можно запустить приложение из командной строки, передав ему имя файла, Этот файл будет немедленно открыт и выведен в текстовом окне, как это показано на рисунке слева.

Как это работает

Включив в число параметров метода Main() параметр string!], мы получаем возможность использовать любые аргументы командной строки, задаваемые пользователем при запуске приложения:

static void Haintstring(1 ergs)

В методе Main о нами осуществляется проверка на предмет наличия переданных аргументов с помощью свойства Length. Если обнаруживается, что какие-либо аргументы были переданы, то первый аргумент присваивается переменной ?ileName, КОТОрая ИСПОЛЬЗуСТСЯ ДЛЯ передачи СГО КОНСТруКТОру формы SimpleEditorForm:

(

' string fileName = null;

if (args.Length 1° 0) filename ** args[G] ;

Application.Run(new SimpleEditorFormffileNaffie));

)

Как сказано в главе 7, в Visual Studio.NET существует также возможность описывать параметры командной строки для целей отладки. В Solution Explorer для этого следует просто выбрать проект, а затем обратиться к меню Project | Properties.

Если вы выберете Configuration Properties [ Debugging в левом дереве диалога, выведенном под раскрываемыми окнами, то вы сможете вводить аргументы командной строки (см. след. рис.).

В конструкторе simpleEditorForm мы осуществляем проверку, обладает лн изначально переменная с именем файла каким-либо значением. Если да, то оно присваивается переменной filename, после чего для открытия файла осуществляется вызов метода OpenFileo. Мы используем вызов отдельного метода OpenFileo,

t/Л Simirie Editor

E*f Format

- ‘

unng System.Refiecfion;

irting Sytfe,vi.Rurfiir«C«mpiejSeivice*;

I!

it Genoal Intamalidrt .be :t an аыетЫу » corfrofed though Ihe following It tel of OiAnijf li-.jii aiufcule value* lo modify ihe mfamabon

// «нос vUtfd wilh лл esiemtJy.

!/

laijemoly.

[акегпЫ/ Asiemd^J esa pkjrf' '|]

[dlHt tily. f-ffetiouf ^"]|

[ii-seribiy: * j]

[awe.'rriv: rodutff'7)

[asssirjl^ AMair.UyCogiyfiohlf'J]

[assent/ AtKfshfrT udemjikpil

¦

zl
^jiupkbJii! tir Prcpt rt r Page*

ВНВДЩю ]A:tr;ctpAug) 3 SWf'P'M (wivef^ET)” 3 0?^*' "¦'¦ -¦ ¦• I

Q Conwon Propn (из "j y-j] Properties BuH 13 LMi uUUfcl *
БкЫеДЗ> Orbing KJr 1
| Erubfa *SP.«T P*biw>j Ш
¦ ОЛчМРЧ Advmnd 1- ¦ Oat* UTHUr*J;d F+iM
¦ EtnWj 5CJL bmr 'fdta
Id ':Ц.| *,¦ tM'i
[" МчИ1/; Proiect

й«[1Й.
; Stdt i'+o*
S -Jr.7.t BjjlOlPl •
| Wafcnj D* nittfy
, iitrtfi I-Ot Intoret insfcftf fiifc
Comr l L I.LUC A| 511 ms nl* 1 hi ijg.b> «Arf riei cumnglfrt ; .rti-.t-i'liisw*. sSt Ь -i-n* t, r-iij-re: [. i-. ViLi-.

[ ПК | Coned | , I Hi.fr |

а не выполняем открытие файла и заполнение текстового окна непосредственно в самом конструкторе класса, поскольку метод OpenFileO может быть использован и в других частях программы.

i? (fileName ! = null)

(

- this EiiaHame = fileName; -

OpenFileO j

}

В методе OpenFileO для открытия файла и получения возвращаемого класса strcamReader используется статический метод OpenTextо класса File. Полученный класс StreamReader далее используется для чтения файла посредством метода ReadToEnd (), который загружает текст о виде строки и передает ее объекту Textbox. После завершения использования класса StreamReader его необходимо закрыть, для того чтобы освободить управляемые и неуправляемые ресурсы. Этого можно добиться с помощью оператора using, который вызывает метод Dispose о и конце блока, а метод Dispose!), реализованный в классе StreamReader, обращается к методу closet), который осуществляет закрытие файла:

using (StreamReader reader = File,OpenText(fileName))

. (

textBoxEdit.clear();

textBoxEdit.Taxt = reader.ReadToSnd0,¦

У

Поскольку выполнение операций с файлами запросто может приводить к возникновению исключительных ситуаций, например, если у пользователя отсутствуют необходимые права доступа к данному файлу или такого файла вообще не существует, то весь код заключается внутрь блока try. В случае возннкновеиия какой-либо исключительной ситуации, связанной с вводом/выводом, на экран выводится сообщение, информирующее пользователя о возникшей проблеме, но работа самого приложения при этом не прерывается:
398

Глава 15

try

{

U . . .

)

catch (IDException ex)

t

MeaaageBox.Show(ex.Message, 'Simple Editor*,

MessageBoxButtone,OK, Mess&geBoxIcon.Exclamation);

Если при запуске приложения будет введено несуществующее имя файла, то это приведет к появлению сообщения, представленного на рисунке слева.
Предыдущая << 1 .. 180 181 182 183 184 185 < 186 > 187 188 189 190 191 192 .. 404 >> Следующая
Книги
Web-программирован-
ие
Аппаратное обеспечение Графика Руководство по П.О. Самоучитель Теория программирования Фотошоп Языки программирования
Новые книги
Вирт Н. "Систематическое программирование " (Теория программирования)

Эком "Microsoft Excel 2000 шаг за шагом Русская версия самоучитель " (Самоучитель)

Поляков А.Ю. "Методы и алгоритмы компьютерной графики в примерах Vizual C++" (Графика)

Баяковский Ю.М. "Графическая библиотека Open GL " (Графика)

Валиков А. "Технология " (Языки программирования)
Авторские права © 2013 ComputersBooks. Все права защищены.