14.02.2017 Views

. Стиллмен, Дж. Грин - Изучаем C#, 2-е издание

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

р<strong>е</strong>ш<strong>е</strong>ни<strong>е</strong> упражн<strong>е</strong>ния<br />

1Н2НИ2<br />

<strong>е</strong> ш ш <strong>е</strong><br />

выглядит код программы Excuse Manager посл<strong>е</strong> р<strong>е</strong>дактирования.<br />

8 форм<strong>е</strong> тр<strong>е</strong>бу<strong>е</strong>тся отр<strong>е</strong>дактировать только три оп<strong>е</strong>ратора: два в обработчик<strong>е</strong><br />

событии кнопки Save и один для кнопки Open, они м<strong>е</strong>няют расилир<strong>е</strong>ни<strong>е</strong><br />

(раилоб и задают имя, под которым файлы сохраняются по умолчанию<br />

p r i v a t e v o i d s a v e _ C l i c k ( o b j e c t se n d e r , E v en tA rg s e) {<br />

// с у щ <strong>е</strong> с т в у ю щ и й к о д<br />

saveFileDialogl.Filter = "Excuse files (*.excuse)|*.excuse<br />

saveFileDialogl.FileName = description.Text + ".excuse";<br />

// с у щ <strong>е</strong> с т в у ю щ и й к о д<br />

}<br />

p r i v a t e v o id o p e n _ C lic k ( o b j e c t<br />

// с у щ <strong>е</strong> с т в у ю щ и й к о д<br />

openFileDialogl.Filter =<br />

"Excuse files (».excuse)I*.<br />

// с у щ <strong>е</strong> с т в у ю щ и й к о д<br />

}<br />

s e n d e r , E v en tA rg s e) {<br />

excuse|All files (*.*}!*.*")<br />

Это код вс<strong>е</strong>го класса Excuse.<br />

[ S e r i a l i z a b l e ]<br />

c l a s s E x cu se {<br />

p u b l i c s t r i n g D e s c r i p t i o n { g e t ; s e t ;<br />

p u b l i c s t r i n g R e s u lt s { g e t ; s e t ■ }<br />

p u b l i c D ateT im e L a stU se d { g e t ; s e t ;<br />

p u b l i c s t r i n g E x c u se P a th { g e t ; s e t ;<br />

p u b l i c E x cu se 0 {<br />

E x c u se P a th =<br />

}<br />

p u b l i c E x c u s e ( s t r i n g e x c u se P a th )<br />

O p e n F ile ( e x c u s e P a t h ) ;<br />

}<br />

All files<br />

( * . * ) I* .* » ;<br />

Ч д т и с ч о л о з з к » « «<br />

} 1 и о т о р л я онй<br />

p u b l i c Excuse(R andom random, s t r i n g f o l d e r ) {<br />

s t r i n g [ ] file N a m e s = D i r e c t o r y . G e t F i l e s ( f o l d e r , " * .e x c u se " )<br />

O p e n F ile ( f ile N a m e s [ r a n d o m .N e x t ( f ile N a m e s .L e n g t h ) ] ) ;<br />

}<br />

p r i v a t e v o i d O p e n F il e ( s t r in g e x c u se P a th ) {<br />

t h i s .E x c u s e P a t h = e x c u s e P a th ;<br />

B in a r y F o r m a tte r f o r m a t t e r = new B in a r y F o r m a tte r () ;<br />

E x cu se tem p E xcuse;<br />

u s in g (Stream in p u t = F ile .O p e n R e a d ( e x c u s e P a t h ) ) {<br />

^ tem p E xcuse = ( E x c u s e ) f o r m a t t e r .D e s e r i a l iz e ( i n p u t )<br />

}<br />

D e s c r i p t i o n = t e m p E x c u s e .D e s c r ip t io n ;<br />

R e s u lt s = t e m p E x c u s e .R e s u lts ;<br />

L a stU se d = te m p E x c u se . L a stU sed ;<br />

{<br />

Конструктор, загружаюш,ий<br />

случайны<strong>е</strong><br />

оправдания, т<strong>е</strong>п<strong>е</strong>рь<br />

ищ<strong>е</strong>т расшир<strong>е</strong>ни<strong>е</strong><br />

.excuse вм<strong>е</strong>сто расшир<strong>е</strong>ния<br />

*.txt.<br />

p u b l i c v o i d S a v e ( s t r i n g file N a m e ) {<br />

B in a r y F o r m a tte r f o r m a t t e r = new B in a r y F o r m a tte r ( );<br />

u s in g (Stream o u tp u t = File.O per^Jjsifee (file N a m e ) ) {<br />

f o r m a t t e r . S e r i a l i z e (o u tp u t, ( t h i s ) ) ; у и a<br />

} ^ ------С - X Ключ<strong>е</strong>во<strong>е</strong> слово this т ут ф игуриj<br />

ру<strong>е</strong>т , так как тр<strong>е</strong>бу<strong>е</strong>тся с<strong>е</strong>риалы -<br />

зооать им<strong>е</strong>нно эт от класс.<br />

448 глава 9

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!