Delphi 2005. Учимся программировать

Данная книга предназначена тем, кто только начинает изучение Borland Delphi 2005 - среды разработки программного обеспеч

273 99 41MB

Russian Pages 345 Year 2005

Report DMCA / Copyright

DOWNLOAD PDF FILE

Recommend Papers

Delphi 2005. Учимся программировать

  • 0 0 0
  • Like this paper and download? You can publish your own PDF file online for free in a few minutes! Sign Up
File loading please wait...
Citation preview

инелвалгО

е

В в е де н и

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;



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,  а  такж е  з адн и а   фо р м ы   п р и   п ро г ам и ро в ан и и   л д я   п л а фт о р окн а   ид з а й н е р Бо л е е  п о др б н о  о с н о в н ы е   п а р м е рт ы  н а с рт о й к и   п р и в едн Та б л и ц



а  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



A



I

}

J





v

d

n

G



a

l



s

o

v

p



u

W

e

t



w

i

c

;

a

t

a

t

t

.

A

v

/

c

'

.

d

C

, • 



e

d

P

M

• • . - . , • •   '•

o



d

a

i

f



y

C

.

u



.

r

s

o



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 т  Онк

о  п р о г р а м м ы

» 

у  



С"  alTop

i  •  Г *  uЈuttom у  кра

zyxwvutsrqponmlkjihgfedcbaZYXWVUTSRQPONM е

ю   ;   :