14.02.2017 Views

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

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

контрольно<strong>е</strong> знач<strong>е</strong>ни<strong>е</strong><br />

Поиск ошибки 6 п|>ило}к<strong>е</strong>нии Excuse Manager с помощью отладчика<br />

В оспользу<strong>е</strong>м ся отл а д чи ком для п о и с к а о ш и б к и в п р и л о ж <strong>е</strong> н и и Excuse<br />

M anager. В п р <strong>е</strong>ды д ущ и х главах вам уж <strong>е</strong> п р и х о д и л о с ь р аботать с эти м<br />

и н стр ум <strong>е</strong> н то м , т<strong>е</strong>м н<strong>е</strong> м<strong>е</strong>н<strong>е</strong><strong>е</strong> р ассм о тр и м п роц<strong>е</strong>дуру п о ш а го в о , ч т о ­<br />

б ы н<strong>е</strong> у п усти ть н и к а к и х д<strong>е</strong>тал<strong>е</strong>й.<br />

^ I<br />

Отладьт<strong>е</strong><br />

Точка останова у обработчика событий кнопки Random<br />

В ы зна<strong>е</strong>т<strong>е</strong>, с ч <strong>е</strong> го начать: и с к л ю ч <strong>е</strong> н и <strong>е</strong> п о я в и л о сь п осл<strong>е</strong> щ <strong>е</strong>лчка на к н о п к <strong>е</strong> R a n d o m Excuse. П о э ­<br />

том у о т к р о й т <strong>е</strong> код э т о й к н о п к и , п о м <strong>е</strong> сти т<strong>е</strong> курсо р в п <strong>е</strong> рвую с тр о ч к у м <strong>е</strong>тода и в ы б <strong>е</strong> р и т<strong>е</strong> в м <strong>е</strong>ню<br />

D e b u g ком анду T oggle B re a k p o in t. З апустит<strong>е</strong> програм м у. В ы д <strong>е</strong>лит<strong>е</strong> пустую п а п ку и щ <strong>е</strong> л книт<strong>е</strong> на<br />

кн о п к <strong>е</strong> R a n d o m для п<strong>е</strong>р<strong>е</strong>хода к т о ч к <strong>е</strong> останова:<br />

^<br />

private void randoraExcuse_Click(object sender, EventArgs e)<br />

{<br />

Ш І fileWawes = Directory.6etFiles(selectedFolder, "‘.excuse“)<br />

if (fileNames.Length == #) у f ier4ames.Length == 0 true<br />

{<br />

}<br />

else<br />

{<br />

MessageBox.Sho«("Please specify a folder with excuse files in it",<br />

"No excuse files found”);<br />

if (CheckChanged0 )<br />

{<br />

}<br />

currentExcuse « new Excuse(random, selectedFolder)j<br />

UpdateForra(false);<br />

I<br />

-Нав<strong>е</strong>дит<strong>е</strong> указат<strong>е</strong>ль<br />

мыши<br />

на свойство<br />

f iie N a m e s .L e n g th ,<br />

а когда появится<br />

oкиoJ щ<strong>е</strong>лкнит<strong>е</strong><br />

на кнопк<strong>е</strong><br />

со значком<br />

скр<strong>е</strong>пки, чтобы<br />

<strong>е</strong>го зафиксировать.<br />

Обработчик собы тий и конструктор Excuse<br />

В оспользуйт<strong>е</strong>сь ком а н д о й S te p In t o для п р о с м о тр а п р о гр а м м ы с тр о ч к а за с т р о ч к о й . Т ак как вы<br />

вы д <strong>е</strong>лили пустую п а п к у вы увид и т<strong>е</strong> , ч т о посл<strong>е</strong> в ы п о л н <strong>е</strong> н и я д и р <strong>е</strong> к ти в ы M e s s a g e B o x .S h o w O<br />

п р о и з о й д <strong>е</strong> т вы ход из о б р а б о тч и ка с о б ы ти й .<br />

Т <strong>е</strong>п<strong>е</strong>рь в ы д <strong>е</strong> л и т <strong>е</strong> п а п ку, с о д <strong>е</strong> р ж а щ у ю ф а й л ы о п р а в д а н и й , и сн ова щ <strong>е</strong> л кн и т<strong>е</strong> на кн о п к <strong>е</strong><br />

R a n d o m . П о ш а го в о п р о с м о тр и т<strong>е</strong> код. (В ы д о л ж н ы пользоваться ф у н кц и <strong>е</strong> й Step In to , а н<strong>е</strong> Step<br />

Over, х о т я и им <strong>е</strong><strong>е</strong>т см ы сл о б о й т и м <strong>е</strong>тод C h e c k C h a n g e d ( ) .) П <strong>е</strong>р<strong>е</strong>д создани<strong>е</strong>м объ<strong>е</strong>кта E x c u s e<br />

уп равл<strong>е</strong>ни<strong>е</strong> буд<strong>е</strong>т п<strong>е</strong>р<strong>е</strong>дано к о н с т р у к т о р у О б о й д и т<strong>е</strong> п <strong>е</strong> р вую строчку, та к как в н <strong>е</strong> й зада<strong>е</strong>тся<br />

зн а ч<strong>е</strong>ни<strong>е</strong> п <strong>е</strong> р <strong>е</strong> м <strong>е</strong> н н о й f i l e N a m e s va ria b le . Зат<strong>е</strong>м нав<strong>е</strong>дит<strong>е</strong> указат<strong>е</strong>ль м ы ш и на п<strong>е</strong>р<strong>е</strong>м <strong>е</strong>нную ,<br />

ч т о б ы увид <strong>е</strong>ть <strong>е</strong><strong>е</strong> знач<strong>е</strong>ни<strong>е</strong>.<br />

460 глава 10

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

Saved successfully!

Ooh no, something went wrong!