282 99 41MB
Russian Pages 345 Year 2005
инелвалгО
е
В в е де н и
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF
е
8
л Га в а 1 т Ср е д а ви з уа л ьно г о п р о гр а м м и р о ва ни я Borland Delphi 2 0 0 5 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 15 к ов н а с т У а Borland Delphi 2005 15 о м к ан З в с т о с о содре й ркботарз и 17 л ав н о Г ан П е л оК н с т р у к т о е Р д а о кт И н с п е к то М е н дж Па л и рт С рт у к Н е ко т р ы
л Га в С о з да е ер П е я л д ерп О к ь ло с е к Н е а о дз С
е м е н ь и н с рт ум е н от
ю
р фор р ко д а р ое октб ъ р п р о е кт а ко м п о н е то а п р о е кт е н а с тр о й к
м в а в а и с р е д
а 2 т м п е р вы е п р о е тк д те м ка к птсиа ь пмраог м эпа т ы ркбрзоат о со л в о синелва ост м пывре й проке т дл Н а с рт а и в а е Пр и д ае Н е м н о г о о то м а Р б о а те И з у ча е
19 20 21 22 23 25 25 27 28
в
м б уд щ е м п р о г р а м м м в р е дакот р м с рт ук
е о кн е в н е ш н и , ак к п р о г р а м м и р у е тс е ко д у п р о е кт
ы р а з р а б о тк
и
ы в Borland Delphi 2 0 0 5 ы и промаг м и ам оиртгл а я Microsoft .NET Framework о н аш е й в и а а дл
й п р о г р а м м д с п о м о щ ь я п о в е д н и
ы ю с атнд р ты е п р о гр ам м
х ок м п о н е о т в ы
34 34 35 37 39 . .•
я .NET
40 42 48 53 56
Delphi 2005. Учи м с
С о хр а н я е Пр е о б р аз уе З а п у с ка е В ы п о лн яе
м с в о м п о луче н у м о ок н чаетльу
а 3 т к п р о г р а м м и р о в а н и Из учае я че г о т а к о о К н с а тн Пе р м е н ы
Чт
Ка к и
е Срт о к в ы еы л Ц В е щ е с вт е н ы иД а п з о иТ п Л о г и ч е с ки П е р чи с л и м ы аб Н о М ас и в Зап и с
Из учае Зн ако м и м с С о с ат в н о с Уло в н ы Оп е р а о т Оп е р а о т М е тк Пр о ц едур Н е ок т р ы Пр о ц е д у р
ь
и й те кс ю п р о гр ам м
т п р о г р ам м
ы в и с п о лн яе м ы
у ю н а с рт о й к у п р о г р а м м м первы й проек т д л я Win3 2 м б уд щ е е о кн о п р о г р а м м ы м п р о г р а м м е н е о б хо ди м ы й в н е ш н и й в и м с тр ук р у п р о е кт а дл я Win32 м и с хо дн ы й те кс т п р о г р а м м ы в и с п о лн яе м ы м п о луче н у ю п р о гр ам м у м о ок н чаетльу ю н а с рт о й к у п р и елно иж
На с рт а и в е Пр и д а е И з уа че Пр е о б р аз уе З а п у с ка е В ы п о лн яе
Дл
и н ар б о кт м и с хо дн ы
Со з дае
л аГ в Язы
я п р о г р а м м и р о в а т
й фай
л
й фай
л
ы
д
я
я Delphi
м а л а ф в и т я з ы к а о н ун ж ы ко м м е н та р и и е и д е н ти ф ка то р ы ы е б ы ваю т ти п ы д а н ы х й и с и м в о лнь ы й ти п ы е ти п ы й ти п н «д-а т врем я » й ти п е ти п ы р ы и м ос новны е ти п ы в ы р аеж н и я с о п е р а т о р а м и язык й о п е р а то р begin й о п е р а то р ы п о в то р е н и й р выб о р а и и о п е р а то р ы п е р хо д а ы и фу н к ц и и - г д е и к о г д е с атн д р нты е п р о ц е дур ы и функц и , о п р е д ляе м ы
64 66 69 81 84 85 87 93 99 99 104zyxwv
105
:
й и о п е р а ц и а Delp hi
а о н и и с п о л ь з у ю т с ы и функци и е п р о г р а м м и с то
и
я м
106 108 110 110 112 113 114 116 117 118 118 118 119 119 120 122 124 126 126 127 129 134 137 138 139 142
ине лв а л г О З н а ко м и м с Н е ко т р ы
л Га в Н е с ко л ь к п р о гр а м м и р о ва ни
я с ти п о в о й с тр ук р о е с о вет ы п о оо р фм ле н и
й м о дул е ю п р о гр ам м н о г
о ко д
е Delphi а
144 146zyxwvutsrq
а 4 т о с л о
в о б о беъ тк н о - о р и е н т и р о в а н о и
м 147
Оп р е д л я е м п о н яит е «ксал » тЧ о п р е д с атв л я е т собо й ое к б ъ т тЧ о тако е м е от д Ос н о в н ы е при нци п ы о е б к тн о ъ - о р и е н ти р о в а н о г п р о гр ам м и р о в ан и я и ц я л спу а к н И я и св сйот а о т оке ъб в и н а во д е сл а Н е е чаЗ м нн ж у ы див т кеир ы protected и private з и м ло ф Пр м ; к ь ло с к е Н о со л в о кса л х и а т к е оъб х Delphi
Гл а в
й н а яз ы к
е
148 149 151 о 154 154 159 165 165 167
а 5 •
И з у ча е м ос нов ы п р и п р о г р а м м и р о в а н и оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е
е ок м п о н е н т и дл т Label т TextBox т Button т ImageList т ToolTip т Panel т CheckBox т RadioButton т GroupBox т ComboBox т ListBox т CheckedListBox т PictureBox т NumericUpDown т StatusBar т Timer т ToolBar т ProgressBar
ы я .NET
169 169 172 177 178 180 181 182 189 195 196 199 204 205 210 211 214 216 221
Delphi 2005.м си zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB Уч я пмарог таиорв ь оК м п о н е оК м п о н е оК м п о н е оК м п о н е
т MainMenu т ContextMenu т OpenFileDialog т SaveFileDialog
Гл а в Из уча е
а 6 • м ос нов а рК н д а
ш и ки с т ш
а д н ар К си т К
ь м о с но вны я
И з у ча е Лин и н ь лм о яг р у П и н ь о л г уМ н со т н ж у р к О гу Д о т ке С к в а с Вт
ь - о с н о в н ы
й в . NET
е и н с рт у м е н т
ы дл
е прим итв
241
я р и с о в ан и
я
ы
с
а р а тстке
и н а в о з ь л со п И и н а в о з ь л ос п И
а еч з у И рп
ы с г р а фи к о
е г и р ч еа ф с к и к к ь и эпи л
З н а ко м и м с
Гл а в
ы р а б о т
224 233 235 237
а я с о с н о в н ы м е ыво тиб е GIF- имцна
и п р и е м ам х ооз абр
и м уилтьп и кац и в и
и
243 243 247 254. .256 256 257 258 259 260 260 262 263 269
а 7 т
м оы н во с и прагом м аирвон
е м о ек т н п и дл
ы я Win32
оК м п о н е т TLabel оК м п о н е т TEdit оК м п о н е т ы TButton и TBitBtn оК м п о н е т TlmageList оК м п о н е т TPanel оК м п о н е т TCheckBox оК м п о н е т ы TRadioButton и TRadioGroup оК м п о н е т TGroupBox оК м п о н е т TComboBox оК м п о н е т TListBox оК м п о н е T т CheckListBo x оК м п о н е т Tlmage оК м п о н е т TUpDown
273 275 278 278 280 282 284 285 289 289 292 295 296 299
ине лв а л г О
е V
оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е оК м п о н е Ко м п о н е н
т TStatusBar т TTimer т TToolBar т TProgressBar т TMainMenu т TPopupMenu т TOpenDialog т TSaveDialog .
Гл а в Из уча е
а 8 • м о с н о в о Хл с а Кр н д а а дн р а К ис т К И з у ча е Лин и н ь м ло я р г П у и н ь о л г уМ н ос н т ж у р к О гу Д о т ке С к чо Т о выВ
т - гирчеафс ка ш и ки с т ш ь м о с н о в н ы я
ре м П д е т ы н
я п о в е р хн о с т ь - о с н о в н ы
й в W i n 3 2 ь дл
я р и с о в ан и
е и н с рт ум е н т
е гир чаефс ки
ы дл
е п р и м и т в
я я р и с о в ан и
317 я
ы
ь и эпи л
с
а
;
р а д тстке
я с о з д ан и и н а во з ь с ло п И и ц а ки л п т ь л М у
а м г ри ачеф с ки я м улить п и кац и
1 е в о з м но ж с т х оозбар
в ю быво ти
е
319 319 320 322 325 326 329 331 333 333 334 334 335
и и
е быво ти я с пмо щ ь
З е л ч а и н юк р е и л П н ож ирм П е р
ы с г р а фи к о
к к
И с п о л зь у е дл
ы ра бот
301 303 306 307 308 310 312 314 * zyxwvutsrqponmlkjih
х ооз абр
в
337 337 339
343
е т ы проагм
м й уа зк т е л
344 ь
347
Вв е д ни
е
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED
В теч н и е п о с л е нд е г о в р ем н и с р ед а р а з р а б о кт и п ро г ам н о г о о б ес п еч н и я а онд и м и з н аи бо ле е ож и аемд ы х п р о г ам н ы х пк у дор Borland D elphi 2005 бы л отв . Че м в ы з в а н п о дбн ы й и н е тр с ? П ри чи н а его , п реж д е всего , в том , ч т о Borland - до сат ч н о с ер ь ез н а я фи р ма , п кармтоуд и и р аз р абоктам и к о т р о й н а сегонд я п оль зю уст я м и л и он ы лю ед й . Далек о н е кажд я фи р м а досит гае т так и х резльоаутв . и дтС у е сма и - з а вс ю сво ю и с то р и ю р аз р аб очт и к ам и Borland бы л о со з адн о до с ат о ч н о бо ль ш о е ко л и ч е с вт о и н м с р т у е н а лт ь н ы х с р е дт в р а з р а б о кт и п ро г ам м дл я о п ер ац и о н н ы х с и ет м MS DOS (Turbo/ Borland Pascal, Turbo/ Borland C/ C+ + , Turbo Assembler), Windows (Delphi, C++ Builder, JBuilder) и Linux (Kylix). К ром е то г , с п о яв лен и е м н о в й в ер с и и п р о г ам н о г о пктруод а о ж и а л до с ь и п о яв л ен и е н о в ы х ег о в о з м о ж н о сетй , к о т р ы е п о з в о ля и б ы и сп о ль з о в ат ь са м ы е п о с л е нд и е ен т х о л г и и в о бласт и п р о гр а м и р о в а н и я . Се у дел т о мт е и ьт , ч т о р а з р а б о чт и к а м Borland D elphi 2005 уосла д ь п р е п о нд е с т и сю рп ри з - и м и бы л а соз анд а п р и н ц и п и ал ь н о н о в а я сред а р а з р а б о кт и п р о г ам . И ат к , Borland Delphi 2005 - э т о сред а р а з р а б о кт и , пктурод , п рнед аз н ач ен н ы й дл я со з адн и я п ро г ам . С п ом щ ь ю э от й сред ы м ож н о до сат ч н о ыб тс р о и э ф е к ти в н о со з адв т ь п р о г ам ы лю бо й сло ж н о ст и и лю бо г о н аз н ач е н и я . В дан н о й к н и г е в ы н ай едт е к р ато е о п и сан и е в о з м о ж н о сет й э о т й с р ед ы р а з р а б о кт и , а так ж е яз ы к а п р о г ам и р о в ан и я D elphi. т ск аз н о н еск о ль к о сло в о то м , ч т о ж е со б й п р есдатв ляе т с р ед а Д але е бе д у р а з р а б о кт и Borland Delphi 2005.
тЧ
о тоа к е сед р а тоакрбз Borland Delphi 2005
В э от гр а м и р о в а н и
м н еб о л ь ш о
Не м н о г С р де а р а з р а б о кт си я п р о г ам н о г н о , он а яв и лас огд ы п р о ш л о г
м в е дн и и а нд а с ам я Borland D elphi 2005.
о и с т о р и
и я о бщ а
я хар к етр и с ит к
а с и емт
ы п ро
-
и и Borland Delphi 2005 - п о сленд я о пктруод а о т фи р м ы Borland. В ерси ь свистлде м долг о п р о ц ес а , к о р н о века .
я н а сегонд я (2005 год ) вре я э т а в о з н и к л а н е сйча ул и к о тр г о уяод х т ещ е в 60- е
В е ив н д
е
V
zyxwvutsrqpon
я П аск л ь (п ршед есвтн н и к яз ы к а D elphi) бы л раз Яз ы к п р о г ам и р о в ан и р а б о ат н п р о фес о р м Н . В и рот м в к о н ц е 60- х огд в с п ец и а л ь н о дл я чобену и я п ро г ам и ро в ан и ю сенд оувт . В ч и сл е /сон ет д у т в э от г о вы аюд щ оегс я п р о фес н и А . ейХ лсберг . К ан н п о з нд е е сор а Ц ю р и с хк о г о н у и в е р с и ет а бы л и Ф . К ан осн ова л к о р п о р а ц и ю Borland, а Хей лсбер г од л г е в р ем я бы л е е вщ у дие м п ро гр а м и со т м . П о д рковустд м К ан а и Хей лсберг а яз ы к П аск л ь бы л п рев а щ е н в м ощ н о е сресвдт о р а з р а б о кт и п ро г ам м лю бо й с л о ж н о си т . П ер в ы м п ок рт у д м Borland и з сем й свт а D elphi лд я п л афто р м ы Windows ал с т а сред а р аз р аб о кт и D elphi 1 (а з еат м и D elphi 2), в осн ов е к о т р о й бы л яз ы к Object Pascal (яз ы к Pascal, п еордж и ваю щ и й в о з м о ж н о ст и объекнт о- ори ен ит ро в ан н о г о п р о гр а м и р о в а н и я) . С ред а D elphi 1 бы л а р а з р а б о тн а дл я со з адн и я п р о г ам м п о д о п ер а ц и о н н ы е си есмт ы Windows 3.1. П о яв л ен и е н о в й в ер с и и D elphi 2 сщ у вестн о олти ч ал о сдре у р а з р а б о кт и о т п ырщед у и х п р к о ту в д . Д а н н а я в е р с и я бы л а р а з р а б о атн а уж е п о д 32- зрадя н ы е о п е р а ц и о н н ы е си семт ы Windows 95 и Windows N T 4. ю у С щ д ел и е в ер с и и D elphi (3, 4, 5, 6, 7) яв л я и с ь свлсеитд м п о с ет п е н н о г о раз ви т я сред ы р а з р а б о кт и - учш ул иа с ь ющ ву с т е и е к о м п о н е н ыт , добавля ли с ь н о в ы е в о з м о ж н о сит , боль ш о е в н и м ан и е улоясе д ь п р о г ам и р о в ан и ю ба з ад н н ы х и п р о г ам м дл я глобаь н о й с ет и Internet. Ткаж е м ож н о добав и т ь и то , о ч т о к п о яв лен и ю сьедм о й в ер с и и пктруод а яз ы к Object Pascal бы л сщ у веснт од р а б о т н и пчиолу л н ов е н аз в ан и е - D elphi. П ер в о й в ер си ей , п р и н ц и п и а л ь н о о лт и ч а ю щ е й с я о т п р ые д щ у е й , аслт а у в ер с и я . П р и н ц и п и а л ь н о е олти ч и е е е з ак лю ч асет я в то м , ч т о в о сь м а я п о счет D elphi 8 бы л а с о з ад н а лд я р а з р а б о тк и п р о гр а м м п о д н ову ю п е р с п е к ит в н у ю п л фа о т р м у .NET, созанд у ю н е м ен е е и з в еснт о й фи р м о й Microsoft. К аз ло сь , бы л о б ы л о ги ч н о , ч от б ы сю ущдел а я в ер с и я D elphi (к о е й яв л яест я а п о р я кд о в ы й н о м е р 9. Н о э отг о н е п р о и з о ш л о . Borland D elphi 2005) п чоилу П очме у ? И з осн овн ы х о с б е н н о с ет й с р ед ы р а з р а б о кт и Borland D elphi 2005 м о ж н о о м т еи т ь то , ч т о н ова я срде а раз рабокт и объиед н и л а в себ е все ь оп ы т п рогам м и ро в ан и я и с о з а нд и я с п ец и а л ь н ы х п о к рт у д в л д я р а з р а б о кт и п р о г ам н о г о о б ес п еч н и я . В Borland Delphi 2005 м ож н о созавдт ь п р о г ам ы дл я п лфоатр о ран ь ш е в в ерси я х п о сьму де ю вк лю ч и елть н о) , а м ож н о м ы Win32 (ка к э т о бы л с о з а дв т ь п р о г ам ы и п о д н ову ю п ер с п ек ит в н у ю п л аф о т р м у .NET (ка к в в о сь м о й в ер с и ) . К ром е то г , д о вось м о й в ер с и и и сп оль з овалс я яз ы к п роамг м и р о в ан и я , о сн о в ан н ы й н а яз ы к е Pascal (сн ачл а Object Pascal, з еат м D elphi). В н ов й в ер си и се щув тсе т воз м ож н ост ь р аз р абокт и п рогам м н а н есколь и х язы ка х (Delphi, C#, Java) - то , ч ег о ран ь ш е н е бы л о н и в онд о й п одбн о й сред е рза р а б о кт и . Елс и к вы ш скеаз н ом у добав и т ь и то , ч т о р еадкит р о в ан и е п рогам м
Delphi 2005. Уми ч с
ал с т о п ро щ е и уноб де ст и п р о г ам и р о в ан и я land Delphi 2005 вы ш л
я марогп таиорв
е з а сч е т п р и м ен ен и , т о сатн о в и ст а и м ен н о п о
р аК т о к е описан е сре д Borland Delphi 2 0 0 5 К р а кт
о м ож н >• ви зальун о >• и сп о ль з о в ан и >• п еродж к > в о з м о ж н о ст >• в в едн и п р о г ам
ь zyxwvutsrqponmlkjihgfedcbaZYXWVUTS
о о тм е и т е к о н с рти у р о в а н и а н ес к о л ь к и ь со з адн и е м н о ж есвт .
'
х п оснлед и , п очме
д таки
м «аонвт мн ы м
ы ра зра бот к
ь сю у длще и е го т в ы
я смаы я п о н янт о
х к о м п о н е н о т в - з а го т в х яз ы к о я п р о г ам а тенх о л ги й •
х досит ж ен и у с р ед » н аз в ан и ем
й в оалб и Bor.zyxwvutsrqponm
а р а з р а б о кт
и е осн овн ы
е о с о б ен н о с т
е п ро г ам
;
и сред к дл
в п р о г а м и р о в а н и я м п о д р а з н ы , ускоряю щ и
е п л афто р м ы х и облегч аю щ и
ы р а з р а б о кт и
я бщ иу д у ;
х п ро г ам
: ;
; х н ап и с ан и
е
е п ро г ам м В о сн о в е и ед и и с п о л ь з о в а н и я Borland D elphi 2005 п р и р а з р а б о кт т тенх о л ги я в и з а л ьу н о г о к о н с рт и у р о в а н и я . Ч т о э т о так ое ?zyxwvutsrqponmlkj кв аоутинерс (Visual design) п р о г ам м и з б а в л яе т п р о г ам и с е ьо н В и з у а л т а о т м н о ги х с л о ж н о с те й , н а п р и м е р о т р тиу н н о й р а з р а б о тк и и н те р ф е й с а (вн еш н ег о в и ад ) бщ еу д у й п р о г ам ы . Borland D elphi 2005 со едр ж и т вс е н еоб о и хд м ы е п р о гр а м н ы е з а го т в к и - ки рп и чи ки , и з к о т р ы х с рт о и ст я и н е тр фей с п р о г ам ы . П р о г ам и с т и сп о ль зе у т п роти п щ гуе д уб о окн а п рогам м ы - форм у - и н ап о л н яе т е е н е о б хи д м ы м и к о м п о н е н ат м и , реали зю у щ и м и нж у ы е и н те р ф е й с н ы е св о й свта . П р и эот м к о л и ч ес вт о к о м п о н ен от в , и з кот » сво ю п роагм у , од сат ч н о в ел и к о . В с е р ы х п р о г ам и с т м ож е т «соби ьрат н е о б и дх м ы е дл я со з адн и я п р о г ам ы к о м п о н ен т ы о б ъ еид н яю ст я в та к н аз ы м у е ва ю б и л и ое к т у в и з а л ьу н ы х к о м п о н ен от в . т ки е о а л и б Б вх ьын изуал квтнеоп м о (Visual Component Library) п роаедсвтля е т п р о г ам и ст у о гр о м н о е раз н о браз и е с о з ад н н ы х р а з р а б о тч и к а м и D elphi п р о г ам н ы х з а го т в о к , к о т р ы е м ож н о с р аз у и сп о ль з о в ат ь п р и н ап и с ан и и с о б втен н ы х п р о г ам . П р и э от м к о м п о н ен т ы соедр ж а т в с еб е п о м и м о п ро гр а м н о г о код а и в се н ео б хид м ы е дл я и х р а б о т ы да н н ы е , ч т о и з бав ляет п ро гр а м и с т а о т риту н н о й р а б о т ы п о «и з о бр етн и ю в е л о с и п ео д в » , - н е т н оебх ид м о с т и п и сат ь то , ч т о ж у е б ы л о н ап и сан о , - до с та о ч н о в о с п о л ь з о в а ьт с я бо ль ш и м о п ы от м п рог ам и сотв- соз еалдт й Borland D elphi 2005. И сп оль з ова н и е п о дбн о г о подх а в о м н о г о р а з со к ращ ае т в р ем я р а з р а б о кт и п р о г ам , а а кт ж е щ с у в е тн о с н и ж ае т в е р о я нт о с т ь счалйу н ы х п р о г ам н ы х ош и бок . П р е с да т в ь е , ка к б ы ва м п р и ш ло с ь тяж к о , есл и б ы п о д ркоу й н е бы л о го т в ы х к о м п о н е н от в , - в р ем я р а з р а б о кт и п р о г ам м щ с у е вс т н о б ы в о з р о с л о , и ещ е н еи з в ес нт о , о сатло ь б ы в о бщ е у ва с ж елан и е п р о гр а м и р о в а т ь и л и н ет . л еж и
Введ ни
С то и
е zyxwvutsrqponmlkjihg
т о мт е и ьт
, ч т о хот я б и б ли оетк а и со едр ж и т в свое м н аз в ан и и сло в о е те х к о м п о н ен от в , к о т р ы е у д у б т ви нд ы в о в р ем я вы я п р о г ам ы , он а соедр ж и т такж е м н о г о н еви д м ы х к о м п о н ен от в , ре х т е и л и и н ы е в о з м о ж н о сит , н а п р и м е р сатн адрнт ы е ди алоги , та й м е р , е сп и ск и и т.д . П о е др ж к а н еск о ль к и х яз ы к о в п р о г а м и р о в а н и я - н о в ы й эат п в р а з в и т и п р о гр а м н ы х п р ок уд т в п одбн ог о р о да . Р ан ь ш е п р о гр а м ы с о з ад в л и с ь в раз ли ч н ы х сраехд , п р енд аз н ач ен н ы х дл я и сп о ль з о в ан и я тог о и л и и н о г о яз ы к а п ро г ам и ро в ан и я . К ром е тог , з ачуст ю боль ш о й п р о блем о й бы л о солкьнт у с я с р а з р а б о тк о й слож н ы х п р о г ам н ы х к о м п л ек с о в , э лем н т ы к о т р ы х бы л и н ап и сан ы н а р а з н ы х яз ы к а х п р о гр а м и р о в а н и я . В дан н о й ср ед е в е дн а п до едр ж к а н ес к о л ь к и х , н аи б о ле е п оп лярун ы х и м ощ н ы х , яз ы к о в п ро г ам и ро в а н и я - D elphi, zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA C# , Java. К ро м е то г , бы л и о к о н ч аетл ь н о усртан ен ы в о п р о с ы со е ес л и э л е м н т ы в м е с ти м о с т и яз ы к о в п р о гр а м и р о в а н и я - те п е р ь , адж п ро г ам ы н ап и сан ы н а р аз н ы х яз ы к а х , н и к а и х п ро бле м с с о в м е си т м о сь т ю н е в о з н и к ает . * В оз м ож н ост ь со з адв т ь п р о г ам ы п о д ре ынич азл ы пм р о атф л - так ж е п олез н о е до с т и н с вт о Borland Delphi 2005. К аз лос ь бы , н у п о яв и лас ь н о в а я п тал фо р м а .NET - н у и з ач е м он а н а м нжн уа ? Н чаиу м с я м ы п р о г а м и р о в а т ь по д Windows, р а з в е э от г о н е досат ч н о ? Microsoft .NET - э т о н о в а я тенх о л ги я р а з р а б о кт и п р о г ам н о г о о бесп еч н и я п о д Windows (а в даль н ей ш е м - и п о д дигру е о п ер а ц и о н н ы е с и сетм ы ) . В е е осн ов е л е ж и т и ед я ун и в ер саль н о ст и п р о г ам н о г о каод , ч т о дае т в о з м о ж н о с т ь р або т ы п ро г ам ы н а лю бо й п л афто р м е (о п ер а ц и о н н о й си семт ) п р и усло в и , ч т о э т а п л а тф о р м а п о ед р ж и в а е т те н х о л г и ю .NET. Ун и в ер саль н о ст ь п ро гр а м н о г о код а досит гаест я з а сч е т п р евд а р и етл ь н о г о п р ео б р аз о в ан и я иод сх н о й п р о г а м ы в «н ей рталь н ы й » , п р о м ежотчу н ы й , к о д и з ает м с п юосулед щ е й тр а н с л я ц и е й э от г о код а в вы п олн яем у ю п р о г ам у ж у е н а э атп е в ы п о л н ен и я сам о й п р о г ам ы . К р а кт о и з о сн о в н ы х о с о б ен н о сет й .NET м о ж н о о тм е и т ь ю су л е д щ и е : «ви азльну ы »х п о л н ен и ал и юз у щ и раз ли ч н ы
, н о к ро м
>• п о л н о ни я н и н и ка и м у ви д у >• общ а я о н и бы л ю те р и п р о и з о й ед т к о н еч н о
е м еж ъ яз ы к о в е в з а и м о ед й с в т и е и сп о ль з о в ал и п р и с о з да н и и п ро г ам х сло ж н о сетй , п оск ль у вс е я з ы к » яз ы ку ; - «п орчнмтжеу о сред а в ы п о лн ен и я п р о г ам , н ез ав и си м и соз адн ы . Т еп р ь м ож н о с легк осьт з аписту ь с в о ю п р о ам г у . ьтд уБ , вша а п ро г ам а з а п ис т у я , ч т о н а эот м к о м п ь ю етр е усант овлен
. К ак о м лд и п рео б азюу ст
й б ы яз ы к п р о г ам и р о в а я .NET, в ы н е вуи д т я в и от г е к онд о о о т то г
е -
, н а каки х яз ы к а х ь н а догру й комп ь ^ е в е ур н ы - н и ка и х казсо у в н е и бе д у т р а б о ат ь (п р и усло в и , а с р ед а .NET). ю п ер с е т
Delphi 200 S. Ус м и ч
П о э мт у м о й ва м ав м ж и з н ь , есл и в ы од в л ь н о щ с у в е тн а щ ис х я и сп о ль з о в ан и фо р м е (Win32) я н п о с в ящ ен ы р а з р а б о кт Ещ е онд а важ н а я
ь zyxwvutsrqponmlkjihgfedcbaZYXWVUTS
я та ов р и м а р пог р
- и сп о ль зй у т е эт у пофрлмату , э т о н ам н о г о о б л е гч и т е з а н и м аь т с я п р о г ам и р о в ан и ем . С о втес н н о , я ч аст ь кн и г и п о с в ящ ен а о с в ещ ен и ю воп рос в , юаск я и м ен н о н о в й тнех о л ги и .NET. К о н е ч н о , о догру й птал е з абы л - кн и г а п о т у с и р а з ед л н а н а в д е ч а с ит , к о т р ы е е п р о г ам м лд я .NET и Win32 с о вт ес вт ен н о . о со б ен н о ст ь с р ед ы р а з р а б о кт и Borland D elphi 2005 - п ри м ен ен и е м н о ж е с тв а н о в ы х т е х н о л о г и й , оzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO и а г ю щ ех ч л б ( и уиющх)якрсо а ин е з д о с п-ор м.гамр Н е с от и т з а б ы в а ьт , ч т о о с н о в н ы м и д о с т и н с вт а м и , к о т р ы е ц е н я ст я о р аз р абокт и п р о г а м и с а тм и (и н е толь к о и м и ) , яв ляю ст я бы срто а и увобстд п р о г ам . Бы с рт о а од с и т г а ес т я з а сч е т и с п о л ь з о в ан и я го т в ы х р еш ен и й , а актж е з а сч е т то г , ч т о боль ш а я ч аст ь тек ст а (и онсдх ог о к оад ) п рогам ы фо р в м ож н о о м т еи т ь м и с ет р у я а в от м аит ч е с к и , а н е п и ш сет я ч н ю в ру . И з уобстд гр а м о нт о е о ф р м лен и е и воз м ож н ост ь н а с рт о й к и «п о д сбея » ок н а р ае д к о т а ю и ч ект о р и ук т со в а н у ю п с ра и о нс д х о г о код а п р о г ам ы , а так ж е унбоу д воч н у ю м уе и с т , в к о т р о й м ож н о до сат ч н о б ы с рт о и л егк о н ай т и овте т н а лю бо й воп рос . а и сп о ль з о в ан и я Borland Delphi 2005, Н е с м о рт я н а вс е п р ел с т и и ув тсоб д л д я е е э ф е к ит в н о г о и сп о ль з о в ан и я р т ес б у я н али ч и е о п р е дл н н ы х н ва ы к о в . С ей ч а с в ы де р ж и т е в рка у х нк и у г , к о т р а я п оз воли т в а м п ж ро и у д ь т с я с Borland D elphi 2005, а такж е п р и о б р е с т и н ач ль н ы й о п ы т о бщ ен и я с эот й сре о д й р а з р а б о кт и ,zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
т Ч о в ы еа утнз
со в ет хоит
е и з отэ
й кинг
и
т и з н аз в ан и я , к н и г а п освящ ен а и зчену и К а к се у дел D elphi 2005. Ч т о ж е в ы уз н ает е и з э то й кн и г ? А узн ает е сам о е осн овн о е о с р ед е р а з р а б о кт и з адв т ь с о б вт е н н ы е п р о г ам ы до сат ч н о л е гк з в о ли т п р и о б р ес т и н ач ль н ы й оп ы т п ро г ам и ро в ан и ро в ан и я н а яз ы к е D elphi в ч аснт о сит . Д але е я п ри вед у осн овн ы е н ав ы к и , к о т р ы е в э от й к н и ги . И атк , п р о ч и та в эт у кн иу г , в ы зу н ает >• ч т о так о е сред >• о п л ан и р о в ан и >• о том , ка к р аз р аб ыт в ат >• н ач ль н ы е с в е дн и >• основ ы ви зальун ог
а р а з р а б о кт и р а з р а б о кт
ю ср ед
ы р аз р аб о кт
, ч т о п о з в о л и о и б ы с рт о я в о бщ ы п р и о б р е т :
и Borland т н ч и а у ь тс . Д ан н а
я кн и г
я ос а п о -
е и п рогам и е п о п р о ч етн и
и Borland D elphi 2005; и п р о г ам ы ; ь а л го р и м т ; я о яз ы к е п р о г а м и р о в а н и я D elphi; о по д х а к п р о г ам и р о в ан и ю ;
и
-
е zyxwvutsrqponmlkjihgfed
В вед ни
>• ка к п о ль з о в аьт с н и и п р о г ам >• о с о б ен н о с т >• о сн о в ы тенх о л ги >• о с о б ен н о с т
я с а т н ад р н т ы м ; и н ап и сан и
и з а го т в к м и - к о м п о н е н а м т
я п рог ам и .NET; я п рогам
и н ап и сан и
и п р
м дл
я п лафто р м
ы Win32;
м дл
я п л афто р м
ы .NET.
и н ап и са
-
Кн иг
а с о де р ж и т д о с та о ч н о е к о л и ч е с вт о п р и м ер о в п ро г ам , и сохдн ы е ы к о т р ы х м ож н о бесп лант о з азгруи т ь с сай т а и з ае дл т ь с в а . В н е р ам о к к н и г и оаслти с ь тем ы и сп о ль з о в ан и я в о з м о ж н о сет й сред ы раз р б о кт и п о п р о г ам и р о в ан и ю ба з дан ы х , соз адн и я п ро г ам , и сп оль зю у щ и х воз м ож н ост и глобаь н о й с ет и Internet и др . К ром е то г , н ес м о рт я н а прежкдо у с р е од й р а з р а б о кт и н еск о ль к и х яз ы к о в п р о гр а м и р о в а н и я , в э от й к н и г е р ас м арти в аест я от л ь к о оид н яз ы к п рогам м и рован и я - D elphi. П очем у и м ен н о яз ы к Delphi? Д ан н ы й яз ы к бы л в ы б р а н и о сдх я и з с о б р аж ен и й легк о ст и ег о п оадч и н ач и н аю щ и м (в сп о м н и ет , ег о п ре одк , П аск ль , бы л р а з р а б о ат н и м ен н о дл я очбуен и я п ро г ам и ро в ан и ю ) . П о оэ м т у м а ет р и а л , к ас ю щ его с я и сп о ль з о в ан и я яз ы к а С # и л и Java, в ы в э то й кн и г е так ж е н е н ай едт . В се й э то й п о л е з н о й и н фо р м а ц и и н е т в к н и г е п о сю у щдел й п р и ч и н е . П о кс о ь л у к н и г а являсет я до с ато ч н о к р а ти м zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPO у,инкмбео ч т о вп олн е ес ет в ен н о , ч т о о н а н е с о едр ж и т и с ч ер п ы в а ю щ у ю и н фо р м а ц и ю о от н к о с ят х и сп о ль з о в а н и я с р ед ы р а з р а б о кт и Borland Delphi 2005. Те м бо ле е кн и г а н е яв л яест я сп ра вочн ы м п о с б и ем , гд е соедрж аст я о вт е ы н а вс е в о п р о с ы п о и сп о ль з о в ан и ю с р ед ы р а з р а б о кт и Borland D elphi 2005. О сн о в н о й ц ел ь ю п р и с о з ад н и и э от г о ч еу б н и к а яв ля о с ь п р еодсатв лен и е н ач ль н о й и н фо р м а ц и и дл я то й к а те го р и и л ю ед й , к о т р ы е со би р аю ст я р а з р а б ыт в а т ь с о б с вт е н н ы е п р о г ам ы .zyxwvutsrqponmlkjih ет к с
лД
я ког
о парензчд
Кн иг а п р енд аз н ач ен а п ри чи н р еш и л и з ан яьт с и м ен н о дл я ианющхч ч аст ь вы пскамеуы х кн и в п р о г а м и р о в а н и К н и га , котру ю в ы г о оп ы т а н е и м ею т . Он л а т ь п ер в ы й ш а г н авсртеч В се ь и з лагем ы й м еарти э от й к а е т г о р и и л ю ей д
а книг , п реж д
е в с е го я п р о г ам и р о в ан и ем прогр а м и с от г р ас ч и атн
, дл
я лю ейд
в н ай т а н а лю ейд
а , к о т р ы е в си л у те х и л и и н ы . В п олн е ес ет в ен н о , ч т о кн и г и до с та о ч н о слож н о . Бо л ь ш а , уж е и м юе щ и х к а о й - ли б о о п ы
х у я т
. дер ж и т
е в рках у , н ап и сан а дл я лю ейд , к о т р ы т дл я н и х о пт р а в н о й то ч к о й и п о з в о ли у сло ж н о м у и и н етр сн о м у м и р у п р о гр а м и р о в а н и я л н ап и са н яз ы ком , н аи боле е дп ну отсы . К р о м е от г , кн и г а н е соердж и т бо ль ш о г а сатн е
е п одбн о т и м се д
.
м и п о н янт ы о к о л и ч е с вт
м а
Delphi 200S . Ус м и ч
ь zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR
я та ов ри м а р пог р
сло ж н ы х ет р м и н о в и о п редл н и й , ч от , бсзлеовну о , облегч а т в о с п р и ят е и н фо р м а ц и и ч и аетл м . Елс и вс е ж е н еоибдх м о и сп о ль з о в ат ь то т и л и и н о й тре ми н , о н п оаседт я ч ол ев к у в уп рощ ен ой , облегч н о й дл я п о н и м ан и я фо р м е . К о н еч н о , о то ч н о с т и о п р е дл н и я (и в н ек о тр м род е п р а в и л ь н о сит ) в эот м ча у л с е го в р и т ь досатч н о сло ж н о . Те м н е м ен е э т о п оз в ли т , п реж д е в с ое г , св о иу т ь м ае р т и а л , а п омт , п о м ер е н аби р ан и я оп ы т а в п р о г ам и р о в ан и , че ло в е к са м п р и ед т к п рави льн ом у п он и м ан и ю тог , ч т о ран ь ш е оасвтло ь н пе о н ят ы м . Е сл и в ы уж е чте вус е себ я п р о г ам и сот м с о сажтем , т о э т а к н и г а вря д л и е д уб т ва м п о л е з н а - м о ж ет с м ел о е е о лт ж и ьт : п оск ль у н ап и сан а он а ка к ч уе б н о е п ос би е , т о зесд ь н е т н и п о рд б н о г о о п и сан и я ср ед ы р а з р а б о кт и и и с ч ер п ы в аю щ ег о п ер ч н я е е в о з м о ж н о с ет й , н и деатл ь н о г о оп и сан и я яз ы к а п ро г ам и ро в ан и я D elphi. Е лс и ж е в ы то л ь к о п ри псутае е к и зчену и ю п р о г ам и р о в ан и я , т о к н и га , не с о м н ен н о , сатн е т в аш и м н ез ам ен и м ы м п ом щ н и к ом .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQ
, приняты
яинеча зобО Т еп р о тХ
ь сжак у н еск о ль к я я и сказ л
е в гинк
е
о сло в о б о б о з н а ч ен и ях , п р и н яыт х в э то й к н и ге . т и с п о л ь з о з ан о м и н и м аль н о е к о л и ч е с вт о , ч т о в к н и г е бе д у х те р м и н о в , вс е ж е бе з н и х нд иук а н е ден еш ь ся . К ро м е то г , р и ед т о м ом ен ахт , к о т р ы м се у дл т улеид т ь о с о б е в н и м ан и е . е те р м и н ы , а так ж е е о л д ьт н ы е в аж н ы е сло в а , н а к о т р ы е е в н и м ан и е , бу д у т вы елдн ы zyxwvutsrqponmlkjihgfedcbaZYXWVU .икмвсуор о хдо у и з л о ж ен и я бу д у т о п и сы в аьтс я э л ем н т ы то г , ч т о м ы н а э к ран е , - н а з в а н и я п н у кот в м ен ю , к о м ан д , ид ало г в ы х я в о с п р и я ти я у бд у т омт еч н ы пын ржиуол м а т нер ча -
п р о фес и о н а л ь н ы з а чу с т ю р а з го в П о э мт у раз ли ч н ы н ад о о б р аит ь ос бо К ром е то г , п е д уб м н а б л ю ад т ь ок н . О н и дл я о б л егч н и е им н . Т ка ж е в п р о ц ес е усвоен и я м аетр и ал а в а етл ь н о н ес к о л ь к о ком ан д . П он ач л у дей свт и ог в (1- й , 2- й , 3- й ш а г и т..д ) , з ает м о н и бу д у н ост и к ом ан д и о бо з н ач ьт с я сю ущдел и м д на о м К а 3 и т.д . В к н и г е так ж е п р и в едн о боль ш о е к о л и ч е с вт п р о г ам . Дл я о блегч н и я в о с п р и яит я э т о ф р м л ен ы та к ж е , ка к и в ср ед е р а з р а б о кт т в ы едльятс я мон ш и р н ы п р о г ам ы бе д у ро в ан н ы е ) слов а - м ы н р пи ж у л о , к о м ен атр и
и н о дг
а п ри седт я у д у б т о п и сы в аьт с
о бр аз о
м - Кдна ом
я в ы п о л н ят т в ы п о лн яьт с я в ви д
ь п ослде я в ви д
е ш а
е п о с л е дв а ь т а 1 >• даномК
а 2 >•
о п р и м ер о в и онсдх ы х етк с о ы (ли ст н ги ) п рог ам м бу д у и Borland D elphi. О с н о в н о й тек с м ш р и ф от м , к лю ч ев ы е (з арез рви и к п рогам а м - .икмвсуор
и тек ст
-
в т т -
Ср е д а ви з уа л ьно г о п р о гр а м м и р о ва ни я Borland Delphi 2 0 0 5 zyxwvuts
п к в о н а т Ус
ер в а я вал г а кн и г и п о св ящ ен а в о п р о са м уаснт овк и с р ед ы в и з а л ьу н о г п р о гр а м и р о в а н и я , а так ж е к р а то м у о п и сан и ю о сн о в н ы х е е элем н zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA от в и в о з м о ж н о сетй .
о -
а Borland Delphi 2005 асн т У о в к а с и е мт ы п р о гр а м и р о в а н и я Borland D elphi 2005 п р о и з в о ди тс я с к о м п а к- т и д с к а , н а к о т р о м н а о х яд с т я в с е н ео б хид м ы е фа й л ы и п р о г ам а с а тн у о в к и . П ро г ам а усант овк и з аписту я авотм аит ч еск и , кдог а в ы в сатв и т е ид с к в к о м п ь ю етр . П осл е э от г о н ач н ест я п р о в ер к а ваш е й о п ер а ц и о н н о й сиест м ы н а го тв н о ст ь к уаснт овк е Borland Delphi 2005. Дл я усатн о в к и Borland D elphi 2005 в о п ер а ц и о н н о й си семт е долж н ы бы т ь ас н т у о в л е н ы ю у щ д е лс и е к о м п о н ен ыт : >• zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Microsoft Internet Explorer 6.0 Service Pack 1 - п о с л е д н я я обн овлен н а я верси я
м дл я о то б р а ж е н и я о б з р е в а ет л я сет и Internet, н ео б хид м а я в о сн о в н о э л е м н от в с п р ав о ч н о й си семт ы ; >• M icrosoft :NET Framework 1.1 - п л а тфо р м а , о б есп еч и в аю щ а я в ы п о лн ен и е п р о г ам , р а з р а б о атн н ы х с п ом щ ь ю тенх о л ги и .NET; >- Microsoft .NET Framework SDK 1.1 - н а б о р в с п о м г а ет л ь н ы х п ро г ам м , та к н аз ы в аем ы й н або р (уит л )т , с п р а в о ч н о й и н фо р м а ц и и и п р и м е р о в р а з р а б о тч и к а п р о гр а м н о г о о бесп еч н и я (Software D evelopment Kit — SDK);
В А ГЛ
А 1 У де Ср
а г о н ьла у з и в
о и на вм ор ги о р п
я Borland Delphi 2005 zyxwvutsrq
> zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Microsoft Visual J# .NET 1.1 - к о м п о н ен т , н ео бихд м ы й л д я р а з р а б о кт ternet- п р и л о ж ен и й . с е тд р аг м о а ю сд т щ и
П ер ч и с л ен н ы я с а ту н а в л и в а т а с а тн у о в к
т в сосат в Windows, п оэмт ы н е воядх . Е сл и ж е к а о г - ли б о к о м п о н ен т а н ет и з а в е р ш и ст я с п р е лд о ж е н и е м с а ут н о в и т
е к о м п о н ен т ь о е д тл ь н о и а в от м а ит ч е с к
и In-
у и х п ри , т о п ро ь не -
е к о м п о н е н ыт
. м п роц ес с уна тс овк и Borland Delphi 2005 п рои з воидст я в аи мота в ч се к о м р еж и м е и н е долж е н в ы з в ат ь н и ка и х с л о ж н о с е йт . З апскует я Delphi о ыб ч н ы м образ о м - комна д й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML Пс у к > В с е м а пр го р ы > Borland Delphi 2005 > Delphi 2005 (ри с . 1.1). zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA В оьлантс о
• Compaq Vsi ual Fortran 6 C I Q • Integrate? . • Microsoft .NET FrameworkSDKvt.l • Nokai PC Sutie • Norton Utilities > 5onci Foundry • в А от з а г р у з к
а
и н в т рА у
с Кас перс окг
Игр
Reflection WnForms Control Import Wizard XMLMappH
о Personal Pro 5.0 > •
а Microsoft Office
•
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM >
е
а н тС д р ы Б УС
License M anager
•
ы
рС е д с в т
Documentation External Translation Manager
Д Леинт
р
•
Adobe Photoshop CS Adobe Reader 6.0 CE Internet Exotarer Microsoft Access Microsoft Excel Microsoft PowerPoint Microsoft Word Outlook Express
Рис
. 1 . 1 т Зап ус
к с р е д
ы р аз р аб о тк
и Borland Delphi 2005
о м к анв З с т
З на о м к с т в П о сл
о с о среод
о с о со д ер
й ра зр бот к
и zyxwvutsrqponml \ 1Ж zyxwvutsrqpo
и
й рзарбко т
zyxwvutsrqponmlkjihgfedcbaZYXWV
е зз круга
и н а экран е п овяист я гвнал о е окн о сдре ы раз ркбот и (IDE) - р и с . 1.2. ю ч ас т ь окн а з ан и м ае т лг а в н о е м ен ю с р ед ы и п ан ел ь и н с р мт у е н о т в . ю ч аст ь э к ран а з ан и м ае т с тр а н и ц а п р и в е тс в и я zyxwvutsrqponmlkjihgfed Welcome Page, я ка к HTML- нме коут д . Н а эот й срт ан и ц е н о са я тд х я всп ом егалть я и н фо р м ац и я , п ом гаю щ а я о з н а к о м и ьт с я с о ср еод й р а з р а б о тк и , а так ж е и н а р а з л и ч н ы е р а з е лд ы с п р а в о ч н о й с и е тм ы . К ром е то г , есл и ва ш ком р п окдлю ч е н к глобаь н о й сет и Internet, т о м ож н о в о с п о л ь з о в аьт с я сот и ссы лкам и лд я п о с е щ е н и я сай т а к о м п ан и и Borland и п очлуен и я . К р о м е э от г , м ож н о п о с е ит ь и лю бо й дог ру й сай т , введ я ег о арде с в м п о л е и н аж в в к иа л ш у Enter. В л е в о й и п р а в о й ч а с тя х э к р а н а о т б р а ж а ю тс я сжлуебн ы е о к н а дл я р або н а д п р о е к то м - окн о с ртк у ы п ро ек т а S tructure, о к н о и н с п е к то р а В не р х ю
Ц е н рт а л ь н у в ы п о л н ен н а на с ы лк п ь ю ет ю в су т е щ и м сп р ав к и с о ю в ут е щ е т ы
g* Search Sew Refsctjy &oject Sun Component loots StarTeam Wkvw
':• *** Lou! s*« « A
I [jgopen Project | \ GJOpen Fils | [g Help | Release Notes Readme : Install . Deploy Documentation —g st ar wd How- To Guide Delphi Training Services Us e r ' s Gu i d e ( P D F ) L a n g u a g e R e f e r e n c e ( PD F) Re v i e w e r s Gu id e ( P D F )
I n t e g r a t e d P a r t n e r s C o m p o n e n t O n e C r y s t a l R e p o r t s Gl yFX I c o n s I n s t a l l s h i e l d Ex p r e s s I n t r a We b Ra ve R e p o r t s Wi s e O w l D e m e a n o r
P r o d u c t O e m o s
g3>
I Whafs Delphi 2005 I Dep l hi 2005 is an integrated deveol pment rionment (IDE) for building Delphi, Dep l hi for .NET, :I env and C# applications. The Dep l hi 2005 IDE provd i es a \ comprehensvie set of tools that streamln i e and ; simplify the deveol pment life cycle. The tools I available in the IDE depend on the edition of Dep l hi . 2005 you are using. The following sections briefly : describe these tools. ф Daweard 1
:
C a t e o o n w ^ [ i i ^
^
Ej& Pa&aga
Ш Console Appfcation
Dep l hi 2005 contains the following new features for Э deveo l ping Delphi, Dep l hi for .NET, and C# ^ applications. Posted on; 22 о ктя б р
^ L Fonts Appfcation WiriSHQ Logo Appfcation
5 3 WH95/9@ Logo Appfcation
я 2004 г, 1 3 : 0 0 : 0 0
Tour of t he IDE When you start Delphi 2005, t he integrated development environment (IDE) launches and displays , several tools and menus. The IDE helps you visually : design user interfaces, set object properties, write : code, and view and manage your application in ; various ways. The default IDE desktop layout includes some of the most commonly used tools. You CW1 use the View menu t o display or hide c ertain tools. You c an also customize and save t he desktop ; layouts that work best for you.
BDNt v
. 1.2 T Главно
i""x
.- • D f f c t f PrtifKXU;
3
M M Appfcatton
OHptwfo» . M t P r u i e i t t g l ( DBweb Con&d Ubrary 5 3 WBb Control Ubrary
4& fi&.NET Wrf) Service Appfcation - yt
ECOft5P.NETWebServlceAppfc...
$• •• ECO ASP.NET Web Appfcation
'"4* ASP.NET WA Appfcation
Ш Library • ;
^«scrW:operM xpiiW'n»'- ^T/ ;boria™j,brii3/ bds'
РИ С
zyxwvutsrq
f - ffjData E... I
Ш , Tod Palette
е о кн
о Borland Delphi 2005 п о с л
е з а п у с к
а
В А ГЛ
А 1 • д е Ср
а г о н ьл а у з ви
о и на вмао р иг по р
я Borland Delphi 200Szyxwvutsr
о б ъ е к то в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Object Inspector, о к н о уп р а в л е н и я п р о е к то м Project M anager, окн о п р о с м о тр а м о едл и M odel View, о к н о н а в и г а то р а п о б аз м да н н ы х Data Explorer и , н а к о н е ц , о к н о п а л и тр ы и н с тр м у е н то в Tool Palette. Н а з н а ч е н и е э ти х ок н м ы р а с м о тр и м н еск о ль к о п о з дн е , а п о к а о с та н о в и м с я н а п о н я ти и «п р о ек »т .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA к е то р П (Project) - с о в кпу н о с т ь фай л о в , к о т р ы е и с п о л ь з ю у ст я с р е до й р а з р а б о тк и (то ч н е е го в о р я - к о м п и л я то р о м Borland D elphi 2005) дл я и отг м с о з да в т ь п ер в ы й п р о ек т , т о п о в о й г е н е р а ц и и п р о гр а м ы . К одг а м ы бе д у з н ак ом и м с я с о с ртк у о й п р о е к та , а та к ж е с о в сем и с о та в л я ю щ и м и ег о фа й л а м и . ) Д л я т о г о ч то б ы с о з адт ь п р о ек т в D elphi, н ео б хид м о в м ен ю File (Ф ай л в ы бр ат ь ком ан )д ' New (Н о в ы й ) и з ает м указ т ь ти п соз адв ем ог о п р о е к ат . С ре д а р а з р а б о кт и п оедрж и в ае т од с а т ч н о бо ль ш о е к о л и ч есвт о ти п о в п р о ек т в , н ек о т р ы е и з к о т р ы х п р и в е дн ы н а р и с . 1.3.zyxwvutsrqponmlkjihgfedcbaZYXWVU
ASPN . ET Web Applci ato i n - c#Bt*)er Wnidows Forms Applci ato i n - Omilder Control Lb i rary - C#Budlier wni dows Form - C#BuM« ASPN . ET Web Applci ato i n - Dep l hi for .NET VCL Forms Applci ato i n - Dep l hi for .NET Wnidows Forms Applci ato i n - Dep l hi for .NET VCL Fora Applci ato i n - Dep l hi for Wni32 Package - Dep l hi for Wni32 Form - Dep l hi for Wni32 Unti - Dep l hi for Wni32 Other... Ри с
. 1.3 т Неок т р ы
е ит п
ы п р о е кто в
, с о з дав е м ы
е в Borland Delphi 2005
В э от й к н и г е у д у б т р ас м ортен ы от л ь к о яз ы к п р о г а м и р о в а н и я Delphi и с о з ад н и е у в д х ти п о в п р о е к от в - VCL Forms Applications - Delphi for Win32 (п р о гр а м и р о в а н и е л д я п л а ф то р м ы Win32) и Windows Forms Applications Delphi for .NET (п р о г ам и р о в ан и е дл я .NET). П о п р о бй у ет , н а п р и м ер , в ы п о лн и т ь комна д у File >• New >• Windows Forms Application - Delphi for .NET, ч т о о з н ач е т н ач л о рабо т ы н а д п р о ек т м лд я о п ер ац и о н н о й си семт ы Windows дл я п л афто р м ы .NET. П о сл е в ы п о л н ен и я ко м ан д ы э кра н бе д у т вы ьетлгяд , ка к п о к аз н о н а р и с . 1.4. В н и м а е лт ь н о п о с м о рт и т е н а э кра н - соедр ж и м о е ок н и з м ен и ло с ь . Дале е м ы п о рд б н е е р а с м о рти м осн овн ы е окн а п р и р а б о т е н а д п р о е к от м .
о м к а н вЗ с т
о с о содер
й рзабкот
и zyxwvutsrqponmlk
Ып Conpionent Tods StyTeem W^ dow ' Hep l ' Ye tw Rtfactor • Proejct zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC
РИ С
о нГ а в л
е мен
аевон Гл
меюн лд
я р а б о т н им и фну к ц и й
ю
. 1.4 T Нлач
о р аб о т
ы н а
д п р о е кт
м
zyxwvutsrqponmlkjihgfedcbaZY
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
(Main menu) п о з в о л яе zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA т в ы з ы в ат ь вс е и н мсртуен ыт , н ео бихд м ы е ы с п р о ек тм . Р ас м орти м н аз н ач ен и е р аз едло в м не ю и св яз ан н ы х с :
>- F ile - со едр ж и т н або р ком ан д дл я р а б о т ы н овы е п р о е к ыт , до б ав л ят ь н овы е фа й л ы ш абло н о в , п ер и м ен о в ы в а т ь фа й л ы п р о е к ат Сю д а ж е вклю ч ен а к о м ан д а з а к р ы ит я сред >• Edit - сьзе д , в со встеи и с н аз вн и ем я такест , унелиа д н а ч ен ы е дл я раикедт рован и мо б н е а , ввка тс и ткест а и з ре ф уб а и омнет ы и ь м т ео , ч т о св е эт и кнмоа д ы раюбот т н е ам т и в конркт ус е фо р м - эмлен а т и упрванле и я яс » и н етр ф й с в а ш ег о п р и л о ж ен и я . К ром
с фай л ам и в п р о ек
, п о з в о л яе т с о з ад в т ь т н а о сн о в е раз ли ч н ы х е р а с п е ч а ыт в а т ь их . , а такж ы р а з р а б о кт и ; , расп олжне ы к о м на ы д , пн дре за я и п ремщ не и я ег о в беф у р оп ерац и й риактдеровн и я . Соит т тольк о с о мкест , н о и с кмоп н е , и з корты х «стиебоар е тог , зсе д ь ж е с о р е д тч н ы
Л Г ВА
А 1 Y редС
а в и з у а л нь о г
я Borland Delphi 2005zyxwvutsr
о п р о г р а м м и р о в а н и
и фо р м ы , к о м ан д ы уп р ав лен и я п о л ж ен и е м к о м п о н е н от в н а п о в ернх о с т , п о з в о ляю щ е й з абло к и р о в ат ь а такж е фи к с а ц и и к о м п о н ен от в - фну к ц и к о м п о н ен т , ч отб ы в п о с л ев д т и и ег о чслайу н о н е измен и ьт ; >• zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA S earch - с о де р ж и т н або р к о м ан д дл я р а б о т ы с те к с то м , е г о п о и с к а и з а м ен ы , п р и ч е м и т о и догру е м ож е т п р о и з в о ид ь т с я ка к в онд о м фа й л е , ат к и в о все х фай ла х п р о ек ат , л и б о в лю бо м к атло г е и ег о п окадлтгх ; >• View - п о д эит м н аз в ан и е м о б ъ еид н ен ы к о м ан д ы в ы з о в а и н с р мт у е н о т в п у р а в л ен и я п р о ек от м , так и е ка к и н с п ек от р о б ъ ек от в , к о н срктоу р фо р м , м е н е жд р п р о е к то в и т.д . (н е к о т р ы е и з н и х , наи б о л е е ч аст о и сп о ль т р ас м о ртен ы н и ж е) ; з ем ы у е , бу д у >• Refactor - з едс ь н оаясхдт я ком ан ыд , п р едн а з н а ч ен н ы е дл я р ефак от р и н г а к ао д .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA а ик г н р т о ф Р е (Refactoring) - э т о п р о ц е с с и з м ен ен и я к о д а а тк и м л (т о ест ь в ы п о лн яем ы е дей свт и я ) о сате я те м ж е о бр аз о м , ч т о ег о смыс с ам ы м , н о ег о работ а и ч и атем о ст ь п о в ы ш а ю с тя ; >- Project - п р е дн а з н а ч е н лд я то г , ч от б ы до б а в л я т ь и уалятд ь л ум о д и , до бав лят ь п р о ек т ы в гп ур у и п р о е к ат , с орхан ят ь п р о ек т в р е п о з и то р и б уи р а т ь и х и з н е , к о м п и л и р о в а т ь ка к оедтл ь н ы е п р о е к ты , ат к и в с е п р о ек т ы в грпу е , з агржу т ь фай л сам о г о п р о ек т а в р е да к то р к оа д , а актж е в ы з ы в ат ь ди ало г н а с рт о й к и св о й ст в п р о екат ; >• Run - п о з в о ляе т з апскту ь п р о ек т н а в ы п о л н ен и е ка к п о д очладит ком , та к и б е з н е го , к о н фи гру и р о в а т ь рс т о к у п а р м е тр о в п р о ек т а п р и запскуе , п р о и з в о ид т ь ук дал то , з авд т ь от ч к и о с а тн о в а , ощсу евстля ь п о ш а го в е в ы п о л н ен и е коад , п р о с м арти в ат ь з н а ч ен и я п ер м ен н ы х и и з м ен ят ь их ; >• C om ponent - з едс ь с о р е до т ч е н ы к о м а н ыд , п р е дн а з н а ч е н н ы е дл я ас н т у о в к и н о в ы х к о м п о н ен от в и п ак еот в к о м п о н ен от в и соз анд и я н овы х к о м п о н е н от в и ш аблон о в к о м п о н ен отв ; >• Tools - п оз в лея т н расоти ь свой тс а рабоче й сдре ы Delphi 2005 и чи дкал то , п р о и з в се т и нрой тсак у реп оз и отр я (аи рвх а п р о е к тв ) , добватля ь и т уяла д ь е комна д ы зкс пау а эит х смаы х уи лт ; о п д л н и ле ь т н ы е уи тлы , а такж >• Star Team - з есд ь со бр ан ы к о м ан д ы уп р ав лен и я к л и ен от м с п ец и а л ь н о г о п р о гр а м н о г о о бесп еч н и я , о б ес п еч и в а ю щ ег о с о в м енс т у ю р або т у н ес к о л ь к и х п р о г ам и сот в н а д п р о ек от м ; >• Window - п о з в о л я е т п е р к л ю ч а ьт с я м ж де у о к н ам и , есл и в ы о тк р о е т е к а о й - ли б о мл у од ь лд я р еадк ит р о в ан и я в н ов м о к н е ; > H elp - о б ъ еид н яе т ком ан д ы в ы з о в а с п р а в о ч н о й си есмт ы D elphi 2005 и е е н а с рт о й к и , а такж е п о з в о л яе т о б р аит ь с я к Web- аср у ер м к о м п ан и и Borland дл я п чолену и я до п о л н и етл ь н о й и н фо р м а ц и .zyxwvutsrqponmlkjihgfedc
Па н е л П ан ел ны
ь и нс т р ум е нт о ь и н срмтуен от м ва м и н мрстуен ат
в в (Toolbar) п о з в о л яе м Delphi 2005.
т о р га н и з о в а т
ь б ы срты
й дуост
п к ж н у
-
З н а к о м с тв
о с о с р е до
й р а з р а б о тк
и
В ы м о ж ет е н а с рт о и т ь п а н ел ь и у рн т с о в таки м образ ом , чобт ы с н е й был Toolbars [Commands jj Opto i ns | н бо д у о рабоьт . Смыа м п роыст м вари н Categories; ф п ш са п С : о т м н а ср т о й к и явсляет я п р о ст й в ы бо р : Separator A5P Commands 255 Align... Browse ка и е и з гп ру п «быр тхс » кн оп к в ы хо Component size... zyxwvutsrqponmlkjihgfedc Debug ит е ви етд ь н а панле и и нмерустов . Дл я Safe... Edit 1 i Align top edges File э отг о н авиед т е улекзат ь мы ш и н а панел ь |b Align left edges Find.References Help lit Align bottom edges и н м р е ус т о в и н ажми т е у пв а р ю к н по к у History Align rioht edges HTML Commands м мне ю вы бери т е пн у мы ш и и л и в гнвал о HTMI View >• Toolbars. В п ояви ш ем с я кт ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA To add command buttons, drag and drop commands onto a toolbar. To remove command buttons, drag them off of a Toofcar. вп с ы л ю в а щ е м мн е ю п рост о щ лекн и т е п о и м ен и то й гп ру ы , орукт ю о их т е оо т бр аз и т ь и л и скрыт ь (гочлка а свел а о т н а з в ан и я п ргу ы о з н а ч ет , ч т о э т а гп ру а Ри с . 1.5 т и Д а л о г н а с тр о й к и и и н м р с еу т о в ) . о тб р а ж с е т я н а п ан ел п ан е л и и н с рт ум е н от в zyxwvutsrqponmlkji Бо ле е ш и р о к и е в о з м о ж н о с т и п о н а с тр о й к е п а н е л и и н с тр му е н то в п р е до с та в л я е т ди а л о г о в о е окн о , в ы з ы в а е м о е ч ере з м ен ю View >• Toolbars >• Customize (р и с . 1.5). Н а з ак л д е Toolbars в ы м о ж ет в ы брат ь т е гп ру ы кн оп ок , к о т р ы е ж ал е и и н с мр т у е н о т в . К а к и в пщырдеу м ч ае с л у , ва м се у дл т е т е в и ед т ь н а п ан ел с н ят ь фл а ж о к с л ев а о т и м ен и гпру ы , ч отб ы ск ры т ь е , и п о сатв и т ь - ч от б ы п о к а з ьт . З ак л д а Commands, п о к аз н н а я н а ри нсу к е 1.5, п о з в о ляе т к ау з ь т , к а и е кн оп к и нжн у о п о к аз ы в ат ь в гпру е . Н асрто й к а в ы п о лн ясет я ю ущ делси м ар о б з ом . Елс и в ы хоит е добави т ь кн оп к у н а п ан ел и и н мреуст ов , т о н аж м и т е и р е д у ж и в ай т е лвуе ю кн оп к у мы ш и н а н аз ван и и эот й кн оп к и в сп и ск е Commands, пе р е ат щ и т е е е н а п ан ел ь и н см р т у е н о т в и та м оптси у е кн оп к у м ы ш и . Е сл и в ы о их т е ск р ы т ь кю -ука илб о кн поук , т о п обдн ы м образ о м п ер атщ и т е е е в обрта н о м н а п р а в л ен и и с п ан ел и и н мрсеунт о в н а окн о ди алог а н а с рт о й к и . у н а з аклд е Options дан н о г о окн а в ы м о ж ет ан с т у о В до п о л н ен и е к эомт в и ьт , п о к аз ы в ат ь и л и н е т посдказ и п р и п ер м ещ ен и и крсоу а м ы ш и н а д кн оп к ам и п ан ел и и н см р т у е н о т в (флаж о к Show tooltips) и вклю ч ат ь и л и н е т в п од с к аз у к о м би н ац и и «бы рсыт х » к лави ш лд я в ы з о в а к о м а н ыд , з ап сук аем о й е (флаж о к Show shortcut keys on tooltips). щ ел ч к о м п о к н о п к м ен о т
1
оК н с т у к р о
р оф р
м
Ц е н рт а л ь н у ю ч аст ь окн а те п е р designer) п р и л о ж ен и я (см . рис р а б о кт и п р и н ят о н аз ы в ат ь окн ма , н а э атп е в ы п о л н ен и я - о к н о )
ь з ан и м ае . 1.4). Фй о м р о о п р о г ам .
т окн о zyxwvutsrqponmlkjihgfedcbaZYXWVUT у т а к рс н о м р фо (Form (Form) п р и л о ж ен и я н а э атп е раз ы (в о в р ем я р а з р а б о кт и э т о - фо р -
АВ Л Г
В окн п м ар о г О кн ев а и ж та е
А 1 V Сде р
е коркнт у с ы - и з м не тя
о к о н с кр то у т окн о роакредт П р е к л ю ь ч са т м н а сп це и аль н ы
а вогн ьлазуи
а фор ь сма а фо р м а ка од я мдж е
м в ы бт е д у о окн о , а ткаж ы и з н чальн . у эитм
р код
е форм и роват е н ап олн тя о нисодтха
ь вн ше н и ь ег о раз ли чн ы м я н а пн дре
и о к н ам и м ож н о н ижате и Code и D esign в н и ж н е
е вк дал
Р е адт к о
я Borland Delphi 200S zyxwvutsrq
о и наов ри м а пр ог р
й ив д свое й щ е у бд у и эмнел аит м п нла е и пкыре
м квиал ш й ч ас т
и окн
и F12 (ли б а - см . ри с
й . -
о н а . 1.4).zyxwv
а
В окн е рzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA а к р т од е ка д о (Code editor) в ы и бте д у е со бсвтен н о делат ь то , ч т о п он и м ас е т я п о д «н ап и сан и е м п р о г ам » . П о п р о бйу т е а к ит в и з и р о в а т ь окн о к а д ре от р а к од а - и со едр ж и м о е в а ш ег о э к р ан а е д уб т вы лгетяд ь так и м о бр аз о м , ка к о н а р и с . 1.6. э т о и з о б р аж ен
-
[Ј|unit WinForm;
I 3 interface 1 System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data;
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
type П TUinForm ќ class(System.Windows.Forms.Form) 10a 13 14 Components: System.ComponentModel.Container;
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
/// Required Method toe Designer support - do nob modify /// t)je contents of this M t J w d wit* tht cede editor. /// procedure InitializeCotnponent; procedure TUinForm Loadtsender: 3ystem.Object; e: System.Even (SENDREGION) strict protected
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
24 25 2 6 27
/// Clean up any resources
- used.
procedure Dispose(Disposing: Boolean]; override; zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
га 29 30 31 32 3 4 35
private ( Private Declarations ) public constructor Create; end;
zyxwvutsrqponmlkjihgfedcbaZY
[assembly: RuntlroeRequlredAttribute(TypeOI(TBinForm))]
.f]J
иРс
. 1.6 т о т к а д е Р
р коад
'
о м к а н вЗ с т
о с о содер
В ц е н тр а л ь н о й ч а с т и о к н а те п е р ь р а с п о л а г е ст я й ы н д х и со Н е с м о тр я н а то , ч т о в ы сам и ещ е н е н ап и сал и н и еди н о э т о о к н о ж у е с о дер ж и т код , н ео бхид м ы й дл я о то б р а ж ен и а б с о л ю нт о п со т уг ) . З а п о м н и те , ч т о п р и с о з да н и и п р о ек т го т в а о сн о в а (з аготвк ) тек ст а п р о г ам ы . Н ес к о л ь к о код а м ы п о з н ак о м и м с я в конц е лваыг , кдог а бе д у м н асрт и в ат в п оюслуед щ и х хва л г , кдог а н ач н ем п и с а т ь св о и п е р в ы е
р ет окбъ
Ин с п е т к о С л ев п ак е с р т о ло с ны и ме вс т а
а о т окн
й рзрабкот
кдо й с рт о ч к я окн
и zyxwvutsrqponmlkjih
в аш е и тек ст
й п р о гр а м ы а п р о гр а м ы ы (п ок
а п р о г ам а ещ а у ва с уж е автом а ти ч ес к п о рд б н е е с о к н о м р еадк от р ь ег о в н еш н и й вид , а так ж п р о г ам ы .
. , е и а е
в
а к о н срктоу
а фо р м ы в ы тепе р ь н аблю аедт е и з м ен ен н о е о к н о и-н (Object Inspector). Э т о о к н о те п е р ь н е по ст у е - о н о заполн и ь и н фо р м а ц и е й в ы едл н н о г о о б ъ ек т а (в дна й м о ен т - фо р м ы ) . О к н о zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML Object Inspector X т дв е вк лда и (р и с . 1.7) - Properties (С вой "3 zyxwvutsrq ) и Events (С о б ы ит я) . t В Ap p ear anc e П ер в а я в к лад а и с п о л ь з ес т у я лд я р еадк ит р о BackColor Г ~ 1 Control iBachjroundlmage ван и я свой ст в о б ъ е к то в . тйвсоС (Property) ! • (г»™ ) (Cursor befault о б ъ ек т а - э т о онд а и з ег о хар к те р и с ти к , кот Ш Font 'Microsoft Sans Serif; 5 ForeColor | H CentrolText ра я о п р ед ляе т е г о «п овенд и е» , в п р о г р а м е . FormBorder Style RPgt*ToL«ft Mo О б ъ ек т м оже т о б л а дт ь сам ы м и раз н ы м и свой Text , WinForm с вт а м и , к о т р ы е м уог т о б ъ е д и н я ьт с я в грпу ы . SjB e h avio r E Conf k)uraHorM Н ап ри м ер , с в о й с тв а , о п р е д л я ю щ и е в н еш н и й В (DynamicPropertieszyxwvutsrqponmlkjihgfe в и д о б ъ е к та , о б ъ еди н ен ы в гп ру у Appearance В (н а з в а н и я п гр у п в ы д е л я ю тс я ц в е то м ) . П о п р о (Name) DrewGrld йб у е т , н а п р и м е р , и з м е н и т ь с в о й свт о T ext - э т о Ш GridSiie Talse Locked с в о й с тв о о тв е ч а е т з а з а го л в о к ди а л о г в о г о SnapToGrid г Тч г окн а . И з н а ч л ь н о о н о р а в н о WinF orm, и з м ен и H JFocus X ayo ut В zyxwvutsrqponmlkjihgfedcbaZY т е ег о н а лю бо е р гд о у е и н аж м и т е к лав и ш у AutoScale lAutoScrof False E n ter. В ы сраз у в у и д е т, ч т о ваш а фо р м а и з м е ElAutoScroHMarcjin 0;0 EjJAutoScrollMinSce н и лась , - те п е р ь о н а и м е т то т з а го л в о к , кот 0;0 Ш DockPadding р ы й в ы в в е л и , и в о в р е м я в ы п о лн ен и я о к н о ва В Location № 0 Ш MaxImumSIze ran ш ег о п р и ло ж ен и я е д уб т и м ет ь в едн н ы й в ам и Ш MinlmumSIze № 0 ffiSUe з а го л в о к - з н ач ен и е , к о т р о е в ы куа з л и в 296;300 StartPosition iWindowsDefaultLocati с в о й с вт е T ext . WindowState Normal в м н е В о р та я вк далк а окн а Object Inspector - Events Appearance и с п о л ь з ес т у я лд я о п и с а н и я стийы б о (Events), н а jl object selected W котры е бе д у т р е а ги р о в а т ь в ы де л н н ы й о б ъ ек т (в да н н ы й м о м ен т - в аш а фо р м а) . П о др о б н е е Ри с . 1.7 т Ин с п е кот р ое октб ъ в окевтоъ б
;
В ЛА Г
А 1 • Серд
а вагоиузнль
х м ы п о г в о р и м п о з дн е , кодг а бе д у о с о б ы ит я с о з адв т ь п е р в ы е п р о е к ты . П о к а сжка у ли ш ь то ч т о кажд я р а з р а б о та н н а я н ам и п р о г ам а дол ж н а «р еаги р о в аьт » н а т е и л и и н ы е с о б ы ит я (дйе с вт и я п о л ь з о в аетл я ) - н аж ит я клави ш клваиу т р ы , дв и ж ен и е и л и н а ж ит е кн оп о к м ы ш и и т.п С о тв е тс в е н н о , вклад а Events и жслуи т лд то г , ч то б ы о п р е д л и ть , к а к е д уб т с еб я в е с т п р о г ам а . К а к я ж у е ск аз л , св о й свт а о б ъ е д и н я ю ст я п ргу ы . П он ач л у так я гпру и ровк а м ож е т вы з в а т ь з н д р а ут е н и я (свой ст в дов ль н о м н ог о у лю бог о объект а и дл я з ап о м и н ан и я о сн о в н ы х и з н и нж у о н е к о т р о е в р ем я) , п оэмт у ткуа ю п ру г и ро в к у м ож н о о кт л ю ч и ьт . Дл я э отг о н е о б ихд м в ы п о лн и т ь сю у длще и е ед й с в т и я : 1. Н ав ест и указ елт spector и н аж т 2. В п о яв и в ш ем с (ри с . 1.8) вы брат
ь мы ш ь п раву я в с п о м г ае л т ь н о ь пн ук
я Borland D elphi 2 0 0 5 zyxwvutsrqp
о прога м м ироав н
м . я и
н
в
и а
,«•5- Object Inspector iTWinForm SysieM.Whdc
х о
[AcceptBucton (none) iAccessibleDescription Accessb ie l Name AccesstoleRole Default AlowDrop flutoScale lAutoScrol HiAutoScrollMargin H!Auto5crollMinSize iBackColor Backgroundlmage CancelEkjtton CausesValidatton ContextMenu ControtBox Cursor El (DataBlndings) Ш DockPadding
аг В и в
И
True
В (DynamicProperties) Enabled fflFont ForeColor FormBorderStyle m ends» HelpButton В Icon ImeHode
Й | jp ProjectLexe Ш ^ References - В С Э ModelSupport Ю - В WinForml.pas
Model View j «%Data Expl... 1
. 1 . 1 0 т Он к ь сие дорж о струк
р гкворип у в оте к ъб
True Microsoft Sans Serif; I | ControlText Sizable 8; 8 False R f l (Icon) NoControl False False (Default) False 0;0 'False fi
zyxwvutsrqponmlkjihgfedcb
{§? ProjectGroupl
тепр
. 1 . 8 т о б ы В - сйсотв
-
П осл е э то г о в с е с в о й с вт а , к о т р ы е и ме т о б ъ ке т , бу д у т уп орядч ен ы п о алафви т у (р и с . 1.9). Е лс и в ы хо ти е верн т у ь окн о к п ервон ач ль н ом у у и дв , т о се у дл т п р оедлат ь ан ало ги ч н ы е дей свти я и в ы бр ат ь пн у к т Arrange >• By Category.
Рис
zyxwvutsrqponmlkjihgfedcbaZYXWVUTS
Рис
о Object Inу м ы ш и . м м ен ю т Arrange >• By N ame.
[JpAcbVate
Hjde Help Properties Stay on Top Dockable
-
и н а о к н ю кн оп к
р д Projertl.bdsproj - Projeir Manager 9 X
>Jj[*J by Федот у 1 _ *№ **& zyxwvutsrqponmlkjihgfedcbaZ Revert to inherited
,
о Project M anage r т имро иацфн ю е пртео к а
IsMdiContainer KeyPreview Language Localizable BiLocation Hocked _ _ _
_
it object selected
Рис
. 1 . 9 т Эле м етн ы н ко Object Inspector тепр у п о р я д о че н ы п о атиав лф
а ь у
о м к а вн З с т
М е н е дж
р прое тк а
о с о со дер
й рзарбкот
и zyxwvutsrqponmlk
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB
меж ден пкетоар (Project Manager), к о т р о е В о к н е а ре zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA • &dd... п о к аз н о н а р и с . 1.10, те п е р ь оотб р аж ест я су тк ур т j Add Reference... I Add Web Reference... р а п р и л о ж е н и я (п р о екат , н а д к о тр ы м в ы сей ч а с ра I Remove Fife... б о та е т ) . С п о м щ ь ю указ етл я мы ш и м ож н о рас к ры в ат ь соедр ж и м о е сп и ск а , н аж в н а и з о б р а ж ен и е Save As... I Rename з н ак а «+» слев а о т э лем н от в сп и ск а . I yew Source Ctri+V З ач е м м ож е т п о н а од б и ь т с я п одбн о е окн о ? I Oetions... zyxwvutsrqponmlkjih В э от м о к н е соедр ж и ст я о бщ а я и н фо р м а ц и я о п ро ек т , и н фо р м а ц и я о б и сп оль зем уы х в н еш н и х му д о л я х (б и б л и о етк а)х , а так ж е о б о в се х фай ла х п роек I Compeli ат . П о п р о б йу т е в ы ед л и т ь пну к т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON Projectl.exe в | guild а дн о м о к н е и н аж т ь п раву ю кн оп к у м ы ш и . П ер д ! StarTeam в ам и п о я в и тс я к о н те к с тн о е м ен ю , п о к а з а н н о е н а I Together Support... I Remove Protect р и с . 1.11. I Euiid Sooner CtH-HJp В э то м м е н ю м о ж н о , н а п р и м е р , с о рха н и т ь п ро • Puild Later Ctrf+Down ек т (Save, Save as...), п ер и м ен о в а т ь ег о (Rename), I Cornpie i A)! From Here : bjiid Ail F rom H e r ezyxwvutsrqponml п о с м о рт е ь и осндх ы й ко д (View S ource), п реоб аз о [ Toolbar в ат ь (ск о м п и ли р о в аьт ) п р о ек т в и сп о лн яем ы й фай л ! Status Bar (Compile) и т.д . • Show Path Т ак ж е с п ом щ ь ю э от г о окн а , и сп оль з у я кн оп к и : Stay, on Top New (Н о в ы й э лем н т ) и Remove (Уила тд ь э л ем н )т , - Dockable в ы с м о ж ет е до бав лят ь в п р о ек т и л и утяла д ь и з п ро Ри с . 1.11 т М е н ю ек т а мл у од и и фо р м ы . дл
а Пл ит р иат р л П ем ы г р пу
а ком пеон т
я р аб о т
ы с п р о е кто
м
в
квтнеоп м о х и н с т р ум е н т о , в к о т р ы
(Tool P alette) - э т о о ди н и з н а и б о л е е ч аст о и сп о ль з у в D elphi (р и с . 1.12). О н а с о с то и т и з боль ш ог о чи сл х р а с п о л а г ю тс я к о м п о н е н ты . тн е п о м о К (Component) - э т о э лем н т п оль з овелаьт ског о и н ет р ф й с а , ко т ры й м ож е т бы т ь п ер н ес н н а фмору . Э т о му го т бы т ь к н о п к и , м кети , п о л я дл в од а всевоз м ож н ы х дан ы х , вы п аюд щ и е сп и ск и - в ощб е м вс е то , ч т о в ы оыб ч н о в и д т е н а окн а х в о п ер ац и о н о й си семт е Windows (так и е к о м п о н ен т ы н заы в ю т и м ьынв изуал (Visual)). К ром е то г , э т о муго т бы т ь такж е и е ы имвен д комп н ен т ы (ч ащ е п у ортеб л яю т сло в о е ьы н в и з у а л (Non- visual)), т о ес т ь т к о м п о н ен ыт , к о т р ы е н е оотбраж ю ст я в м ом не т в ы п о лн ен и я п рог ам ы , н в ы п о л н яю т раз ли ч н ы е фн у кц и . Типи ч н ы й п р и м е р таког о ком п он ен т а - тай м е (Timer). В о врем я созанд и я п ервы х п р о ек т в м ы п о сетп н н о е бд у м з н ак ом и ьтс
а я е о р я
В А ГЛ
А 1 Y Сде р
а г о н ьл а у з ви
о и на вм о р иг по р
я Borland Delphi 2005 zyxwvutsrq
. Н К Tool Palette zyxwvutsrqponmlkjihgfed с ком п он ен амт и , а боле е п о рд б н о е и х оп и ас Categories v н и е п р и в едн о в о в то р й и тр е ь й ч а сят х кн и г . A Label Вс е к о м п о н е н т ы о б ъ е ид н я ю с т я в п рг у ы A Unlfl-atel п о н фу к ц и о н а л ь н о м у н аз н ач ен и ю . П о сл е со Buton з а нд и я п р о ек т а р а с к р ы т сп и со к к о м п о н ен от в |aU TextBct п ргу ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Windows Forms, соедрж ащ и й о сн о в Q Pand 17 CheckBox н ы е э лем н т ы ди ало г в ы х ок н Windows. П о (f RadolButon х гп ру п м ож н о н а с м ор те ь к о м п о н ен т ы диг ру Comboeox ж иа т е м н а си м во л «+», н оаящдх и й с я с л ев а о т S I ListBox н аз в ан и я г пр у ы . К р о м е то г , м о ж н о л е гк о ChectedUstBox раск ры т ь с о ед р ж и м о е в с е х п ру г п и л и н аоб р о т - сверн т у ь в се сп и ск и , ч отб ы бы л и в и нд ы от л ь к о н аз в ан и я гпру . Д л я то г о ч т о б ы раск ры т ь с о де р ж и м о е все х гп ру , н ео бихд м о :
1. Н а ж т ь п р ав у ю кн оп к у мы ш и в окн е Tool Palette. 2. В п о яв и в ш ем с я к о н етк сн о м м ен ю вы б ь все ) р а т ь нп у к т Expand All (Р аск ры т р и с . 1.13.
Ј7. TradBar 2 vsaoaear XH HScrdSar ( Я NumerlcUpOown H i OomahUoDown
Дл
я с в е р ты в а н и я сп и ск а к о м п о н е н то п р уг ы н е о б ихд м о вы п олн и т ь а н а л о ги ч н ы д е й с вт и я и в к о н те к с тн о м м ен ю ь в с е) . н п ук т Collapse All (С верн т у К а к в и д ет , к о л и ч есвт о к о м п о н е н от ат о ч н о в ел и к о . В п олн е ес т в ен н о в се э т и к о м п о н ен т ы (гп ру ы к о м п о н ен отв октл ю ч и т ь о т б р аж ен и е н е ж ну ы х п ом щ ь ю уж е и з в еснт о г о н а м к о н етк сн о г и о р е гта к > Category (Уилат д ь X т о м о ж ет в гвалн о м м ен ю с р ед ы р а з р а б о кт и В О й Errors н ай т и пн у к т View и з ает м вы брат ь с о вте I О Expected INTERFACE but received USES ffl » 1 TWinForm ю щу в т с ю комна д у и о от б р а з и т ь нжу о е о к н о Ш В Uses (р и с . 1.17). ]
:
е Но т к р ы с ре д height В рам к х з н ак ом свт а р ас м орти м и воз м ож н о Units... CW+F12 . с т и н а с рт о й к и н ек о т р ы х э л е м н от в с р ед ы р аз Forms... Shift+F12 р а б о кт и . Н ео бхид м о з а м е ит ь , ч т о м ы бе д у м н а F12 Я 5 Srtow Designer с тр а и в а т ь то л ь к о п о л ь з о в а те л ь с к и й и н те р ф е й с : CaliberRM RecMrements с р е ыд , н е к ас я ь к о н к р ент о в о п р о с в п р о г ам Data Explorer Welcome Page м и ро в ан и я . Н а дан о м э атп е н а з н а ч ен и е н ек о т Model View р ы х э л ем н от в , к о т р ы е м ы м ож е м н а с рт а и в а ьт , I Tvp*? Lfcrery м ож е т п о к а з ьт с я н е совсе м п о н янт ы м . В поб д I New Edit Window н ы х счяа ул х м ож н о см ел о п ро п скуат ь э т и пн у кт ы | Dock Ed» Window лг а в ы - в п р о ц ес е о св о ен и я с о с р е од й в с д ег а НЛ о с у м ож н о верн ьтсу я в э т о м ест о и в ы п о л н и т ь т е н а ^ Toolbars с тр о й к и , н аз н ач ен и е к о т р ы х р ан ь ш е о с а тв л о с ь н е п о н я нт ы м . Ри с . 1.17 т М е н ю View п о з в о ли т о от б р аз и т ь И та к , н а ч н е м и з ч уа т ь осн овн ы е воп рос ы на н о уж е о кн о с тр о й к и с р еы д . В се , ч т о от л ь к о м ож н о н а ср т и в ат ь в Boland Delphi 2005, м ож н о н а й т и в пн у кт е zyxwvutsrqponmlkjihgfedcbaZYXWVU Tools (С ерв и с ) главн ог о м ен ю . Д а н н о е м ен ю со де р ж и т н ес к о л ь к о п опнд у окт в (р и с . 1.18), н о н а м S Repository... н е п о с р е д с тв е н н о л д я н а с тр о й к и н е о б х ид м о I Build Tools... в ы брат ь нп у к т Options (П а р м е тр ы ) . ! | } Web Др р Debugger е п о П осл е вы бор а пн у кт а Options н а э к р а н Configure Tools... я в и тс я окн о , в н еш н и й ви д к о т р о г о п о к аз н н а I Image Editor XML Mapper р и с . 1.19. | Reflectran Дале е у д уб т р а с м о тр е н ы н ек о т ры е воп ро I License Manager с ы н а с тр о й к и сам о й ср ед ы ( Environment Op* I QuattyCentral tions), а атк ж е воп рос ы н а с тр о й к и в н еш н ег о I Database Desktop в и д а о к н а р е да к то р а и с о х нд о г о код а (Editor Options). zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Ри с . 1 . 1 8 т утнПк ы м е н ю Tools з н а к о м св т
В А ГЛ
А 1 Т Сд е р
а вогн ьлаиуз
о пмраог инроав
я Borland Delphi 200S
С о тр й т
r" Autosave rations ~
i i Object Inspector i Й Tool Palette | I- Environment Variables Explorer } !• w i d o w s Forms Designer j S- Delphi Options В Editor Options ] [ Source Options ! Color i [ Display i ' Key Mappings | L code Insight В HTML/ASP.NET Options '- - ECO General Options E Translation Tools Options Source Control Options ft- Debugger Options Hi Together L WebSnap
:
д and Running • - -
r Ed t o r S»
^ Show tompiier progress
Г " Project desktop
" NJnlmtze on run
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA * л дН designers on rur. rDocWng. I Pressing the Control toy whBe i dragging will prevent window docking г Shared reposftory — —'— '- ;Ct ec lo r y; |
OK
Рис
. 1 . 1 9 т О кн
нас т ройки
Оиебщ
сыре д
|
Cancel
а 1 . 1 т Н е ок т р ы Пу н к
т н а с т р о й к
Object Inspector
е п ар м е рт
и
ы н а с тр о й к
На с т р а и в а е м ы
Options
zyxwvutsrqponm
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF
Speed Settings Colors
Help
о н а с тр о й к и п ар м е рт о в с р е д ы Borland Delphi 2005 zyxwvutsrqponmlkjihgfedcbaZYXWV
В гп ур у общ и х н асрт о е к с р ед ы воядх т н асрто й к а р а с м о рт е н н ы ок н Object I n spector, Tool P alette, Structure, а такж е з адн и а фо р м ы п р и п ро г ам и ро в ан и и л д я п л а фт о р окн а ид з а й н е р Бо л е е п о др б н о о с н о в н ы е п а р м е рт ы н а с рт о й к и п р и в едн Та б л и ц
I
а Environment Options
и п ун тк
е э л е м е н т
х н ам и ран е е е п ар м ерт о в дл я м Win32 и .NET. ы в табл . 1.1.
ы
оК м м е н т а р и
й
Бы с рто е з ад н и е ц в е от в о й с хе м ы и н а с тр о е к о н а п ует м выб о р а и з с п и с к а Зад н и е ц в ет а одетнльы х э л е м е нот в о кн а Ob jec t Insp ec t o r Н а с рт о й к и о кн а . Усатн в ли а я ил и с б р ас ы в а я п е р клю чает ли , м н о ж о з ад в т ь р а з л и чн ы е с в о й с тв а о кн а , н ап р и м е р о то б ернаиж е до с утп н ы х от л к ь о д л я четн и я с в о й с т в - Show read o nly p r o p er t ies, о то б ернаиж е п ан е л и с о с от я н и я в нн ие ж й час т и о кн а - Show St at us Bar - и т . п .
З а он м к с т в
о с о срео д
й р а зр а бот к
и
\ ^F
а 1 . 1 т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ы ро т к е Н е прм ате ы нкйор ста и пт кн у а Environment Options (оеин а чно к )
цл и а б Т кну П
т нкйатсор
и
а е тв м с и р Н ы
е элем тен
ы
Options
Tool P alette
р Гу п а с в о й с тв , п о з в о ляю щ и х з ад в т р аз м е р кн о п о к п али рты , а тажк е п р и з н а н е о б хо д и м о с т и п о д и с ы в ат ь н аз в н и к кн о п ка м , ав от м аит че с ко г о р а с к р ы ит с пис к а ко м п о н е от в и т. п . с У а тн о в к а ц в е от в й п ал и р т ы дл я окн Tool Pale tte
Colors Explore r (н а с тр о й к о нк а Structure) и
Explorer Options
р у Гп с в о й с тв
Explorer Sorting
Grid Options
Delphi Options >• VCL Designer
Н а с т р о йк а а р ек т о д р а В п ру г с тр о й к си м вол в л и тр
вен шог иогн сохд
ва ид
а с в о й с тв а о кн
, задю щ и
ь к я я
х о с но вны
а е
а
Выбо р с пос об а с о р ти р о в к у ил о кн а - п о ав и т лф в и с хо д н о м ко д е п р о г р ам м Пе р ч н ь о та еб м р а ж ы в о кн е Structure
Explorer Categories Windows Form Designer
й zyxwvutsrqponmlkjihgfedcba
м Ко теианр
и э ле м е н от и ж е п о п о ел н иж ы х э л е м е н от
в ю в
р Гу п ди з ай н е р гр уп о т б е рн иа ж пер м ещ ени и р аз м е
а с в о й с тв
, о п р ед ляю щ и х с в о й с тв ы Windows Form. 8 э то е о п р е д ляе ст я н е о б хо д и м о с т ь , п р и в я з к я с е тк и н а фор м е , а такж я оеотк б ъ в к с е тк р с е тк и
р Гу п ди з ай н е р о п р е д л я е ст о т б е рн иа ж пер м ещ ени и р аз м е у ак з ы в с а ь т п о д с ка з о н а форм
а с в о й с тв
о
а форм
й и е
, о п р е д ляю щ и х с в о й с тв о й г р у п е ы VCL. В э то я н е о б хо д и м о с т ь , п р и в я з к и я с е тк и н а форм е я е о тк б ъ в к с е тк , а такж е р с е т к и . Кр о м е то г о , такж е м ео ж т я н е о б хо д и м о с т ь о т б е р н аи ж я к и н аз в н и й к о м п о н е от в е zyxwvutsrqponmlkjihgfedcbaZYXW а форм
оакн ка од
у н а с рт о е к в н еш н ег о ви д а ц в е то в г о о ф р м лен и я . Н а р и с . 1.20 п р и в ед ы р еадк от р а и осндх о г о код Н а с рт а и в а т ь э л ем н т ы ц в е от в ч аст и окн а п р и в ед н ти п о в о й фр а гм е н окн а то т и л и и н о й э лем н т , м о ж н (Foreground Color), а так ж е ц в е р е э л ем н т а ег о ти п о от б р а ж ест к о мв с т у с яз ы к о м D elphi, в ы зу н ает
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED
а окн а р е ад к о т р а и о с н хд о г о к о д а в о их д т н а , ш р и ф т а и о с о б е н н о с те й ф о р м а ти р о в а н и я н ви д о к н а н а с рт о е к п р и задн и и ц в е от в й па а - вклад а Editor Options >• Color. й п а л и рт ы до с ато ч н о п рост . В о с н о в н о й т и оснхд о г о коад . В ы би ра я в э то й ч а с т и о з адв т ь ц в е т дл я в ы б р а н н о г о э лем н т а т фо н а (Background Color) дл я н его . П р и вы бо я в п о л е Element. В главе , п о св ящ ен о й з н а , и з к ак и х э л е м н от в с о с т и т п р о г ам а , а
В ЛА Г
А 1 T ердС
а вагоиузнль
я Borland Delphi 2 0 0 5 zyxwv
о прога м м ироав н
fcj Envrionment Opto i nszyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED Cool r SpeedSetni g: genvent: : i Object Inspector [ В Tool Palette
3 I Defautls ! •!• Environment VariableszyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC Use defaults for — rTextattrbutes— — — [ i Explorer *Г * Foreground p " Background I f~ 6 * Г " Bafc Г " thderine i ! Windows Forms Designer i В Delphi Options E Editor Options i ; Source Options I i- Display i ; Key Mappings I ' code Insight Щ HTML/ASP.NET Options ! ECO General Options Ifi Translatton Tools Options i Source Control options Ш Debugger Options ф Together L WebSnap
Ри с
п ок я ти
а з а п о м н и ет я и оснхд о г Дл я в ы в оид м о г ю п а р м ерт о в
. 1.20 т Нас рт о й к
, ч т о р а з л и ч н ы о код а о к раш и в аю ст о тек ст , оп релдяю щ у в с о вт ес ю у щ и
foreground color:
Щ Default
Background color: i J . j D Default
HTML! C« I C/ C++ | Pelphi|
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP
yf Syntax Highlighting '% Щ procedure TF orm l.Button lC lick(Sen der: TObjecti: Ш Number, I , X: I n t eger ; be gin Nuntoer : - 123 + SFF + T r u n c ( 12. 3) ; C aption :- * ' The number i s ' + I n t T o St r (Numb
1 5 6 7
zyxwvutsrqponmlkjihgfedcbaZYXWV { Saar- zt: Q S , TtKt Щ
а ц в еот в
й п алирт
е э лем н т я в р а з л и ч н ы о п р и м ен и т ю н а ч е р та н и е п е р к л ю ч а ет л
S '
ы р е дакот р
а и с хо д н о г
ы п р о г ам
о ко д
ы дл е ц в еат
а м о ж н ь ф о р м а ти р о в а н и н ац и е ш р и ф та и сп оль з ова и в Attributes. К ром е э то г , дл я б ы срт о й см ен ы ц в еот й сем х е т н ес к о л ь к о сатн адрнт ы х з а го т в к . В ы брат ь н од м ощ ь ю пн у кт а Color S peedS etting (Бы срт о е з адн и Дл я з адн и я о с ат л ь н ы х н а с тр о е к м ож н о и сп оль з оват Options >• Display. П о с л е ак ит в и з ац и и вклад и в н еш н и ск о ль к о и з м ен и ст я (р и с . 1.21). В гп ру е п а р м е рт о в (Margin and gutter) м о ж н о
а
я о б легч н и
я восп ри
-
. . С едлат е п а р м е тр о
г рп у ы р е ад к о т р у и з з аго т в о е н а с рт о е
й ви о п р едл и ьт
ь комби е - з атд ь э т о м о ж н о , в Text а код
а сув щтс еу к м ож н
о с п о
к ц в еат) . ь к д ав л у Editor д о к н а н асрто е к н е :
>• бе д у т л и оотбр аж ьт с я в е р ит к а л ь н а я п о л с а - о г р а н и ч и е тл ь в п р ав о й чса е н о м е р си м вола , з а к о тр ы м бе д у т т и э к р ан а (Visible Right Margin), а актж в ы ч е р ч и в а ьт с я п о л са ; >• бе д у т л и у сто п в л ев о й ч аст и э к р ан а (Visible G utter), а такж е в ел и ч и н у (ш и р н у э от г о оп уст а в пиксел)ях ; >• н ад о л и п о к аз ы в ат ь н о м ер а срто к (Show Line N umbers).
З н а к о м с тв
о с о с р е до
й р а з р а б о тк
и
E Environment Options • r Display options" :—~~ | •; • • Object Inspector zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Г " J w t o f u t screen . Г * BRIEF ejrsor shapes • "• 11
\ I j I | ф \ j
ф Tool Palette j ~ Environment Variables . Explorer !• Windows Forms Designer Ш Delphi Options Editor Options j Source Options ! Color
:
W Show dose button on tabs
W Sort popup pages menu
Margin and gutter r r ~ ( 7 ^sibie right margin
Ј7 ШкЧ
Right margin:
gutter
p" Show Ine numbers
Edftorfont: Key Mappings ! Code Insight 4 HTML/ASP.NET Options |- ECO General Options Ш - Translation Tools Options f Source Control Options ф - Debugger Options Щ Together
1
Ри с
К ром
$ап$ Л ег.
L
jCourier New
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP AaBBTyZz
WebSnap
. 1.21 т Нас рт о й к
а ш тр и ф
а и о с о б е н о с те
й форм аит р о в ан и
я с и м в о л
в
е э то г о в п о л е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGF Editor Font (Ш р и ф т р еадк отр а ) м о ж н о з авд т ь ш р и фт , й е д уб т и сп о ль з о в а н дл я вы вод а и о с н дх о г о ка о д . В п ол е S ize (Р аз м ер ) о з адв т ь раз м е р вы воид м ог о ш р и фт а в пн уакт х (1 пн ук т р ав е н п р и м ер н о 0,353 м м ) . З адв я ти п ш р и фт а и ег о р а з м е р , н и ж е м о ж н о сраз у н а б л ю аь д т , ка к э т о бе д у т вы лгетяд ь н а э к р а н е . Н а эот м м ы з ак н ч и в ае м п ер в о е з н а к о м св т о с о ср еод й р а з р а б о кт и Borland D elphi 2005. В пю уослдещ и х в ал г х и ч асят х кн и г и о с н о в н о е в н и м а н и е бе д у т лен д у о с о з а дн и ю п р о г ам , а так ж е р ас м ортен и ю о со бен н о сет й и сп оль з ова н и я к о м п о н ен от в сред ы и е е о сн о в н ы х гр афи ч ес к и х в о з м о ж н о сетй . котры м ож н
2- 3166
Г
С о з ад е м п е р в ы е п р о е кт ы в Borland Delphi 2 0 0 5 zyxwvutsrqponmlkjihgfedcbaZ лав
а п о св ящ ен в с р ед е р а з р а б о тк осн овн ы х ти п Delphi - п р о е к т ы дл и д м унбче у ю п рогам .NET и Win32 с о вт ес н н о )
е Пр
а п ордбн ом
у р а с м о рт е н и ю п р о ц ес а со з адн и и Borland D elphi 2005. Д але е е д уб т р а с м о тр е н а п р о ек т а с и сп о ль з о в ан и е м яз ы к а п р о гр а м и р о в а н и я п л а фто р м .NET и Win32. В к ач есвт е п р и м ер у л д я н о а жх е д н и я корн е й к в ард нт о г о р ау в н е н и .
д т е м ка к псиат
ь прогам м
В эот м н еболь ш о м р аз едл е у д у б т р ас м о ртен в ан и я , к о т р ы е у бд у т н а м н еоибдх м ы дл 2005. С ма о п о себ е н ап и сан и е п ро г ам м едл н н ы х к о м ан д , к о т р ы е долж е н вы п олн и т В ы р а ж ен и е «н ап и сат ь п р о га м у » н э атп о в со з адн и я к о м п ь ю етр н о й п р о г ам ы т о о ш и б о ч н о п о н и м аест я и м ен н о н ап и с ан и р е ад к о т р е (и л и ж е н а бм еа)гу . Н а само м э т о п р о ц ес , со стящ и й и з н еск о ль к и х ыв ? В о- п ревы х , п реж д е ч е м чо-т т о «п иь сат сн ач л а о п р е д л и ьт с я с тем , ч т о ж е м ы п и сан и я п р о гр а м ы н е з а к н ч и в а е ст я п р о г ам ы ) - п о с л е э от г о ещ е н ео бихд м
я п р о ек от
в о вд а я
а м ы сазод я (дл я
ы ы баз о в ы
я п рог ам и ро ы в Borland Delphi я в и от г е к сосавтлен и ю оп ре ь к о м п ь ю етр . м дел е ортаж е т от л ь к о ио д н и з . П о д эит м в ы р аж ен и е м о ч ен ь чса е ком ан д (и н срктуц и й ) в тек сотв м е п р о ц ес с н ап и с ан и я п рогам ы . П очем у н ес к о л ь к и х , с п р о с и т е » и л и «ввоид т ь в к о м п ь ю ерт» , н ад о м п и саьт . К р о м е то г , п р о ц ес с н а м к о м ан д (и сохнд о г о код а бе д у т п р о в е р и т ь е е рубоат . П оэ тм у
я даль н ей ш е своид ст а само
дел э атп о в бе д у н ап и сан и е о
е п о н я ти й р аб о т
е я ле д рп О
в о и з б еж ан и воз м ожн о гр а м ы
Н ач н е
ы рзбркаот
и пмроаг
м zyxwvutsrqponmlkjih
е даль н ей ш и х о с л о ж н ен и й с ч и ат ю н е о б и хд м ы м , н аск о ль к , к р акт о п о яс н и ьт , ч т о п р есдатв ляе т со б й п р о ц ес с н ап и сан и .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Оп р е д л я в аоинер
м эпа т
м эт ап м с о п р едл н и - п р о ц ес
п р е сд а т в л е
я то г с с о з ад н и н п о с л е д в а тл ь н о с ь т
1. О п р едл н и 2. Р аз р аб о кт 3. Н а п и с а н и 4. Олкатд 5. Т есит р о в ан и е В ц ел о Н о н е сот и ч т о ж е п р о и сохид ин е л е д п р О ро м п о др б н н и я к резлаьмту де н и е п р о г ам П о яс н тр е б о в а н и в ан и я в дан н о ч е с вт е и о с н хд ы руа в н ен и
ы ра зр бот к
е тр е б о в а н и а (в ы бо р е ком ан
и прога м
, ч т о ж е та к о я (р а з р а б о тк и ю ю у щ д е лс и
м
е п р о гр а м и р о в а н и е ) п р о гр а м ы
. И атк , к о т р ы х ш а го в
й к п р о г ам е ) алго р и мт д (и н срткуц и й )
й м ож е
, zyxwvutsrqponmlkjihg п- ми гамор т бы т ь
:
. я п о сатв л ен н о
а р еш ен и
о э т о я п ро -
й з адч и
.
.
. . м в о т атк о т ран ь ш
й в о т п р о ц ес е в р ем н и б и т т н а кожад м и з тв оаинйбе р к п р о г ам о о п и сы в аест я и онсдх а . К р о м е то г , н ы в о со бы х ч х яа с л у ю в ы ш ес к а з н н о е н а п р и м е р я к п р о г ам е , к о т р а м сча лу е муго т б ы т х а дн н ы х п р о г ам я (а , Ь , с ) ) :
>• и сохнд ы м е ди алог >• п р о г ам >• п р и о ству и с о б щ ен и е
. С лож н о ь трвеоуг э ти
? Н а п е р в ы . Р аз бер м с х э ат п о в
й в з ля г
д - м ож е
я те п е р
ь бо ле
т б ы ьт
. ,
е п о др б н о
. е - оид
я и н фо р м а ц и а эот м э атп . . Д а в й т я бе д у т р еш а т ь сфо рмлиу ро в ан а и сп о ль зе у
н и з самы я и формлиую ст е так ж е м ож е е п о р о еб у ь к в ард нт ы ы ю у щ д елс и т к о э ф и ц и ен т
х в аж н ы
х э атп о в
, н а кот
-
я р те б о в а т о п и с ы в аьт с
я п ове
м с ф о р м л уи р о в а т е урав н ен и я м о бр аз о ы к в ард нт о г
е дан н ы е (т о ест ь к о э ф и ц и е н ты ) в в оясдт я с клавир ут а в о в р ем я р а б о т ы п р о г ам ы ; а долж н а в ы в оид т ь н а э к р а н з н а ч е н и е к о р н е й урав н ен и я и корн е й п р о гр а м а од л ж н а в ы в о ди т ь с о вт е с ю у щ е .
Д л я с о ат в л е н и я п одбн о й п ро г ам ы э ти х ч е ты р е х тр е б о в а н и до с а т о ч н о . К указ н ы м вы ш е тр еб о в а н и я м м о ж н о так ж е до п о л н и т к п р о г ам ам , р аб о тю щ и м в с р ед е Windows, муог т п р е дъ я в л я ь т с ет л ь н ы е тр еб о в а н и я п о вн ше н ме у ви д у ди ало г в ы х ок н . П овд н о с к а з ьт , ч т о н а дан н о м э ат п е н жу о , п о в о з м о ж н о с ит , то ч н
-
ь . Требо м (в ка о ы в реж и
-
; е й вп олн е ь и то , ч т о я доп лн и я и то ги , мжо о о п р е д л и ьт ,
В А ЛГ
А zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA 2 • Сеаозд м пыв ер е поетк р ы в Borland Delphi 2005
ка и е и оснхд ы е ад н н ы е н еоибдх м ы п ро г ам е , ч т о он а долж н а е лд а т ь и ка ко й долж е н бы т ь ратльзе у . П ероихд м к сю ущ демл у эпа т у - р а з р а б о кт е аогл ри мта . Н а э атп е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA рткоаибзр аа итгрмо л м ы долж н ы о п р едл и т ь п о с л е д в а тл ь н о с т ь едй с в т и й , к о т р ы е н еобидх м о в ы п о л н и т ь дл я до сит ж ен и я резальту , т о ес т ь и т гр м о а л р е ш е н и я з адч и . П о д вы бор м алго ри мт а я п роадзм еву ю то , ч т о дл я н ек о т р ы х з ад ч е щ ву с т е т о б ы ч н о н еск о ль к о сп о с бо в р е ш е н и я , и есл и о н и и з в е снт ы , т о м ож н о в ы бр ат ь н аи бо ле е п оящдх и й . Ролазеьт у м с о а тв л е н и я а л го р и м т а я в л я е ст я ег о с л о в ес н о е о п и сан и е и л и гр а фи ч ес к о е п р е с да т в л е н и е (чащ е и сп оль зю у т ет р м и н к о- л б а)хмсе . П о сл е то г о ка к о п р едл н ы тр еб о в а н и я к п р о г ам е и со сатв лен а б-кол е хс ма , м ож н о п е р о х ид т ь к эапт у ан п и с я кадн м о ил и с о б свтен н о в аоиню.р кд о К а к в и д ет , сраз у «п и сат ь п р о г ам ы » н е и м е т см ы сла . К о н е ч н о , в ы в п о лн е м о ж ет е «п риоткь у » вс е тр еб о в а н и я и бокл- ме хс ы с в о з м о ж н ы м и в ар и ан атм и р еш ен и я у себ я в го л в е , н о н е соти т з абы в ат ь о том , ч т о р а н о и л и п о з нд о в ы н а ч н ет е п и сат ь п ро г ам ы го раз д о бо ле е сло ж н ы е , че м те , ч т о р ас ч и ыт в аю т корн и к в ард нт о г о р уа в н е н и я . П оэ мт у есл и в ы п р и в ы к н ет е к п обнд ом у ме до т у р абоыт , т о в даль н ей ш е м н е см ож ет е п и сат ь сло ж н ы е п ро г ам ы л и б о о н и у д уб т соювстеу щ ег о к а ч е св т а . И а тк , ком ан д ы н ап и сан ы . Ч т о дьлаш е ? А даль ш е н а ч и н а е ст я с ц еоп р о- ад тл к и. П о д оклаодт й н аз ы в аест я п р о ц ес с п о и ск а и усртан ен и я о ш и бо к в п рогам м е . Сж ак у сраз у - ош и бк и т бу д у . В п олн е в е р о я тн о , ч т о п он ач л у о ш и бо к бе д у т м н ог . П очем у о н и воз н и каю т ? О ш и бк и в н ап и сан и и ком ан д муог т в о з н и к ат ь п о смаы м р аз н ы м п р и ч и н а м - о т н ев н и м аетль н о с т и п р и н ап и с ан и и д о н ев р н о о п р е дл н н ы х сп о с бо в п очлуен и я резлаьту . С о вт ес н н о , ош и бк и бы ав ю т сиктнсае ч
(о ш и б к
и в т е к с т е
ит п о м ош и бо к вс е бо-ле мне е п р о с т м уо а с , д а и с о в р ем н н ы е с и с е тм ы Borland D elphi 2005) в эот м дел е о ч е н м и ч ес к и м и ош и бкам и вс е го р аз д о сло ж н е со б ) п очлеун и я резлаьту , т о п р ав и л ь н ы о т м э ат п а о л та к д и е д уб т е ьо н а п в р и л н ес к о л ь к и х в ар и ан ат х и онсдх ы х дан н ы х и з ав ер ш и т ь раз рабокт у п р о г ам ы св о и м и п р о г ам ам и о дм а и н и ком о -ч т т о та к о е , ч т о бу д у т и сп о ль з о в ат лд я к о г о в ы св о и п р о г ам ы п и ш ет ро в ан и я ваш е й п р о г ам ы .
) и аксеи,ч тгрмо л
о - о б ы ч н п р о гр а м и р о в а н и ь хор ш и
и л
о и х до с ато ч н
е п ом щ н и ки е - есл и н е в р н й резльаут т в ы фну к ц и о н и р о в а н и . К аз ло с ь бы , н . В с е бы л о б ы так , есл у и х н е п о к аз ы в ал и ь дгиру е , т о долж н ы . П оэ тм у н ем алов ж н ы
и лкгсеи.оч
С п е р в ы
о легк
м
ь м о нт о с и ст я и . А в о т с аолгри т о о п р едл н пт у ь (сп о н е п очлуи ет . а ьтлРзеу е п р о гр а м ы пр и а эот м м о ж н о бы л о б ы и б ы в ы п о ль з о в али с ь . Н о есл и в ы со з адет е п о з а б о ит ь с я и о ехт , т э ат п тиест м бе д у
я (к к о и
о з ам еит
е Н с к о ьл
о со л
в о ине слв а сот
и мо ригтла
а zyxwvutsrqponmlkjihg
Т втаоинсер - з ак лю ч и етль н ы zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA й э ат п . Н а эот м э атп е се у дл т п р о в е р я т ь сво ю п р о г ам у н а к а к м о ж н о боль ш е м к о л и ч есвт е н а б о р в вондх ы х ад н н ы х , в то м ч и сл е и н а з авоедм о н ев р н ы х . К р о м е то г , в п о лн е в е р о я тн о , ч т о н е к о т р ы е м о м е н ты , к о т р ы е , в о з м о ж н о , и н е в ли яю т н а п рав и ль н о ст ь р е з л ьу а т , н е бы л и учетн ы и л и бы л и учент ы н е в р н о . П о д б н о е з ам еч ан и е в осн овн о м онт о си т я к э лем н ат м гр а фи ч ес к о г о и н те р фе й с а п р о г ам ы . Д о в ль н о ч ас т о у л с ч а е ст я так , ч т о в се си л ы тр а тя с я н а п очлуен и е п р ав и ль н о г о резальту , а в о т п р о то , ч т о п о ль з о в аетл ь м ож е т «н аж т ь о- ч т н д и у б ь н е то » и л и «ввест и чо т н д и уб ь н е то» , ч ас т о з аб ы в аестя . Е сетв н н о , ч т о так и е м о м ен ыт , соз адю щ и е э ф ек т «н оелдан ой » п р о г а м ы , н и к а к е е н е к расят .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR
Не с о к л ь Н а п ер в о од в а е т л ь н о с т ас в т л е н у бо в ан и я п о р о еб у д е й с вт и й м и сло в ам и И та к ьт а м о з у л и м ет . М о ет ыл м у , п н и я п о с ат в л е н н о л и ьт ) з н а ч е н и равн о н лю у л е од в а е т л ь н о с т н о п о и дх и т гр м о л А и о с н хд ы Дале н ен и я . И с о х нд ы р о й с те п е н Р е з л ь а ут
м э ат п
о сло
в о сот алве ин
е со з адн и
я п р о г ам , к о т р ы
ь ед й с в т и й ю у ч а зд . В к п р о гр а м е м вы п олн и т , к о т р а я п о з в о л и , - з ай м е с , и м ын дхисо ж е - з н а ч е н и
к ач есвт , к о т р а ь ю у с дл е щ и
и а л горит м ы п р о г ам и с е н е о б и хд м
е п р и м ер я долж н
й э ат т н а м п очлиу т я р а з р а б о кт й ди м аын дл я р еш ен и я к о р н е й л и б
а
т долж е
н о п р едл и т , чотб
о в ы п о л н и ьт
ь п осле ы р еш и т
а м ы п о п р о б в ал и сфо р млуи р о в ат а р еш ат ь к в а рд н т ы е урав н ен и я п - расп и сат ь в с ю п о с л е од в а е т л ь н о с т ь з н ач ен и я к о р н е й урав н ен и я а л го р и м т а . я бу д у т к о э ф и ц и е н т ы урав н ен и я о со бщ ен и е о то м , ч т о урав н ен и
ь п о ь рте
. Т еп р
ь ь
, диг ур
, -ер е и х н е
т фо р я к в арднт о г о р уа в н е н и я и з в е с тн , т о ес т ь ющ вусте м м ы м ож е м и х в ы ч и с л и ьт . П о слеод в аетль н о ст ь ш а го в реш е й з ачд и такж е о ч ев и нд а . С н ачл а н ео бихд м о н ай т и (вы чи с е ди ск р и м и н ан ат . З аетм , есл и п очлуен о е з н а ч ен и е боль ш е и л и , в ы ч и с л и т ь п о и з в еснт ы м фолраму м з н а ч ен и я к о р н е й . З адв я п ос ь ед й с в т и й , к о т р ы е н а м н ео бихд м о в ы п о л н и ьт , м ы п оеспт н м к п о н яит ю «алогри мт» . - э т о то ч н о е п р е дп и с а н и е , о п р едл яю щ е е п р о ц ес с п е р ох д а о т . х ад н н ы х к ру таьлзеу е п ри вед у п р и м е р со сатв лен н о г о алго ри мт а р е ш е н и я к в ард нт о г о увар д р еш ен и о к о т р ы
е дан н ы и н еи з в ес нт о г т - з н а ч ен и
е дл
я алго р и мт
а - к о э ф и ц и ен т , b - п р и п е р в о й я к о р н е й урав н ен и я
ы урав н ен и я , с - п р .
и н левоу
й с етп ен и
: а - п р .
и во т
-
В ЛА Г
А 2 • Саедзо
м пе ырв
е ед й с в т и я
:
Н е о б и хд м ы 1. В ы ч и сляе 2. Е сл и м ет
м ди ск р и м и н ан
т п о формл у
и з н ач ен и . В п р о ит в н о
ы в Borland Delphi 2 0 0 Szyxwvutsrqponmlkjih
е проетк
е ди с к р и м и н а н т м сча ул
е к о р н
2
е zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQP d= Ь - 4а.с а о тр и ц а те л ь н о , т о ру а в н е н и е корн е й н е и р ас ч и ыт в аю ст я п о формлау :
- b- 4d
- b + ,< К н о п к и > ,< И
П ар ам ет кн оп ок п р и в ед Та б л и ц
я я с , обесп
-
: ;
р з аде т п ер еч ен ь о т б р аж ем ы х в в ы в о ид м о м окн е . П е р ч е н ь кн оп ок , к о т р ы е воз м ожн о от браз и т ь в ад н н о м окн е , н в табл . 2.11.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA а 2 . 1 1 т Ко н с атн ы
о Кн с т а н т а
кон ка> )
т в ы в о ид ь т с м в ы в о ид с т
, о п р е де л яюща
, о п р е д ляю щ и
е кн о п к
я т и
MessageBoxButtons.Ok Mes sageBoxBut t ons.OkCancel
п КО П Н И
и в о кн
е с о б щ е н и
Вв ы о ид м ы
е в о кн
OK OK, О т м е н
я
а
е соб ще н и
я кн о п к
и
ВЛ АГ
А 2 • Саедзо
м пе рыв
е пр ое тк
ы в Borland Delphi 2 0 0 5
а 2.11 • ы тн а стноzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA К , ощю яил е д рп е кокпн и в он к е сщбоине я (оеин а чо к )
ц л и аб Т о Кн с т а н т а
, о п р е де л яюща
я т и
п кн о п к
и
Вв ы о ид м ы
е в о кн
е с о б ще н и
я кн о п к
и
zyxwvu
Да
, zyxwvutsrqponmlkjihgfedcbaZY Не т
'
Да
, Н те
M essageBoxButton s.AbortR etrylgn ore
ь т а в ре П р
MessageBoxButtons.RetryCancel
ь т и П ор т в
MessageBoxB'uttons.YesN o M essageBoxButtons.YesN oCancel
П а р м - ет и к о н к ж ен и
а з ае д е ч ыет ре
>• и н фо р м а ц и о н н о >- в о п р о с и етл ь н о >• о к н о п пруед ж н и >• о к н о с собщ ен и е
х ит п о
т ит в и кон ок
п в ы в ои д м о г , зюа дщ и
, мО тен
а ,ь т Пи р о т в о
,т и Птс у по р
, Оен мт
о з н ач к х общ и
. В сге п вы виод м г
й ти
, ка и м о бр аз о м з ав ер ш и л с я вы во а н аж т а п о ль з о в аетл м ) , м о ж н о , в о сп о ль з о в а ш и с в кот ро й п р и в едн ы да н н ы е о в о з в р ащ аем ы M essageBox.Show. а 2 . 1 2 т Зн аче н и
е фн укц и
д окн
я функци
и
К н п о ка
а (т о ес т ь дан н ы м х з н ач ен и я
, с п ом щ ь
ь ка я к н о п к а и и з табл . 2.12, х н фу к ц и и
о к
System .Win dows.F orm s.D ialogR esult.Yes
Д а
System .Windows. Forms . D ia lo gR esu lt . No
Не
Systern.Windows.F orm s.D ialogR esult. Cancel
е нО м т
System .Win dows.F orm s.D ialogR esult. Abort
та в П е р
System .Win dows.F orm s.D ialogR esult. R etry
т иП о р в
System .Win dows.F orm s.D ialogR esult. I gn ore
т ис уП о п р
а так и х о ш и бо к о ч ен ь п о лез н а т мп а у о д , т о ес т ь п р о гр а м и с . О нд а к о ещ е лч уш е й с тр а те г и е я во бщ е н е бы л о воз м ож н ост , в о з м о ж н а я ош и бк а в н аш е й п р о г ам о фо р м а т . М о ж н о к о н тр о л и р о в а т в в со вюстеу щ и е п оля
ю ко рт н ди а л о
л з а в е р ш е
System .Windows.F orm s.D ialogResult.Ok
О б р а б о кт
:
и M essageBox. Show
бы
п р о гр а м ы о ш и б и ть с я п о л ь з о в а те л п о м н и те н еп р ав и ль н о г к о э ф и ц и е н то
о о бр а т о окн а
о - M e ssa ge Bo xI c o n . I n fo r m a t io n ; о - M essageBoxI con . Q u est io n ; я - M essageBoxI con .Warn in g; м о б ошибк е - M essageBoxI con . E r r o r .
О п р е д л и ьт
З н ач ен и
о воз м ож н
е о к н е окн
бы л
Та б л и ц
ь
а
й г
т а ь ь ь
. О н а го в р и т о качесвт е н а п и с а н и я л о то м , ч т о п о л ь з о в а те л ь м ож е т й е д уб т с ед л а т ь ат к , ч то б ы у и со в ер ш и т ь о ш и бк у . К а к в ы е - э т о в в о д и осндх ы х а нд ы х ь п р о ц ес с в од а з н ач ен и й .
а е дзо С
Н ап о м н ю р а б о тю в ес т ч и слам и в ы п су т а е Дл с о б ы ти к о м п о н е н от в ад н н ы х Л ис т н
м пе рыв
, ч т о у н а с т с о в ер ш ен н о и з н ач ен и я к о э ф и ц и е н то . П р и э от м м т з а п я ат . я к о н тр о л я в од я K e yP r e ss . О б р а о чт и , п р и в ед н в лисит н г г 2.5 • л Кор т но
ь вдо в
тр и п о л оид н ак о в
й прое к
я ввод
ы п ом н и м
т дл
я M icrosoft .METzyxwvutsrqponmlkjihgfedcbaZYXW Frameworkzyxwvutsrqponmlkjihgfe
а - T ext Bo xl, TextBox2 H TextBox3. О н о - и х зачд а а дт ь в о з м о ж н о с т ь п о л ь з о в а е тл в к в ард нт о г о р уа в н е н и я , к о т р ы е я в л ю ст , ч т о р а з дел и етл м ц ело й и др о б н о й ч а с те
а з н ач ен и и н аз н ач ь т к н а ж ит
й к о э ф и ц и е н то е е г о дл я клави ш
я о б р а б о тк , к о н рто ли юру щ и
в с о з да й т и с о б ы ит
е о б р а б о тч и я в се х тр е й вво д и осндх ы
и ю я й к х х
е 2.5. а ды н а
х
.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA procedure TWinF orm.Checklnput(sender: System.Object; e: System.Windows.F orms.KeyPressEventArgs); begin
/ / zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ь л о тн р К х ы им в д о в .о лв о имс i f n o t ( e . K e yC h a r i n [ # 8 , • , • , ' 0 ' ' . . • 9 ' ] ) then e.H andled := t r u e ; end;
К р а кт о п о яс н ю код . П р и в о з н и к н о в ен и и с о б ы ит я н а ж ит я к лав и ш и в о б р а б о тч и к п е р ад е с т я си м вол , к о т р ы й од л ж е н бы т ь од б а в л е н к ж у е в е дн н ы м . П ер ад ест я о н в св о й свт е п а р м ерт а о б р а о чт и к а с о б ы ит я т л и э от т с и м в о л в е . KeyC har. С о вт ес н н о , н а м н ад о п р о в е р и ть , овидх ди а п а з о н о д п ис т у м ы х си м вол в лд я ввоад . Н ап о м н ю , ч т о допистум ы м и си м в о ла и являю ст я ц и фр ы о т 0 д о 9 и з ап ят , явлюя щ ася я раз елди т м ц ело й и др о б н о й ч а с ет й . Е сл и в ы в н и м а е тл ь н о п о с м о рт и т е н а ди а п а з о н , п р е сд а т в л е н н ы й в услови и в л и с ит н ге , т о уви дет , ч т о в само м н ач л е с от и т с рт а н н а я к о н с рк т у ц и я # 8. Э т а з ап и с ь о б з н ач е т си м в о л с код м 8, т о ес т ь к л ав и ш у Ba c ksp a c e. Сжеблну о е сло в о no t п ер д о п е р а от р м с р ав н ен и я i n го в р и т о то м , ч т о секц и я the n о п ер аот а i f е д уб т в ы п о лн ьятс я толь к о в то м ч е а у лс , есл и ральзету т с р ав н ен и я бе д у т н ев р н ы м , т о ес т ь ввенд ы й си м во л н е я в л се т я раз реш ен н ы м . В эот м сча ул е н а м н ад о з ап р еит ь во д э отг о си м в о ла . м счалу е о мт ен и т ь добав лен и е в в едн н о г о си м в о ла , Дл я тог о ч отб ы в адн н о м ы п ри св аи в ае м с в о й св т у H a n d led п ер да н н о г о в о б р а б о тч и к с о б ы ти я з н ач ен и е t r u e , к о т р о е го в ри т , ч т о с о б ы ит е уж е о б р а б о атн о . В эот м счалу е в ы п о л н ен и е о б р а о кт и с о б ы ит я п р е ы в а е ст я и н е до хид т д о к о м п о н ен ат , в котро м и п р о и сох ди т до б а в л е н и е н ов г о си м в о л а к уж е в едн н ы м . Таки м о бр аз о м , м ы реш и л и зча д у к о н рт о л я вваод .
А zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDC 2 7 С о з аде м п е р в ы е п р о е к т ы в Borland Delphi 2005 zyxwvutsrqponmlk
АВ Л Г
опитлн е До ыльн оп
о з вм о с н ж т и
влев июяны
и об ш к
П ер д те м к а о ст п у л е н и е в ы п о л н ен и я н еп р ав и ль н ы с иа ц у т и , кдог м ож е м в о с п о л ь з о в аь т с п о в ы яв л ен и о сн о в н ы х сп о с ба И ат к , о сн о в н ы
к окн ч аетл ь н . З ач уст досат ч н х ад н н ы а п р и ч и н
Т к чи о
с тр о к п о м е ч а ст
о н а с тр о и т
ь н ша у п роагм у я ат к , ч т о в ы я в и т . В наше м сча ул е э т о бы л а с о в т се ю у щ а я я ош и бк и н еп о н янт а и в о з м о ж н о с я тм м к о ед . Дале е я к о р о тк я ош и бо к (срвсетда х кл о а д т ы в ы яв лен и я ош и бок :
х в ы яв л ен и е сп ос б р сп и ск
прога м ы , елсад м ь о ш и бк о п р о с т о ош и бк а . . В эот и с р ед ы о о с ат н о в л ю с и п р о г ам ы )
ю с ч л уа е т о сло ж н о х в о з н и к ал а в о з н и к н о в ен и я од п о л н и е тл ь н ы м к в и о с н хд о
ю о ш и бо
V и сп о ль з о в ан и >- п р о с м о т в ы яв и т о с атн а в л и в а т от ч к
в т е кс т е
е к о н рто ль н ы а тщкеу и
х то ч е
к о ас н т о в а й п ер м ен н ы
х з н ач ен и
н еб о л ь ш о е у в р ем н и п осл е ввод а Н о бы в аю т м сча ул е м ы р а з р а б о кт и ь н а .
;
х (Watches list).zyxwvutsrqponm
отвасон ь м е с от
( Breakpoints) и сп оль зюу ст я в с ч л уа е , кодг а н е о б хи д м о , дг е п р о и сохди т ош и бк а . В в едн и е та к и х то ч е к п о з в о л яе т ь п р о ц ес с в ы п о л н ен и я п ро г ам ы и в ы п о л н ят ь е е п ош агов , о т и к то ч к е . у Дл я то г о чотб ы од б а в и т ь о чтк у о с а тн о в а , до сат ч н о щ ел к н т у ь п о н ом ер и п р о гр а м ы . В ' резльуат е е д уб т од б а в л е н а то ч к а о с ат н о в а , к о т р а я я к р асн ы м кжкору м (р и с . 2.24).zyxwvutsrqponmlkjihgfedcbaZYXWVU 220 221 222
end; end; // Вычислен
224 225 22 6 227 228 229 230 231 232 233
if D• Toggle Breakpoint.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB ь квиалш
Close Page
CW+F4
Show Designer Open File at Cursor
Ctrl+Enter
New Edit Window File Format
•
Topic Search
Fl
Compete class at cursor Shift+Ctrl+C Add To- Do Item...
Shift+Ctrl+T
Cyt
СЫт
Cop- l
+ СЫ
•
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR
л С
F- ж е Ctri+v t zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Ж
Toggle Bookmarks
•
goto Bookmarks
•
C3earEoolJftwfes •
1
-
Read Qrjy
§
Message View
• • • • • • • : . • •
j
|
Fold
•
Unfold
•
Toggle Commert
4
»
^
Ctrl+/
)
,
E
2
A
,
I
}
J
|
3
v
d
n
G
•
a
l
d
s
o
v
p
•
u
W
e
t
o
w
i
c
;
a
t
a
t
t
.
A
v
/
c
'
.
d
C
, •
•
e
d
P
M
• • . - . , • • '•
o
h
d
a
i
f
t
y
C
.
u
.
.
r
s
o
.
r
•
• •
r
C
t
A
e
s
s
.
.
•
•
:
•
• •
.
r
!
l
t
+
+
F
5
F
S
.
U
Properties *
иРс
. 2.25 т ине Долв аб
Refactorjng
•
Find
•
е те чо
к к овон а ст
а с пмощ ь
И н фо р м а ц и ю о од б а в л е н н ы х от ч к а х о с ат н о в ц и аль н о м окн е (р и с . 2.26), в к лю ч и т ь котро е м ож н к лав и ш Ctrl+ Alt+ B и л и с п ом щ ь ю п н у ко т в м ен ю Breakpoints. В о к н е оотбр аж ю ст я в се то ч к и о сатн о в с рт о к , н а к о т р ы х о н и н аохядст . Д л я б ы с тр о г о от ч к е до с ато ч н о вы п олн и т ь н а е е и м ен и дв о й н о В эот м ж е о к н е м о ж н о с п ом щ ь ю п ер к лю ч аетл с о в ют е у щ и е то ч к и о сатн о в а , а так ж е до б ав л ят К а к ж е р а б о ат ю т то ч к и о с а тн о в а ? П о с л е то г о п р о г ам а з апскует я о бы ч н ы м сп ос б м (с п ом щ ь п ро г ам а до й де т д о и н с рт к у ц и , н а п р о ти в котро
ю огн кстке он
а м ожн
о мн е
ю
о п о с м о рт е ь в пс е о н а ж ит е м к о м б и н ац и и View >• D ebug Windows >• а мял у од , а такж е н о м ер а п ер м ещ ен и я к какой - ли б о й щ елч о к м ы ш ь ю . й вклю чат ь и л и вы клю ч ат ь ь и л и уалтяд ь их . ка к в се то ч к и в ы с ат в л е н ы , ю м ен ю Run). К а к толь к о й с то и т от ч к а о с ат н о в а ,
Л Г ВА
А 2 т оСзеда
м п е р в ы
е п р о е к т
ы в Borland! Delphi 2005 zyxwvutsrqponmlkjihgf
]® WH *onnll
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM В 4 2 гzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA i f D• Add Watch at Cursor (р и с . 2.27).
-
я п р о г а м ы
и
е то г
о ка к ж ела м ы е п ер м ен н ы е добав лен ы , сп и со к п р о см орт а м ож н о ь в то м ж е о к н е , гд е м ы н аблю д и точ к и о сатн о в а . Дл я о т б р а ж ен и я о окн а н ео бихд м о в о с п о л ь з о в аьт с я к о м би н ац и е й клави ш Ctrl+ Alt+ W и л и и гл а в н о г о м ен ю View >• D ebug Windows >• Watches. В р ез луь ат е я т о ж е сам о е окн о , у к о т р о г о е д уб т ак ит в н а к в д ал а Watch List . 2.28).zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
CJose Page Show Desginer
Open file at Cursor
CM+F4 Ctrf+Епс
я
Mew Edit Window Fie Format
•
Topic Search
Fl
Compjete class at cursor Shft+Ctrl+C Add To- Do Ilem...
У
з
Shft+Ctrl+T
Cut Ctri+X zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
• I: e*ug
С leaf bookmarks
•
Readonly
$f- Toggle Breakpoint
bJessageVkw» Fo| d Unfold Toggle Comment
Evaluate/ Modify...
^
Add S * c h e t Cursor + ЫС Р
»
Ц, ; ,
•
Ј Ш ЙР
Ctrl+/
F5
В
*
5
»+,- .
Й Adcfeess.,. V№
'"
CEU
Properties
* Ри с
Refactorng
•
Find
•
. 2 . 2 7 т Доб ав л е н и
е п е р м е н о
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM й в с п и с о
к п р о с м о рт
а
Л Г ВА
А 2 • Со здае
м перв ы
exit; end; end; // Начислен
219 |
е п р о е к т
ы в Borland D elphi 2005 zyxwvutsrqponml
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFE
Ш
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB
222 I
225 226 I 22? 2Z'i
il D
и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSR п р о г р а м м и р о в а н и и д л я .NET
В М м
. 5 . 4 т Доб ав л е н и
е кар ит н о
к в ко л е кц и
ю
zyxwvutsrqponmlkjihgfedcb
т так ж е о б р а ит ь в н и м ан и е н а то , ч т о к о л ек ц и я к а р ит н о к о б ъ ек т а е йл фа рв осуре п р о ек ат . П р ео б р а з о в а н и е к а р ти н о к що с у в е лт я я я в zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA м свой ст в Image Collection Editor, п р и э от м и сохнд ы е фа й л ы к дл я р аб о т ы п р о г ам ы н е н жну ы .
р ха н и ст р е ад к о т р к а р ит н о
н е н о мп Ко
т ToolTip Д ан ы с от и п о я в л ю ст с в о й вс т
й к о м п о н ен т в п р е д о с та в л е н и
т яв ляест я пр
Ac t ive Aut oPop Delay I n i t i a l D e l a y ReshowDelay
ы в табл
е с в о й с вт
о
Name
и к у а з ет л а п р и в едн
а 5 . 5 т Ос н о в н ы Сво й с т в
м к о м п о н е н ат
и н ав едн и
а к о м п о н ен т
Та б л и ц
я в с п о м г ае лт ь н ы м и иг р уд
а ко м п о н е т
оКм м е н т а р и Им
Врем Врем я п о яв и л ас Врем с о д н о г
е ег о н а з н а ч е н и
е со е е
, к о т р ы . О с н о в н ы
а T o o l T i p
й я ко м п о н е та
с в о й с тв а С в о й с вт п о д с ка з о
я мы ш . 5.5.
. О с н о в н о м с в е дн и й - п о с д к а з о к и н а э т и к о м п о н е н ты
. Эт
о и м
я и с п о лзьуест
я дл
я до с утп
а в п р о г р ам м
е к ко м п о н е т
у и е г
о
м о р аз р е ш ае к я о от бе нриаж , в те ч н и ь п о д с ка з я з а д екр ж о ко м п о н е т
т ( Ac t i ve = Tr u e ) и л я п о д с ка з к е ко т р о г
и з ап р е щ ае
т ( Ac t i ve = Fa l s e ) о от б ерн аиж
е
и ' о уакз етл
ь м ы ш
и едо лж
н о с атвсь
я непод вн иы жм
, чотб
а и о от бе рн иаж а н а д р у г о
я п о д с ка з й
и п о с л
е п е р м е щ е н и
я уакз етл
я м ы ш
и
ы
оК м п о н е
П осл
е от г
с та н о в и тс п о сд к а з к и
т Pane!
\ F j f zyxwvutsrqp
т добавле н в м ро у ф , у диг ру х к о м п о н е н от о ка к к о м п о н ен т е д уб я опд су т н ы м с в о й с тв о T o o lT ip , к о т р о е и о п р едляе т те к с .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
в т
т Panel
не ом п Ко
К о м п о н ен т P a n el п р есдатв ляе т со б й к о н те й н е р п о з в о ляе т л е гк о пу р а в л ят ь к о м п о н е н та м и , к о т р ы С мы с л со сти т в том , ч т о к о м п о н ен ыт , н ояащдх и ес вст а к о м п о н е н т а P a n el. Н а п р и м е р , чотб ы с е лд а т н ен т ы н а п ан ел и , до с ат о ч н о п ри свои т ь з н ач ен и п ан ел и . С вой вст а к о м п о н ен т а P a n e l п р и в едн ы в Та б л и ц
а 5 . 6 т Ос но в ны
Сво й с т в
о
Name B o r d e r S t y l e BackGroundlmage En ab le d V i s i b l e Dock
Fo nt A u t o S c r o l l
е с в о й с вт
оКм м е н т а р и
а комп о н е т
Им я ко м п о н е та е г о с в о й с вт а
дл я дигру х к о м п о н е н от в и е н а о х яд с т я н а п ан ели . я н а п ан ели , zyxwvutsrqponmlkjihgfedcb нуют де лас свой ь н п о уе д с н т ы м и вс е ком п о е F a l se свой ст у E n a ble d табл . 5.6.
а Panel
й . Эт
о и м
я и с п о лзьуест
я дл
я д о с туп
а в п р о г р ам м
е к ко м п о н е т
у и
м
В и д гр ан и ц ы п анел и - о б ы нча я р ам к а ( Fi x e d s i n g l e ) , «оем бняаъ » гр ан и ц а (Fixed3D ), н е т рган и ц ы (None) По з в о л я е т задт ь фон в ы й рисун о к п ан е ли . В о з м но ж о и с п о лзьо в ан и е форм аот в Ьтр , jpg , png, g if и ico Св о й с в т о п о з в о ляе т с делат ь д о с туп н ы м и ( Enab led =Tr ue) ил и н е до с утп н ы м и ( Enab led =False) вс е ко м п о н е ты , ко т р ы е р аз м е щ е н ы н а панел и С в о й с вт о позволяе т о от ба р ж ь ( v i s i b l e = T r u e ) и с рк ы в ат ь ( Vi s i b l e = Fa l s e ) п на е л ь пО р е д л я е т границ у форм ы , к ко т р о й «п р и кеп л на » п анель . Пнаел ь м е о ж т б ыт ь п р и к е п ле н а к в е р хн е й (То р ) , нн еи ж й (Bot t om ), ле в о й ( Le f t ) ил и п р ав о й ( Ri g h t ) гр ан и ц е фор м ы , з а н и м а т ь вс ю форм у ( F i l l ) л и б о б ы т ь н е з а в и с и м о й (None) Зад е т ш ри ф т п ан е ли . В с е э ле м е ныт , р аз м е щ е н ы е н а п ан е ли , б уд т имет ь у ка з н ы й ш ри ф т Пр и з н а к н е о б хо ди м о с т и о от ба р ж ь ( Au t o S c r o l l = Tr u e ) п о л с ы п р о кр у тк и в с луаче , е с л и ко м п о н е ты , н ахо дящ и е с я н а п ан е ли , н е м о г у т б ыт ь вые д н ы п о л н с ьт ю
И з п ер ч и с лен н ы х в таб л . 5.6 св о й ст в н а с в о й с вт е D ock. Э т о с в о й с вт о п о з в о ляе фо р м ы . В резльуат е п р и в яз к и п ан ел а в от м а ит ч е с к и м е н я ест . Н иж е н а р и с . 5.5 п р и в едн о о к н о п р о г ам ы о с б ен н о с т и и сп о ль з о в ан и я к о м п о н ен т Н а п ан ел ь п ом ещ ен ы р а з л и ч н ы е к о м п о н е н ыт п ан ели , н а к о т р о й р а с п о л а г ю ст я . П р о гр а м п ан ели , а атк ж е с едл а т ь е е од п с у т н о й
бо ле
е п орд бн т «п р и к р еп и ьт и к гр а н и ц
о се у дл е фо р м
, дем он срти ю у щ е а P a n e l. . Вс е о н а п о з в о ляе и л и н е о д сп у т н о й
т о сатн о в и ьт с » п а н ел ы раз м е
я ь к гр а н и ц р п ан ел
е и
й н ек о т р ы и ню уасдле т и з м ен и т . С р о тв е с тв е н н о
т с в о й вс т ь ш ри ф
е а т ,
В А ГЛ
А 5 •ы н в о Он с
е т не мо п к
ы пр и и на в пм ор иг о р
и л д я .NETzyxwvutsrqp
1 р отС к
а те кс т
а
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM Г " к о р т С е тс тк е а V тс к е т а ко р т С
• • • ..'• р отС к
7. Св т с й о в
Рис
и з м е н я е тс О с о б ен н о с т Лист ин ко м п о н е т
я ш ри ф и и сп о ль з о в ан и
е те кс т
о Enabled
. 5.5 т Ис п о лзь в ани
т и допсут н о ст
а
; ]Ск о р т
Выб о
а а тс к те
р шт фир
а
j j
а пнела
и
а Panelzyxwvutsrqponmlkjihgfedcba
е ко м п о н е т
ь к о м п о н е н то в я к о м п о н ен т
, р а с п о л ж е н н ы а P an el п о к аз н
х н а п ан ел и е 5.3.
ы в л и сит н г
.
г 5 . 3 т Фр а г м е н т п р о г р а м м ы , д е м о н с тр и р ую щ е й о с о б ен о с т и и с п о л зь в а н и я а PanelzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
//Свойст Enabled панели. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML procedurezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA TWinForml.CheckBoxl_Click(sender: System.Object; e: System.EventArgs); begin Panel1.Enabled:=CheckBoxl.Checked; end; //Свойст Font панели. procedure TWinForml.Button2_Click(sender: System.Object; e: System.EventArgs); begin FontDialogl.ShowDialog; Panell. Font: =FontDialogl.Font ; end;
н е н о мп Ко
т Checkbox К о м п о н ен т CheckBox явлсет я п е р к л ю ч е ал т м но д м и з дув х со стян и й : вы бран о м ил а тн о в л е н о м и л и н е уаснт овлен ом ) . Ро дя с я п оясн яю щ и й ек тс . С в о й с вт а к о м п о н ен т а C heckBox р е к л ю ч а те л я и з м е н я е тс я в р е з л ьу а т з н ач ен и е с в о й с вт а AutoC h eck р а в н о
, к о т р ы и н евы бран о м с п ер клю чеалт
й м ож е м (и н дог
т н ио д аь х т с а ещ м обы ч н
п р и в едн ы в ат б л . 5.7. С о с т я н и е щ ел ч к а п о ег о и з о б р а ж ен и T r u e ) . П р и э от м в о з н и к а е
я в ус -
е го в р ят о и н од т ха
-
е пе ю (есл и т с о б ы ти е
т CheckBoxzyxwvutsrqponmlkjihg
о м К п ео н
C h eckedC h an ged, п о т м - с о б ы ит t o C h eck р а в н о F a l se , т о в резльуат с о б ы ти е C l i c k , а з а етм , есл и п р о ц реуд с о т ян и и кн оп ки , в о з н и к ае т со б ы ит
Св о й с т в
оКм м е н т а р и о
Name
й
Им я ко м п о н е та и е г о с в о й с вт а
Te xt Checked
Те к с т С в о й с вт п е р л к ю е ча т
т
Visible
о и м
я и с п о лзь уе ст
я до с утп
а в п р о гр ам м
е к ко м п о н е т
, р ас п о л аг ю щ и й с
я с п р ав а о т фк лаж , в ка ко м с о с то я н и , т о з н аче н и е с в о й с вт
о о п р е д ляе т ь в ы б р ан
е кн о п к
и в п о л
, д о с туп е
а и наох дист а р авн
я пер лкюеачть о Tr ue, е с л
н л и п ер лкю ечат
и н - Fa l s e
ь (Enab led =True) и л
ь ( v i s i b l e = Tr u e ) и с рк ы в ат е ко м п о н е т
. с л Е и н е вы б р а
и не
т
ь ( v i s i b l e = Fa l s e )
а
е Пон и л ж е к а р ти н к и в п о л е ко м п о н е та . Св о й с вт о м е о ж т п р и н м ат ь с ле дую щ и е 3Ha4eHHH:'MiddleLeft, M iddleC en t er, M iddleR igh t, TopLef t , TopC en ter, TopR ight, Bottom Left, Bottom C en ter, Bottom R igh t а К р ит н к а , о п р е д ляю щ а я фо н ко м п о н е т а На б о р кар ит н о к , и с п о лзьуе м ы х д л я о б о з н аче н и я разлинчы х с о с то я н и й кн о п ки . С в о й с вт о с о д е ир ж т с с ы лк у (и м я ) н а ое кб ъ т ти п а Im ag e Li s t Но м е р (и н де кс ) кар ти н к и и з н аб о р а Im ag e Li s t С в о й с вт о о п р е д ля т в и д п е р клю чает ля . Пер лкю ачт ь ме ож т б ыт ь о б ы чн м
Backgroundlmage ImageList Im ag elnd ex Ap p earanc e
(Normal) и л AutoChec k
и в ы п о лн е ы
м в в и д
С в о й с вт о о п р е д ляе т , б уде п е р л к ю еча т я в р езатуль э то г о с в о й с вт а ус атн о в ле н Зад е т с итл ь п е р лкю чаетля п л о с ки м ( Fl a t ) и л и «вс плывающ и м п р и нав е д ни и н а п е р клю чаетл С в о й с вт о о п р е д ляе т , б уде П о ум о лчан и ю з н а че и е с в о й с тв
F l a t S t y l e Th r e e St at e
я п р о гр а м е 5.4) емд он срти е у т в ы ч и сли т т п р о г р а м м
ь соти м ост
а (е е ф о р м т и сп о ль з о в ан и ь з ак з ы в ы чи с ле н и
е кн о п к
и ( B u t t o n )
т л и ав от м аит че с к и и з м е н ясьт я с о с от ян и е щ е л кч а п о е г о и з о б ер на жи ю . П о ум о лчани о в Tr u e . Пер лкюечат ь м еож т б ы т ь с атн д р ты » (Popup). Ситл ь о т бе н р и а ж ь уакз етл я м ыш и т л и и м е т ь п ер лкю ечат ь тр и с о с то я н и я а ус атн о в ле н о в False
а п р и в ед н
я с то и м о с т
ю з н аче н и
.
. и з а к з
е
м (Norm al), я
я п р о яв л ест
а н а р и с . 5.6, а те к с а CheckBox. П ро г ам
е к ом п он ен т а в к афе
е
а
u n i t Wi n F o r m l ; i n t e r f a c e
у
П о е лн и ж е те кс т а в п о л е о от б ерн аиж я те кс та . Св о й с вт о м е о ж т п р и н м ат ь с ле дую щ и е з н аче н и я : M i d d l e Le f t , M i d d l e Ce n t e r , M i d d l e Ri g h t , Top Lef t , To p Cent er , TopRigh't, B o t t o m Le f t , BoCtomCenter, B o t t o m Rig h t а К р ти н к а , о от баерм ж а я в п о л е ко м п о н е т а
Image ImageAlign
г 5 . 4 т Те кс
я дл
м
Пе о н л и ж
CheckAlign TextAlign
ю С у л де щ а
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED . Эт
С в о й с тв о , о п р е д л яю щ е (Enabled=False) С в о й с вт о п о з в о ляе т о от ба р ж п ан е л ь
Enabled
Лист ин
т
а 5 . 7 • ОzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA с но вны е с в о й с тв а ко м п о н е т а Chec kb ox
Та б л и ц
ли ст н г п о з в о л яе
е C l i c k . Е сл и ж е з н ач ен и е с в о й свт а иА е щ ел ч к а н а п е р к л ю ч а етл е воз н и к ае а о б р а б о тк и э то г о с о б ы ти я и з м ен и е C heckedC hanged.
>
т - в а
ВЛАГ
А 5 • Оынвос
е ком поне т
ы пр
и прога м м ирова н
я .NETzyxwvutsr
и дл
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPON за к ; • zyxwvutsrqponmlkjihgfedcbaZYXW ;: • ; Н Е М Ю zyxwvutsrqponmlkjihgfedc Г * По в р е е д ю бя о I: . ' Г " а т лбеор тВ о ;:; '. zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFED
стуйа ,а л жо П
а т й е е л сд
| :
З
ь
н в
а ComboBox
//zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Процедуа выставления итогвй оценки за тест. zyxwvutsrqponmlkjihgfedc procedure TWinForml.Buttonl_Click(sender: System.Object; e: System.EventArgs); var mark:integer; // Оценка за тест. begin
ен о п м о К
т zyxwvutsrqponmlkjihgfedcbaZ ListBoxzyxwvutsrqponmlkj
//zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Ввод начльног значеия оценки // (каждый неправильый отве уменьшат ее на 1). mark:=5; // Провека ввода всех отвео в ComboBoxl- СотпЬВхЗ. if (ComboBoxl.Selectedlndex=- 1) or (ComboBox2.Selectedlndex=- 1) or (СЗхоВЬш . S electedlndex—l)zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML then begin MessageBox.Show('Необхдим о указ т ь вс е ' ытев о , 1 кбишО а пр и ввод е даных' , MessageBoxButtons.OK, MessageBoxIcon.Information); Exit; end; // Формиване оценки. if ComboBoxl.Selectedlndex3 then mark:=mark- l; if ComboBox2.Selectedlndex2 then mark:=mark- l; if СхоВЬт З .Selectedlndexol then mark:=mark- l; Label5.Text:='Вша а оценка : '+mark.ToString; and;
П р о гр а м а р а б о та е т с л ю е уд щ и м образ ом . И з н а ч а л ь н о в п е р м е н н юу кот ра я бе д у т с о де р ж а т ь о ц ен к у , з а н о с и тс я з н а ч е н и е 5. З а те м о сщ у е с вт л е с п ро в ерк а - бы л и л и в ед н ы да н н ы е в о вс е п ол я д л я в о да . Д л я э то г и с п о л ь з е у тс я с в о й с тв о I t e m l n d e x к о м п о н е н т а ComboBox, к о т р о е с о ед р ж и т - 1 , е с л и э л е м е н т сп и ск а н е в ы б р а н . В счлау е о ст ув и я ох т я б ы о д н о г о тв е т а в ы в о д и тс я и н фо р м ац и о н н о е с о б щ е н и е и п р о и з в о д и тс я до с р о ч н о з ав ерш ен и е п р о ц е д ру ы . Е с л и в с е о тв е т ы в ед н ы , т о о с щу е с тв л я е тс я по с л е д о в а те л ь н о е ср ав н ен и е в едн н ы х о тв е то в с п р а в и л ь н ы м и . К аж ыд й не п рави ль н ы й о тв е т му ен ь ш а е т о ц ен к у (з н а ч е н и е п ер ем ен н о й m ark) н а иед н ицу .zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
, я о о е
т ListBox
н е н о мп Ко Дан н ы й к о м п о н е н ж е т вы би рат та б л . 5.12.
ь н ж ну ы
т п р е дс та в л я е й э лем н т
т соб . О с н о в н ы
й сп и сок е с в о й свт
, в к о т р о а к о м п о н ен т
м п о л ь з о в а ет л а п р и в ед н
ь мо ы в
-
В А ГЛ
А 5 т О с но в ы
е к о мпо не нт
ы пр
и п о р а г ми о р в а н и
и дл
я .КЕ
Т
а 5. 12 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA • О сн о в н ы е с в о й с вт а к ом п он ен т а List Bo x
ц а би Т л С о в йс т
о
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA м Ко теианр й zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK
Им я ко м п о н е та , и с п о лзьуе м о е дл я до с утп а в п р о г р а м м е к ко м п о н е т у и е г о с в о й с тв а м Items Эле м е н т ы с пис к а - ко л е кц и я с тр о к Items.SelectedlndexzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Но м е р э ле м е нат , ко т р ы й в д ан ы й м о м ен т вы б р а н в с п и с к е . Есл и в ы б р ан о г о э ле м е н т а нет , т о з наче и е с в о й с тв а р ав н о - 1 Items.Count бО щ е е о к л и че с в т о э ле м е нот в с п и с к а Sorted Пр и з н а к н е о б хо д и м о с т и ( So r t ed =Tr ue) с о р ти р о в к и э ле м е нот в ко л е кц и и п о с л е до б ав ле н и я о че р д н о г о э ле м е н т а SelectionMode С в о й с вт о о п р е д ляе т ри е ж м в ы б о р а э л е м е н от в с п и с ка . Ме о ж т п р и н м ат ь с ю л еу д щ и е з н ач ен и я : One - отль к о ои д н э л ем н т , M u lt iSim p le - воз м ож е н в ы бо р н секоль и х э л ем н от в , M u lt iE xt en d ed - расш и рен ы й в ари ан т вы бор а н е с ко л и ь х э ле м е нот в с п и с ка . В п о с ле дн м с алуч е н е с ко л ь о э лем енот в м нож о в ы б и р ат ь аи т е н ж м лк а в и ш и Ctrl, а такж е в ы б и р ат ь д и а п з о н с п о м о щ ь ю оа т н ж й лк а в и ш и Shift Пр и з н а к н е о б хо ди м о с т и в с е г д а о от ба р ж ь в е р и т а к нл ь у ю пол с у п р о кр у тки . ScrollAlwaysVisible с лЕ и с в о й с тв о р ав н о False , т о п о л с а п р о кр у тк и о от басьр ж я н е б удет , в р е за т у л ь е че г о н е б уд т о от басьр ж я н е ко т р ы е э ле м е н т ы с п и с к а Пр и з н а к н е о б хо ди м о с т и о от ба р ж ь с пис о к в н е с ко ль о .кол н к . оКли чес вт о MultiColumn ко л н о к з ав и с и т о т ко ли че с вт а э ле м е нот в и р аз м е р а ко м п о н е т а Font Ш р ти ф , и с п о лзьуе м ы й дл я вы во д а э л е м е н от в с п и с к а Location.X, С в о й с тв о , о п р е д ляю щ е е п о ел н и ж е ко м п о н е т а н а п о в е р хн о с т и форм ы Location.Y Size.Width Р аз м е р ком п он е т а с уочет м (дл я ит п а sim p le) и л и б е з чтеу а (дл я и т п о в Size.Height DropDown и D ropD ownList) р а з м е р а о бласт и сп и ск а и л и о бласт и в в о д а
Name
С п и со к , о т б р аж ем ы й в п ол е р еда к ит р о в а н и я , м о ж н о с фо р м и р о в а т ь ка к п р и с о з адн и и фо р м ы , ат к и п р и в ы п о л н ен и и п р о г ам ы . В п ер в о м сча ул е н е о и бд х м о щ лекн т у ь п о к н о п к е с тр ем я точ к ам и в п о л е свой свт а Items и в о к н е р е ад к о т р а св о й ст в S tring Collection Editor (р и с . 5.11) в ес т и э лем н т ы сп и ска . В о в от р м счалу е н ео бихд м о в ы з в ат ь уж е з н ак о м ы й н а м м ое т д Add свой свт а I t em s. Д але е п р и в едн а п р о г ам а , дем он рсти ю у щ а я п р и м е р и сп о ль з о в ан и я эот г о к о м п о н е н ат . П р о г ам а п р о с м арт и в а е т фа й л ы и з о б р а ж ен и й , н оящадх и с х я в в ы бр ан н о м к атло ге . Ф орм а п рогам ы п р и в едн а н а р и с . 5.12, а тек с т - в л и сит н г е 5.7. П р о г ам а рабоет т сю щу деил м образ ом . Э лме н т ы сп и ск а L ist Bo x зпа ол н яю с т я в о врем я вы п олн ен и я п рогам ы . З ап о лн яе т сп и со к к о м п о н ен т а L ist Box п роц уде а обра окт и собы ит я Load фо р м ы . Дл я дп у тос а к вы бран о й п ап к е и сп о ль те з у я объке т D i r e c t o r y I n fo . С п и со к фа й л о в п авсртлед н в ви д е мис а в а F i l e l n f o . Ф орм и еру т м ас и в м оет д G e t F i l e s . Дл я о т б р аж ен и я фа й л о в
е н о п мо К
Зе н и
т (С- т кн а
П еребгут
)
I O K O M C T W ( М о с к в а
а рт п С К СЦ э
от - ру та рК ы л ь
си Р
к (М о с вка А (М о с вка р (Воглрда н (Рма енсок я Со тев
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
)
) ) ) в (Сам ар
. 5 . 1 1 т Вов
]
д эо мтен л
в сиспк
а с пмощ ь
ю он к
а
в String Collection Editor
а с в о й с т
. 5 . 1 2 • Фо р м
и з о б р а ж ен и й и сп ольтез у фа й л а в сп и ск е щ о с у в е ля т dexChenged, котр е п рои дсх р ем щ ен и я улекзат я тщ укге
Vjfzyxwvutsrqponml
]
р е д а ко т р
Рис
т ListBox
а п р о г р а м м
я к ом п он ен т п р о ц у де т в рта ьл зеу о элмен т
ы п р о с м о тр
а и з о б ер на жи
т P ic t u r e B o x. Оотбр аж ен и а о бра кт и со бы и т е щ чкле а п о эмнел т а сп и кс а п р и п омщ и квиал
й
zyxwvutsrqponmlkjihgfedcbaZY е вы бран ог о я Select ed ln у сп и кс а и л и пе ш кры увиалт .
АВ Л Г
Л с ти н
А 5 V Оы н во с
е тено кп ом
ы пр
и и наов ри м а пр ог р
и дл
я .NETzyxwvutsrq
е Т т пм арго ы дл я псомр т а ине иж аобрз й г 5.7 т с кzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA unitzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA WinForml; , interface uses zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data, System.10, Borland.Vcl.SysUtils;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI
type TWinForml = clase(System.Windows.Forms.Form) {$REGI0N 'Designer Managed Code'} strict private Components: System.ComponentModel.Container; ListBoxl: System.Windows.Forms.ListBox; Label1: System.Windows.Forms.Label; PictureBoxl: Systern.Windows.Forms.PictureBox; procedure InitializeComponent; procedure TWinForml_Load(sender: System.Object; e: System.EventArgs); procedure ListBoxl_SelectedIndexChanged(sender: System.Object; e: System.EventArgs); {$ENDREGION} strict protected procedure Dispose(Disposing: Boolean); override; private { Private Declarations } public constructor Create; end; [assembly: RuntimeRequiredAttribute(TypeOf(TWinForml))] implementation var current_dir:DirectoryInfo; //zyxwvutsrqponmlkjihgfedcbaZYXWVU Содержит информацию о катлоге . dir_files:array of Filelnfo; // Содержит информацию о файлх // катлог. {$AUT0B0X ON} procedure TWinForml.Dispose(Disposing: Boolean); begin if Disposing then begin if Components nil then Components.Dispose(); end;
ен о п м о К
т ListBox zyxwvutsrqponmlkjih
inheritedzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Dispose(Disposing); end; constructor TWinForml.Create; begin inherited Create; InitializeComponent; end; procedure TWinForml.TWinForml_Load(sender: System.Object; e: System.EventArgs); var i:integer; //zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Счетик цикла. num:integer; // Пермная для хранеия количества файлов // в катлоге. s:string; // Пермная для хранеия имен текущго катлог. begin // Узнаем текущий катлог прогамы. s:=GetCurrentDir(); // Создаем объект типа Directorylnfo. try current_dir:=DirectoryInfo.Create(s+'\Photos\'); except On e:Exception do begin MessageBox.Show(e.Message) ; end ,end ; // Читаем файлы *.jpg из подкатлг photos. dir_files:=current_dir.GetFiles('*.jpg') ; // Запомине количеств найдеых файлов. num:=length(dir_files) ; // Устанвлием признак необхдимст сортивк в True. ListBoxl.Sorted:=True; // Добавляем найдеы файлы в ListBox. for i:= 0 to num- 1 do ListBoxl.Items.Add(dir_files[i].Name); // Ставим указтель на первый элемнт спика. ListBoxl.SelectedIndex:=O; end ; // Процедуа отбражения текущго элемнта спика (файл) // в компнет PictureBox. procedure TWinForml.ListBoxl_SelectedIndexChanged(sender: System.Object; e: System.EventArgs) var str:string; begin
>и г
А zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA S • Основн ы е к о м п о н е н т ы пр и прога м м ироав н и дл я .NETzyxwvutsrq
В ЛА Г
муеир м р о Ф пе он л о я им а,йл фа й ы рк т о бме уд оать.ажр бто / / zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA str:= curren t_dir.F ullN am e+ ListBoxl.Selecteditem .ToStrin g() / / и м с а он З это ия м в тйвсо Image тнеапо км о PictureBox. P ictureBoxl.I m age:= System .D rawin g.Bitm ap.F rom F ile(str); zyxwvutsrqpo end; end.
Р зле а ь т у
т р а б о т
ы п р о г ам
В ы б ер и т дл я про с м орт
си Р
ы п р и в ед
е Фи орфгат
. 5.13.
ю е
. 5 . 1 3 т а т ь л у з е Р
н е н о мп Ко
н н а р и с
т ртоб а
ы пм ар го
ы сомрп т
а ин ие ж аборз
й
т CheckedListBox Э то ох д и т с
т к о м п о н е н
Та б л и ц Сво й с т в
т та к ж
, о дн а к
я п е р к л ю ч а те л
е я в л я е тс я сп и ском ь C heckBox. С в о й с тв
а 5 . 1 3 т Ос но в ы
е с в о й с вт
а Chec k ed List B o x
о
Name
а ко м п о н е т
оК м м е н т а р и Им с в о й с тв а
It e m s
Эле м е н т
11 ems. Count
бО щ е
о п е р е а к о м п о н е н т
д к а ж ды а п р и в е д н
м е г
о элем е н то ы в та б л
м на . 5.13.
й я ко м п о н е та
, и с п о лзьуе м о
е дл
я д о с ут п
м ы с пис к е ок л и ч е с в т
а - ок л ецк и
я с тр о
о э л е м е нот
в с пис к
к а
а в п р о г р а м м
е к ко м п о н е т
у и ег о
т zyxwvutsrqponmlkjihgfedcbaZYXW P ktureBoxzyxwvutsrqponmlkjihgf
ен о п мо К Та б л и ц
а 5 . 1 3 т Ос но в ны
С во й с т в
е с в о й с тв
а ко м п о н е т
о К м м е на р т и о
Chec k OnClic k
Checkedltems Checkedltems.Count Checkedlndices Sorted
ScrollAlwaysVisible
б п о м е тк и н а э ле м е н
в с п и с ка . Есл и с в о й с вт т с п и с к а п р о и з в о д и тс я е г о выб о и ж е с в о й с вт о ус атн о в ле н о в . с лЕ т в ы б о р э ле м е н т а с п и с ка , а и з м е н и о п р и п о в то р н о м ниат ж и н а элем е н т с п и с к , с о даще р ж а я в ы б р ан ы е э ле м е н т ы с п и с к о в ы б р ан ы х э л е м е н от в с п и с к а , с о даще р ж а я но м ер а выб ран ы х э л е м е н от к н е о б х о д и м о с т и ( Sort ed =True)с о р т и р о в к я о че р д н о г о э ле м е н т а
Location.X, Location.- Y Size.Width Size.Height Font
и э ле м е н от
о о п р е д ляе е з н а че н и я х э ле м е нот ь аи т е н ж й лк а в и ш к н е о б хо ди м о с т и с в о й с тв т п р и в е с т
и в с е гд а оотаб р ж о р ав н о Fa i s e , т о пол с и к то м у , чт о н е буд
к н е о б хо ди м о с т к з а в и с и , о п р е д ляю щ е
я сп и со м р е д а к то р м модет
не мо п Ко
в с п и с к
а
и э ле м е нот
ь в е р и т а к нл ь у а п р о кр у тк
в ок л е цк и
к в несколь в и разм е р
ь с пис о
т о т ко ли че с вт
а э ле м е нот е п о е нл и ж
ю пол с и о от басьр ж я н е ко т р ы
т о от бсаь р ж
и о от ба р ж
а Рз м е р ко м п о н е т а с учеот м (дл DropDown и Dr o p Do wnList ) р аз м е р Ш р ти ф , и с п о лзь уе м ы й д л я о от б ерн аиж и э ле м е нот в с п и с к а
Ф о р м и р е с ут
о ус атн о в ле н о в T r u e , т о п р и р и изм е н и е к аж фл а F alse , т о пр и ниат ж и е с о с то я н и я п ер лкю ечат я а а
и по с л
е
т ри е ж м вы б о р а э ле м е нот в с п и с ка . Ме о ж т п р и н м ат ь о о д и н э ле м е н т , M u l t i s i m p l e - в о з м е о ж н : One - то лкь х э ле м е н от в , M u l t i Ex t e n d e d - р ас ш и р е н ы й вари н т вы б о р а м с луча е н е с ко л ь о э лем енот в м но ж о в с п и с к а . В п о с ле дн м лка в и ш и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH Ctrl, а аткж е вы б и р ат ь д и а п з о н с п о м о щ ь ю и Shift
р н е с ко лиь
Пр и з н а ко л н о С в о й с вт о
MultiColuinn
и сп о ль з о в ан и е п о ль з о в ан и е
Пр и з н а с лЕ м еож
)
й
Сп о с о аит н ж п е р лк ю ч а е т л я п р о и с хо д и о т лк ь о К л е кц и я о К л и че с в т о К л е цк и я Пр и з н а до б ав ле н и С в о й с вт с ле дую щ и выб о н е с ко л и ь в ы б и р ат оат н аж
SelectionMode
а c h e c k e d Li s t B o x (о ко н ча и е
е ко м п о н е т я ти п
а s i m p l e ) ил а о б лас т и с п и с к я с о д е ир мж о г
у п р о кр у тки я н е б уде т е э лем ент
о ко л н о к а ко м п о н е т а н а повер хн о с т
. , чт о ы с п и с к а
. оКли че с вт
о
а и о рф м
и б е з уче т а (дл я ти п о а и л и о б лас т и в од о по л я р е д а к ит р о в а н и
ы в а я
к C h e c ke d L ist B o x атк ж е м ву д я сп о с бам и - л и б о с а свой ст в S tring Collection Editor, л и б о с ис а Add свой свт а I t em s.
т PictureBox К о м п о н ен н су к а)
. С в о й свт
Та б л и ц
а 5 . 1 4 т сО н о в ы
С во й с т в
о
т P ic t u r e B o x о б ес п еч и в а е а к о м п о н ен т а п р и в едн е с в о й с вт
т о от б р аж ен и ы в табл
о К м м е на р т и
Name Image
И л ю с рт а ц и я
и (фай л
а ри
-
а Pi c t u r e B o xzyxwvutsrqponmlkjihgfedcbaZYXWVUT
а ко м п о н е т
я ко м п о н е та и е г о с в о й с тв а
е и л ю сртац и . 5.14.
й
Им
, и с п о лзьуе м о
е дл
я до с утп
а в п р о г р а м м
е к ко м п о н е т
м , о от баерм ж а
я в пол
е ко м п о н е т
а
,
у
ВЛАГ
А 5 т ынвосО
е ком поне т
ы пр
и прога м м ирова н
и дл
я .NET
а 5.14 т ыzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Он во с е св сйот а тм онекп а PictureBox (оеин а чно к ) zyxwvutsrqponmlkjihg I
ц л и аб Т Св о й с т в
о
оК м м е н т а р и
Im ag e. p h y s i c a l D i m e n s i o n
С в о й с вт
й о с о д еи р ж
т ио нр фм ац и в по л
ю о р а з м е р е ко м п о н е т
е и л ю с рт ац и
, з аегрн ужо
й
а
SizeM ode
Сп о с о б о то б ер наиж я ка р ти н ки . Сущ е с втуе т че ыт р е ри ме ж а о от бе рн иаж я а т к н аз ы в ае м ы е с п о с о б ы м ас ш таб и р о в ан и я . No r m al - о б ы нч й р ие мж , б е з м а с ш та б и р о в а н и я , s t r e t c h l m a g e - м ас ш атб и р о в ан и е кар ит н к и д о р аз м е р а о б лас т и о от б ерн аиж я ко м п о н е т а Pi c t u r e B o x (е с л и разм е р к а р ти н к и н е п р о п о р ц и о н ал е н разм е р у и л ю с тр а ц и , т о о н а б уде т и с е н ка ж ) , Au t o s i ze - р а з м е р ко м п о н е т а авот м аит че с к и и з м е н я ст я д о р аз м е р о в ка р ти н ки , Ce n t e r Image - ц е н рт и р о в ан и е кар ит н к и в по л е о т б е р н аи ж я ко м п о н е та , е с л и р а з м е р и л ю с рт ац и и м еншь е разм е р а о б л ас т и о от бе рн иаж я
B o r d e r S t y l e
В и д гр ан и ц (о б ы чн ая)
ы ко м п о н е та , Fixed 3D («оем бняаъ
: None (г р а н и ц » гр ан и ц а
Lo c at i o n . x , Lo c a t i o n . Y
С в о й с тв о
, о п р е д ляю щ е
е п ое нл и ж
S i z e . w i d t h S i ze . H e i g h t
Ра з м е
v i s i b l e
Пр и з н а и з о б е р н а иж я
' Gr ap h ic s
о Чт б ы зта д ь Image щ кнлте у ь и з о б р а ж ен и я . Добавлне о Delphi и п ом ещ ен и з о б р а ж ен и я на и рктна у в о врем F rom F ile (дослвн и м я м ж е оа г з р у
П о в е р хн о с ь т
р ко м п о н е т
а о ст у вт уе )т ) е ко м п о н е т
, Fi x e d S i n g l e а н а п о в е р хн о с т
и о р мф
ы
а
к н е о б хо д и м о с т
и о от бе рн иаж
я ко м п о н е т
а (и , с о вт е с вт е н о
,
) , н а ко т р у
ки ртна к н а кн оп к
ю м н о ж
о в ы в о ди т
у в о врме я диз ай н а форм ы е с трем я точкам и и в п овяи ш мес е таки м образ о м в форм у о в фа й л р се о у в п р о е к ат м б о ль ш е н е п о н а о д б и с тя . Елс я вы п олн е и я п рогам ы , т о се у дел о - «И з фай л») . В качвест е п а р м ет о в P ict u reBo x афй л . Н ап р и м ер
ь гир акф
у
zyxwvutsrqponmlkjihg
, ниодембх
о в срокт е свой ст а я окн е вы брат ь фай л и з ображ ен и е бе д у т обранот о . С о втес н н о , ас м фай л и ж е п с ор е т б у я ж з ат р у г ь т восп льз овсат я о д мт е м а жн у о укзат ь п олн о е , и н кцруст и я zyxwvutsrqponml
PictureBoxl.Image:=System.Drawing.Bitmap.FromFile('d:\example.bmp1)
з а рг у и т и о от б р а з и т в к о м п о н ен т е P ic t u r e Bo x фа й л d:\ example.bmp. К омп н ен т м ож е т о тбр аж т ь н е то л ь к о фай л ы фо р м ат а bmp. Дан ы м модет м мжо н о а тк ж е з ж а рг у т ь фа й л ы jpg, gif, png. П о м н и те , ч т о п р и з агру к е и з о бр аж ен и я к о м п о н ен т P i c t u r e B o x н е о б ес п еч и в ае т п ро п о рц и о н аль н о г о м асш атби р о в ан и я (б е з и с к аж ен и я) . В кв часте е п ри ме а можн о п ри вест и пмуар го , ию ищру лтс ю о н с бе о т с и и с п о л ь з в ан и я комп н е т а P ictureBox. Ф орм а п роагм ы п ри невд а н а ри с . 5.14. П р и вы бор е с о в т ес ю у щ е г о п е р к л ю ч а ет л я с а ту н а в л и в а ю с т я р еж и м ы м а с ш ат б и р о в а н и я . В сег о та к и х р еж и м о в ч е ты р е : >• N ormal - м асш атби р о в ан и >• C en t er lm a ge - и з о б р аж ен и
е н е п р о и з в о ид стя е ц е н р т и р е су т я
; ;
т PictureBoxzyxwvutsrqponmlkjihgf
о м К п о ен
«то 5р»««(м жа 1 иа & а г «»в ж ч «1|ти т р а к Normal
Рис
Лист ин
. 5 . 1 4 т Фо р м
и *~
а п р о г р а м м ы
, дем о н с тр и р ую щ е
й и с п о лзь в ан и
>• S t r e t c h l m a ge - и з о б р аж ен и > A u t o S i z e - а в от м аит ч е с к о з ав и си м о ст и о т р аз м ер
а к а р ти н к и
Т ек с
н в л и сит н г
т п р о г ам г 5 . 8 т Те кс
е «п огдн сяет е и з м ен ен и
ы п р и в ед т п р о г р а м м ы
:
—^~
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML т ', f ь н ь лв нои ж ч я ар г й
Г " Centertmage *"* SttetcNmage "С Д^Дсе й
, демо н с тр и р ую щ е
» п о е р а з м ер о
а Pi c t u r e B o xzyxwvutsrqponml
е ко м п о н е т
д р а з м е в област
р к о м п о н ен ат и о от б р а ж ен и
; я в
. е 5.8. й и с п о лзь в ан и
е ко м п о н е т
а Pi c t u r e B o x
u n i t Wi n F o r m l ;
i n t e r f a c ezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHG uses zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data, System. Resources,- zyxwvutsrqponmlkjihgfe type TWinForml = class(System.Windows.Forms.Form) {$REGION 'Designer Managed Code'} strict private Components:. Systern.ComponentModel.Container; PictureBoxl: System. Windows. Forms. PictureBox; GroupBoxl: System.Windows.Forms.GroupBox; RadioButtonl: System.Windows.Forms.RadioButton; RadioButton2: System.Windows.Forms.RadioButton; RadioButton3: System.Windows.Forms.RadioButton; RadioButton4: System.Windows.Forms.RadioButton;
АВ Л Г
А 5 • ы н воОс
е те кно п м
ы пр
и и наов ри м па р ог р
и лд
я .NETzyxwvuts
RadioButton5: System.Windows.Forms.RadioButton;zyxwvutsrqponmlkjih procedure InitializeComponent; ' procedure RadioButton2_Click(sender: System.Object; e: System.EventArgs); procedure RadioButtonl_Click(sender: System.Object; e: System.EventArgs); procedure RadioButton3_Click(sender: System.Object; e: System.EventArgs); procedure RadioButton4_Click(sender: System.Object; e: System.EventArgs); procedure RadioButton5_CheckedChanged(sender: System.Object; e: System.EventArgs); {$ENDREGION} strict protected procedure Dispose(Disposing: B o o l e a n ) ; override; private P_Size : Size; //zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJI Размер компнета PictureBox, // задвемый во время создания формы. public constructor Create; end; [assembly: RuntimeRequiredAttribute(TypeOf(TWinForml))] imp 1 ement at i on {$AUTOBOX ON} procedure TWinForml.Dispose(Disposing: B o o l e a n ) ; begin if Disposing then begin if Components nil then Components.Dispose() ; end; inherited Dispose(Disposing); end; constructor TWinForml.Create; begin inherited Create; InitializeComponent; // Получаем фактичес размеы компнета P_Size.Width:=PictureBoxl.Width; P_Size.Height:=PictureBoxl.Height; end; // Режим
отбражения
- Normal.
PictureBox.
ен о п м о К
т PictureBox zyxwvutsrqponmlk
procedurezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA TWinForml.RadioButtonl_Click(sender: System.Object; e: System.EventArgs); begin PictureBoxl.SizeMode:=PiсtureBoxSizeMode.Normal ; PictureBoxl.Size:=P_Size; end; //zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Режим отображения - Centerlmage. procedure TWinForml.RadioButton2_Click(sender: System.Object; e: System.EventArgs); begin PictureBoxl.SizeMode:=PictureBoxSizeMode.CenterImage; PictureBoxl.Size:=P_Size; end; // Режим отображения - Stretchlmage. procedure TWinForml.RadioButton3_Click(sender: System.Object; e: System.EventArgs); begin PictureBoxl.SizeMode:=PiсtureBoxSizeMode.Stretchlmage ; PictureBoxl.Size:=P_Size; end; // Режим отображения - AutoSize. procedure TWinForml.RadioButton4_Click(sender: System.Object; e: System.EventArgs); begin PictureBoxl.SizeMode:=PiсtureBoxSizeMode.AutoSize ; end; картинк. // Пропциналье отбражени procedure TWinForml.RadioButton5_CheckedChanged(sender: System.Object; e: System.EventArgs); var dx,dy,scale: real; begin // Режим отображения - без масштбировня. PictureBoxl.SizeMode:=PiсtureBoxSizeMode.Normal ; PictureBoxl.Size:=P_Size; // Если ширна компнета PictureBox меньш ширны илюстраци, // то вычислть коэфицент масштбировня по длине if PictureBoxl.Width>PictureBoxl.Image.PhysicalDimension.Width then dx:=l else dx:=PictureBoxl.Width /PictureBoxl.Image.PhysicalDimension.Width;
// и высоте.
ГЛАВ
А 5 ќ Основы
е тнеопмк
ы пр и ина вор м а горп
и лд я .NET
ifzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA PictureBoxl.Height > PictureBoxl.Image.PhysicalDimension.Height dy:=1 then else dy:=PictureBoxl.Height /PictureBoxl.Image.PhysicalDimension.Height; //zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Опредлям итогвый коэфицент масштбировня н е было искажения картинк, // (чтобы // коэфиценты масштбировня должны быть одинаковым // по обеим осям). if dx160 then begin Timerl.Enabled:=False; end; на ноим мест. // Рисуем паршютис d.DrawImage(Parashut,rect.X,rect. Y) ; У / Обновляем содержим формы - прямоугльн участк формы rect). // (точне Self.Invalidate(Rect); end; // Обраотк события Load. procedure TWinForm.TWinForm_Load(sender: System.Object; e: System.EventArgs); begin // Загружем фон в объект sky. sky:=Bitmap.Create('sky.bmp'); // Изменя размер окна под разме фонвй картинк. Self.Width:=sky.Width; Self.Height:=sky.Height ; // Загружем фонвый рисунок из файл. Self.BackgroundImage:=Image.FromFile('sky.bmp1); // Загружем изображени паршютис. parashut:=Bitmap.Create('parashut.bmp');
Л Г ВА
А 6 • Из учае
м о с н о в
ы р а б о т
ы с г р иа фк о
й в .NETzyxwvutsrqponmlkjih
parashut.MakeTransparent; //zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Вводим кординаты полжения паршютис rect.X:=100; rect.Y:=10; // и размеры копируемг фрагмент. rect.Width:=Parashut.Width; rect.Height:=Parashut.Height; d:=Graphics.Fromlmage(self.Backgroundlmage); // Запускем таймер. Timerl.Interval:=60; Timerl.Enabled:=True;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJ end; end.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
П р о гр а м с о зн а д у и в ы в о ид с т п о л ж ен и я Н е о б х ди м р аз н ы м п р о с то н е о б х ид м о с т п а р ш ю ит с от м м е н я е ст р е и со в к у к о рт у
а р а б о та е т ю у сд л ще и м о браз о м . С н ач л а о б ъ ек т в ы в о ид с т я н а и графи ч еску ю п о в ернх о с т ь d, ч ер з н е к о т р о е в р ем я сит р аест я я сн о в а , н о уж е н а н ек о т р о м р а с от я н и и dy о т п ер в о н ач ль н о г о . Таки м о бр аз о м , п ар ш ю ит с т «двисяжте » в ерит к ал ь н о (р и с . 6.11). о о тм е ти ь , ч т о п ер и с о в к у фо р м ы м ожн о п р о и з в о ди т ь и сп о с бам и . М ож н о п р и м ен и т ь к фо р м е м оет д R e fr e sh - э т о н аи бо ле е й сп ос б . Н о да н н ы й м ео т д п ер и со в ы в ае т zyxwvutsrqponmlkjihgfedcbaZYX вес о к н о , а в эот м н е т и - п ер и со в ы в ат ь рт е бс у я от л ь к о ч аст ь окн а , з ан и м ае у ю , - п рям голуь н у ю о бласт ь r e c t . П о э тм у в п ро г ам е п ри я р дг о у й м ео т д - I n v a l i d a t e . Э от т м ео т д ат к ж е в ы п о л н яе т пе , н о ме у в к а ч ес вт е п а р м е тр а п ер и со в к и к у а з ы в а ес т я о б л а с ьт , ю н ад о п е р и с о в а т ь (rect). ю н ам
Ри с
. 6. 11 т Двеин ж
е б и то в о г
о о б р аз
а
З ао н м к и м с
И с п о л ьз о в а н и
е GIF- а н и м а ци
И сп оль з ован и фо р м ат и з ображ ен и й м ац и
и м луть ипла кц
и
и zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK о о в ан и
-
. я фа й ы и з о бр аж ен и й а в да н н ы
и уп рав лят й к о м п о н ен я к ардо
и о от б р а ж ен и GIF- афй л . Е сл и ес т ь н ео бихд м о ст н жу о и сп о ль з о в ат п о яс н и м н а п р и м е р Лист ин
и прие м а м
е э то г о п р и ем а п о с тр о е н о н а о со бен н о ст и гр афи ч ес к о г а GIF. Э то т фо р м а т п о з в о ляе т хр а н и т ь в о дн о м фай л е н еск о ль к , п о э то м у ег о ч а с т о и с п о л ь з юу т лд я х р а н е н и я к а др о О то б р а ж е тс
фа й л н е о б их д м о с т фа й л
я с м ынвос
л да н н о г о фо р м а т а то ч н о ат к ж е , ка к и в се о сатл ь н ы е , - с п о м щ ь ю к о м п о н ен т а P i c t u r e B o x. Е сл и не т ь п р о ц ес о м см ен ы и о от б р а ж ен и я крадов , т о з азгрук и т до с ато ч н о . П р и э от м уп р ав лят ь п ро ц ес о м см ен ы в бу д у т п ар м ерт ы ан и м ац и , задн н ы е в о в р ем я со з адн и я
ь о б ъ ек е (ли ст н
ь уп рав лят ь п р о ц ес о м о от б р а ж ен и т I m ageAn im at o r. И с п о л ь з о н а н и г 6.13).
я а н и м а ц и е э то г
, т о о о б ъ ек т
а
г 6 . 1 3 т zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA И с п о лз ь в а н и е GIF- ани м аци и u n i t WinForm ,-
i n t e r f a c ezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIH
uses zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
System.Drawing, System.Collections, System.ComponentModel, System.Windows.Forms, System.Data, System.Resources;zyxwvutsrqponmlkjihg type TWinForm = class(System.Windows.Forms.Form) {$REGION 'Designer Managed Code 1 } strict private Components: System.ComponentModel.Container; PictureBoxl: System.Windows.Forms.PictureBox; Buttonl: System.Windows.Forms.Button; Labell: System.Windows.Forms.Label; procedure InitializeComponent; {$ENDREGION} procedure OnFrameChanged(sender: System.Object; e: System. Event Args),procedure Buttonl_Click(sender: System.Object; e: System.EventArgs); procedure PictureBoxl_Paintl(sender: System.Object; e: System.Windows.Forms.PaintEventArgs); strict protected procedure Dispose(Disposing: Boolean); override; public
В ЛА Г
А 6 • Ие а чуз
м оснв
ы рбаот
ы с ио к граф
й в .NETzyxwvutsrqponmlkjih
constructorzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Create; end; imp1ementat ion uses System.Globalization;
var //zyxwvutsrqponmlkjihgfedcbaZYXWVUT Объект ImageAnimator. img_animator:ImageAnimator; образ gif- файл. gif_img:System.Drawing.Bitmap; // Бтовыйи // Уазтельк на процеду ev_handler:EventHandler ; // обраотки события // объекта ImageAnimator. // Кординаты верхнй левой p: Point; с котрй // точки, // будет происхдть вывод // анимац. {$REGION 'Windows Form Designer generated code'} procedure TWinForm.Dispose(Disposing: Boolean); begin if Disposing then begin if Components nil then Components.Dispose(); end; inherited Dispose(Disposing); end; procedure TWinForm.OnFrameChanged(sender: System.Object; e: System.EventArgs); begin // Иницруем рисоване кадр. PictureBoxl.Invalidate; end; constructor TWinForm.Create; begin inherited Create; InitializeComponent; // Создаем битовый образ gif- файл. gif_img:=System.Drawing.bitmap.Create('abc.gif'); // Иницруем указтель на процеду обраотки события , // OnFrameChanged, генриумо объектом ImageAnimator. ev_handler:=OnFrameChanged; : р = Point.Create(1,1);
о м к ан З и с
я с оснвым
и пмеир а
и цимаплкт ьу
и zyxwvutsrqponmlkjihg zyxwvutsrq
W
end;zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA procedurezyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA TWinForm.PictureBoxl_Paintl(sender: System.Object; e: System.Windows.Forms.PaintEventArgs); begin //zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Отображем текущий кадр анимац. е.Graphics.Drawlmage(gif_img,p) ; // Подгтавлием очерднй кадр анимац. img_animator.UpdateFrames; end; // Нажиме на кнопку 'Анимаця'/'Стоп'. procedure TWinForm.Buttonl_Click(sender: System.Object; e: System.EventArgs); begin if Buttonl.Text = 'Спот ' then begin // Останвлием воспризедн. img_animator.StopAnimate(gif_img,ev_handler); Buttonl.Text := 'А' яицам н ; end else begin // Начинем воспризедн. img_animat.or .Animate (gif_img, GV_handler) ; Buttonl.Text ':= 'С' пот ; end; end ; end.zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
Д ан н а я п рогам а , фо р м 6.12, в о с п р о и з в о ди т ан и м ац и ц р у ед а о б р а б о тк и с о б ы ит ц и а л и з и ре у т к уа з е л т ь н а о б ес п еч и в а ю щ у ю о т бр аж ен и р е дн о г о к ар д а ан и м ац и в о сп р о и з в едн и я ан и м ац и з и реу т п р о ц р е уд а о б р а б о тк ти я C l i c k н а к о м ан д о B u t t o n l е тп у м вы з ов а м о е дт m ate. В к а ч есвт е п а р м е рт о к ау з ы в а ю с т я б и от в ы й о б р а , обесп чи ваю щ у н а пруоц де р аж ен и е к рад а ан и м ац и
а ди ало г в о г
о окн а к о т р о й п р и в едн о н а ри нсу к е ю с п ом щ ь ю к о м п о н ен т а P i c t u r e B o x. П р о я C r e a t e лд я ф о р м ы з а г жр у е т ан и м ац и ю и и н и п руоц де , е оче • - анД ы й прим е р дем о нсрти уе т - - zyxwvutsrqpo . П р о ц е с с ; у и оени обтржа е '.','. \ '. з агр уз к • - »а *(г- л )х ч &аы ни н йоал ф в GIF. и а кит в и • * Д Л Я нлач а гро с м с гр а н а ь ^ж г е .' 1' * - кн о п к у "Ани м ац и я " и со бы й кн оп к е 1 * * * * * *. * * [' * и А м и аш я • • - . I .* ', а An iа zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONML в м ое т д з и ссы лк а Ри с . 6 . 1 2 т Фо р м а о кн а п р о г р а м м ы , ю об т д е м о н с тр и р у ю щ е й п р и м е р и с п о лзь о в ан и я . о б ъ ек т а ImageAnimator •
•
• •
•
•
•
ВЛ АГ
А 6 • Иазчуе
м овосн
ы работ
ы с гриоак ф
й в .МЕ
Т zyxwvutsrqponmlkjihgfedcb
В то т м ом ен т , кодг а н ео бихд м о в ы в ес т и о ч е р дн о й кад р а н и м а ц и , о бъ ек т I m ageAn im ate в ы з ы в а е т п руоц де , с ы лк а н а к отру ю бы л а указ н а в моет е - н а п р о ц р еу д у F ram eC h an ged) . П р о ц еруд а д е An im a t e (в да н н о м счлау F ram eC h an ged в св о ю о ч е р д ь с п о м щ ь ю м еот д а I n v a l i d a t e и н и ц и али з и еру т п р о ц у де у о б р а о кт и со б ы ит я P a i n t , к о т р а я о бесп еч и в ае т вы во д те щ ку г е о к ар д а ан и м ац и и и п о г д тв к у ю с у л ед щ ег о к а рд . О с атн а в л и в а ест я п р о ц ес с ан и м ац и и с п ом щ ь ю м оетд а StopAn im ate.
В
И з у ча е м о с но в ы е ко м п о н е н т ы п р и п р о г а м м и р о ва ни и дл я Win3 2 zyxwvutsrqponmlkjihgfedcbaZYXWV э то п о ль зю у ст
с я н еу т о сн о в н ы н а ч и н а ю щ ег к о м п о н ен а т окн в к ал д Ча с т р а с м о рт е н робн о т е лва г щи
й лга в
е п р и в едн о оп и сан и е осн овн ы я л д я с о з ад н и я п ро г ам м н а п л а тф о р м т п р и в о ид ьт с я п р и м ер ы п р о г ам в е 5, з есд ь бу д у сзра у н есколь к о к о м п о н ен отв . П р и эот м о сн о в н о , н аз в ан и е к о тр г о в ы н ес н о в з агол во к раз елд е свой сат , ортаж ю щ и е с п ец и ф к у ком п он ен т о п р о г ам и ст а н аи бо ль ш и й и н ет р с х м ожн о н ай т и в сп рав о ч н о й с и е мт О сн овн ы е к о м п о н ен т ы р а с п о л а г ю ст я н а в к лад а Tool P alette. Н е к о т р ы е п о л ез н ы е к о м п о н ен т х - в эот м сча ул е я бд у у указ ы ват ь од п о л н и е т л ь н ь к о м п о н е н от в н а м уж е з н ак о м а п о п ер в о м ы в н ач ле , н а н ез н ак о м ы х к о м п о н ен ат . П р еж д е че м м ы п ер й ед м к р ас м ортен и ю о сн о в н ы в н и м ан и е н а табл . 7.1. В э от й атб л и ц е п ер ч и с л ен е 5 к о м п о н ен т ы (.NET), а такж е п р и в едн ы и е п о ст у и т е ж е дей свт и я , н о и м ею щ и е олти ч и
х к о м п о н е н то в
, к о т р ы е ис е Win32. К а к и в ал г , в к о т р ы х и с п о л ь з ет у е вн и м ан и е ус теял д я комп . В 'аблти ц а х п р и в оясдт а и п арсветдляю щ и е дл . П ордбн у ю и н фо р м а ц и ю
я я о
. х Stan dard и Additional ы расп о лагю ст я н а дигру х о и х м е с от п о л ж е н и е . у п р о ек т у - о н и к р а кт о у д у б т х м ы о сатн о в и м с я бо ле е п до х к о м п о н ен от в , о браит ы в с е р а с м о рт е н н ы х ан ало г и (Win32), вы п олн яю я в р еа л и з а ц и .
е в
а 7 . 1 т КzyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA о м по не т ы .NET и и х ан ал о г и в Win32
-
Та б л и ц оКм п о н е н
Label TextBox
т .NET
о Км п о н е н TLabel TEdit
т Win3 2
и са н п О
е оК м п о н е
т о от бе рн иаж
оК м п о н е
т дл
и т..д
)
я те кс то в о я вво д
а ио нр фм ац и
й ио нр фм ац и
и
и (те кс то в о й
, чи с ло в
й
АВ Л Г
А 7 • ы н оОвс
е ктено п м
ы пр
и и наов ри пм а р ог р
я Win32 zyxwvuts
и дл
а 7. 1 zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCB т Ко м п о н е н т ы .NET и и х ан ало г и в Win32 (о ко н ча и е )
Та б л и ц
о Км п о н е н
т . NET
о Км п о н е н
т Win3 2 О п и с а н и е
But t on
TButton
оК м ан д
ImageList
TImageList
о К м п о н е т- к о н те й н е
ToolTip
-
В с п о м о г а ет л н ь ы
Panel
TPanel
о К м п о н е -т к о н ет й н е
CheckBox
TCheckBox TRadioButton, TRadioGroup TGroupBox
о К м п о н е - т п е р кл ю ч а е т л ь
, и м е ю щ и
й 2 ил
о К м п о н е - т п е р кл ю ч а е т л ь
, и м е ю щ и
й 2 с о с то я н и
RadioButton GroupBox ComboBox ' List Box
TComboBox
TCheckListBo:
W j f
В ЛА Г
А 7 т ынво сО
е ком поне т
ы пр и прога м м ирова н
и дл
я Win 3 2
а 7. 2 • ы н во zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA с О е св сйот а ктмоне п а TLabel (оеин а чо к )
ц л и аб Т Сво й с т в
о
A l i g n
оКм м е н т а р и
й
пО р е д л я
т гр ан и ц у
к в е р нх м кр а и м ет
у кр а
, к ко т р о
ю ( a l Ri g h t ) , б ы т ь з н аче и
й б уде
ю ( alTo p ) , к нн еим ж
т «пта риж
» ко м п о н е т
у кр а
ь «рсаыянмту
» н а в с
е None - п ое нл и ж
е и р аз м е
. О н м е о ж
ю ( alB o t t o m ) , ле в о м ю форм
у кр а
т б ы т
у ( a l c i i e n t ) . Такж
р ко м п о н е т
ь пар и ж
т
ю ( a l L e f t ) , п р ав о м е с в о й с вт
а о п р е д л яе ст
у
о ме о ж
я с в о й с вт ам
т и т о р
,
у кр а
ю
L e f t , Wi d t h и He i g h t Al i g n m e n t
Сп о с о
б в ы р ав ни в ани
я те кс т
( t a L e f t J u s t i f y ) , к п р ав о м
а в п о л у кр а
е ко м п о н е та
. Те кс
т м ео ж
ю ( t a Ri g h t J u s t i f y ) и л
т б ы т
ь п раи ж
и н ахо дисьт
т к ле в о м я п о с е р ди н
е
( t aCe n t e r ) zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA
о Чт б ы в п ол е ком п он е т а TLabel вы вест и чи слов е з н ач ен и е , ег о и до нхбе м о п р и п омщ и фн укц и й I n t T o S t r и л и F lo a t T o St r п реоб аз оват ь в сукор т . П ре ва я фн укц и я п оз в ляе т п ервоид т ь ц елы е чи сл а в сукор т , вотра я - вще нст ы е . Ц ве т п ол я к о м п о н ен т а ( C o lo r ) м о ж н о з а дьт , куаз в н аз в ан и е ц в ет а т ц в е от й е мс х ы о п ер ац и о н н о й ( clG reen , clR ed, c lB lu e и т.п . ) и л и э лем н с и емт ы (н а п р и м ер , clBackG roun d, c lBt n F a c e ) . Р аз н и ц а со сти т в том , ч т о в о вотр м счалу е ц в еот а я ме с х а в а ш ег о п р и л о ж ен и я бе д у т п р и в яз ан а к ц воет. е о п ер а ц и о н н о й си семт ы и бе д у т авотм аит ч еск и м ен яьт с я п р и коажд й в о й сем х е е см ен е . П о умолчан и ю и с п о л ь зсет у я ка к р а з в от р й в ар и ан т . К сати , с п ом й о юб л ц в ет . Э т а нфу к ц и я «п ер воид т » ц вет , щ ь ю н фу к ц и и RGB м ож н о з а дт ь zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLK п р е сда т в л е н н ы й тр ем я соасвтляю щ и м и ( R - Red, к р асн ы й ; G - G reen, з ел н ы й ; В - Blue, гбойлу ) в н о м е р ц вает , п о н янт ы й D elphi. Ц в е т п о л я к о м п о н ен т а тка ж е м ож е т б ы т ь и «п роз рач н ы м » . Дл я э от г о н ео бихд м о с в о й свт о T r a n sp a r e n t с а тн у о в и т ь в T ru e. Т еп р ь р а с м о рт и м н бе о л ь ш у ю п р о а гм у , емд он рсти ю у щ у ю н а м осн ов н ы е свой вст а э от г о к о м п о н ен т а в дей свт и . Н а р и с . 7.1 п р и в ед н вн еш н и й ви д окн а п р о г ам ы , а в л и сит н г е 7.1 - п роц уед ы о б р а о кт и с о б ы ит я C lic k н а с о ю в теу щ и х к н о п к ах . Л и с ти н
г 7.1 т Те к с
т п р о ц е ду
р о б р аб о кт
и с о б ы ит
й c l i c k н а кн о п ка
х zyxwvutsrqponmlkjihgfe
//zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Текст выравниется по левому краю. zyxwvutsrqponmlkjihgfedcbaZYXW procedure TForml.RadioButtonlClick(Sender: TObject); begin Labell.Alignment:=taLeftJustify; end ; // Текс т выравниется по центру. procedure TForml.RadioButton2Click(Sender: TObject); begin labell- Alignment:=taCenter; end;
оК м п о н е
т TLabelzyxwvutsrqponm
//zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA Текст выравниется по правому краю. zyxwvutsrqponmlkjihgfedcbaZYXWVU procedure TForml.RadioButton3Click(Sender: TObject); begin Label1.Alignment:=taRightJustify; end; // Компнет прижмается к верхнй границе формы. procedure TForml.RadioButton4Click(Sender: TObject); begin Label1.Align:=alTop; end; формы. // Компнет прижмается к нижней границе procedure TForml.RadioButton5Click(Sender: TObject); begin Labell.Align:=alBottom; end; // Востанвлеи исходны значеий свойст компнета. procedure TForml.RadioButton6Click(Sender: TObject); begin Labell.Align:=alNone; Labell.Left:=16; Labell.Top:=16; Labell.Width:=401; Labell.Height:=57; end;
// Установк/сбро отображения всплывающей подскази. procedure TForml.CheckBoxlClick(Sender: TObject);zyxwvutsrqponmlkjihgfedcbaZ
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONMLKJIHGFEDCBA ю тоипснет а l abet йг и ж о л !»>ю;т и д о = тсте-к ^ е
С пь мщ о
(* tale ftijstffy - г о пнео :Г * taCenter - п о цетнр
у жрь- к
Г" - t a Rn# iOj^f y- n o пм о ва р
-те с с и
Ри с
. 7. 1 т Онк
о п р о г р а м м ы
»
у
j
С" alTop
i • Г * uЈuttom у кра
zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM е
ю ; :