C++ Builder ManualSK

download C++ Builder ManualSK

of 260

Transcript of C++ Builder ManualSK

  • 7/16/2019 C++ Builder ManualSK

    1/260

    Manul

    BBoorrllaanndd CC++++ BBuuiillddeerr 55..00

    Tento projekt bol financovan s podporouEurpskej nie.

  • 7/16/2019 C++ Builder ManualSK

    2/260

    PROBIQ Borland C++ Builder manul Strana 2

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    vod k manulu ProBiQ BCB5

    Tento manul a ucebn pomcka je navrhnut pre tudentov a ucitelov,ktor chc programovat v prostred Borland C++ Builder verzia 5. Pouitmaterily s pestr a zaujmav a poskytuj dostatok poznatkov k tomu,aby mohol jednotlivec zskan zrucnosti vyuit na pracovisku.

    Manul sa zacna vodom do zkladov programovania. Vyuvajcrozmanit ucebnch nstrojov, sprevdza tudentov cez zkladn modulya vrchol v pokrocilch programovacch technikch.

    Teoretick materil, obsiahnut v pociatocnch kapitolch, me pomhatrozvjat dobr bzu poznatkov a bol zostaven tak, aby mohol bytpouvan ako referencn prrucka alebo aj ako ucebn pomcka.Praktick lohy a cvicenia v dalch castiach manulu umonia tudentomprecvicovat a overovat si zskan poznatky.

    Prajeme vm s tmto manulom spen kurz!

    Autori si praj zdraznit, e nzvy firiem, znaciek a produktov uvedenchv tomto dokumente s obchodn znacky a s veobecne chrnen

    patentom.

  • 7/16/2019 C++ Builder ManualSK

    3/260

    PROBIQ Borland C++ Builder manul Strana 3

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Obsah

    KAPITOLA 1: - VOD DO PROGRAMOVANIA 111.1 CSELN SSTAVY 11

    1.1.1 Desiatkov cseln sstava 111.1.2 Binrna cseln sstava 121.1.3 estnstkov cseln sstava 131.1.4 Osmickov cseln sstava 131.1.5 Dalie cvicenia 13

    1.2 BINRNE CSLA 141.2.1 Teria poctania s binrnymi cslami 14

    1.3 LOGIKA 161.3.1 Negcia (nie je pravda, e) 171.3.2 Konjunkcia (a zroven) 171.3.3 Disjunkcia (alebo) 181.3.4 Sctanie 18

    1.4 POCTAC A ALGORITMY 181.4.1 vod 191.4.2 Co rob poctac vysoko vkonnm? 20

    1.5 NVRH ALGORITMU 221.5.1 Syntax, smantika, logika: tri druhy chb 221.5.2 Stratgia zhora nadol (top-down) pri rieen problmov 231.5.3 Nstroje na rieenie problmov 251.5.4 Postupnost krokov (sequence) 251.5.5 Vetvenie (selection) 261.5.6 Opakovanie (iteration) 261.5.7 Dalie cvicenia 28

    1.6 PREKLADOV PROGRAMY 291.7 PRLOHA: RIADIACE TRUKTRY VPRAXI 31

    1.7.1

    Cyklus s podmienkou na konci 31

    1.7.2 Cyklus s podmienkou na zaciatku 321.7.3 Cyklus s pevnm poctom opakovan 321.7.4 Vetvenie 33

    KAPITOLA 2:ZKLADY C++ 342.1 HISTRIA C++, BORLAND C++ A DEFINCIA TOHTO PROGRAMOVACIEHO

    JAZYKA 342.2 C++ - JEHO KATEGORIZCIA A PREDNOSTI 35KAPITOLA 3:VOD DO IDE BCB 5 373.1 IDE BCB5 37

    3.1.1 Okno Form 38

  • 7/16/2019 C++ Builder ManualSK

    4/260

    PROBIQ Borland C++ Builder manul Strana 4

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    3.1.2 Okno Unit 393.1.3 Inpektor objektov ("Object Inspector") 393.1.4

    Zoznam okien (Window-List) 42

    3.1.5 Zoznam komponentov (Component-List) 433.1.6 Okno sprv (Messages-Window") 433.1.7 Dalie okn 44

    3.2 PONUKY, PANELY NSTROJOV A PANELY KOMPONENTOV PROSTREDIA BCB544

    3.2.1 Ponuky 443.2.2 Panely nstrojov 453.2.3 Panel komponentov 46

    KAPITOLA 4:VYTVRANIE JEDNODUCHCH APLIKCI PREWINDOWS 48

    4.1 VYTVRANIE JEDNODUCHCH APLIKCI PRE WINDOWS 494.1.1 Navrhovanie formulrov pre Windows (Windows Forms) 504.1.2 Inpektor objektov (Object Inspector): vlastnosti (properties) a

    udalosti (events) 514.1.3 Vlastnosti a udalosti objektu 514.1.4 Inpektor objektov (Object Inspector) 514.1.5 Nzvy vlastnost a udalost 524.1.6 Presun do okna Object Inspector 524.1.7 Predchdzanie chb pocas pohybovania sa v OI 534.1.8 Aktualizcia grafickch vlastnost objektu (graphic

    characteristic) 534.1.9 Definovanie obsluhy udalosti (event handler) 53

    4.2 NAVRHOVANIE FORMULRA (FORM): VLASTNOSTI A UDALOSTI 534.2.1 Zkladn vlastnosti formulra 544.2.2 Zkladn udalosti formulra 54

    4.3 PRIDVANIE KOMPONENTOV DO FORMULRA 544.3.1

    Zkladn komponenty formulra (pridvanie vlastnost audalost) 55

    4.3.2 Pridvanie komponentu do formulra 564.3.3 Umiestnovanie komponentov 574.3.4 Tabultorov poradie (Tab order) 57

    4.4 ZKLADN KOMPONENTY FORMULRA: PRIDVANIE VLASTNOST A UDALOST57

    4.4.1 Edit (editacn polcko) 574.4.2 Memo (Viacriadkov editacn polcko) 594.4.3 Button (Tlacidlo) 604.4.4 Objekt Label (Label object) 614.4.5 Objekt ListBox (ListBox object) 62

  • 7/16/2019 C++ Builder ManualSK

    5/260

    PROBIQ Borland C++ Builder manul Strana 5

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    4.4.6 Objekt ComboBox (ComboBox object) 644.4.7 Objekt CheckBox: pridvanie vlastnost a udalost 654.4.8

    Objekt RadioButton (RadioButton object) 67

    4.5 NAVRHOVANIE FORMULROV PRSTUPNCH PRE NEVIDIACICH POUVATELOV

    774.5.1 Pridriavanie sa tandardov Windows 784.5.2 Typ a velkost psma 784.5.3 Textov popis (bublinkov popis) komponentu. 784.5.4 Sprvne umiestnovanie komponentov vo formulri 79

    4.6 PRECHOD OD FORMULRA KAPLIKCII 804.6.1 Prklad aplikcie "Hello" 804.6.2 Pridvanie komponentov do "Hello" 814.6.3 Nastavenie vlastnost komponentov 814.6.4 Definovanie obslh udalost 824.6.5 Projekt 844.6.6 Kompilcia, sptanie programu 84

    4.7 PONUKY (MENU) 854.7.1 Pridvanie komponentu TMainMenu 854.7.2 Navrhovanie panelu ponk (Menu Bar) 864.7.3 Pridvanie, odstranovanie a upravovanie panelov ponk 884.7.4 Realizcia udalosti OnClick 89

    KAPITOLA 5:ZKLADY PROGRAMOVANIA V C++ 915.1 UMIESTNENIE KOMPONENTOV 915.2 TESTOVANIE 985.3 KOMENTRE 985.4 VIAC VPOCTOV 100 5.5 ZAMIENANIE PENAZ (ZMENREN) 1025.6 DALIE CVICENIA 106 5.7 ZHRNUTIE 108 KAPITOLA 6:PROBLMY A ICH RIEENIE V BCB5 1096.1 PODMIENEN PRKAZ IF 109 6.2 DIALGOV OKN 112

    6.2.1 Cvicenie 1146.2.2 Dalie cvicenia na vetvenie 118

    6.3 PREPNAC - PRKAZ SWITCH 119 6.4 OPAKOVANIE 121 6.5 CVICENIA 128KAPITOLA 7:

    DALIE RIEENIA 130

    7.1 VOD SCVICENM ZOZNAM NA NKUP 130

  • 7/16/2019 C++ Builder ManualSK

    6/260

    PROBIQ Borland C++ Builder manul Strana 6

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    7.1.1 Navrhovanie formulra 1307.2 DALIE VYSVETLOVANIE SCVICENM MENU VRETAURCII 1357.3

    C

    VICENIA139

    KAPITOLA 8:DISTRIBCIA PROGRAMU POMOCOU INSTALLSHIELD

    1408.1 VOD 1408.2 USPORIADANIE INTALTORA 141

    8.2.1 Veobecn informcie (General information view) 1418.2.2 Intalovan scasti aplikcie (Features) 1418.2.3 Druhy intalcie (Setup Types) 1418.2.4 Spsoby aktualizcie (Upgrade Paths) 142

    8.3 URCENIE DAJOV APLIKCIE 142 8.3.1 Sbory (Files) 142 8.3.2 Sbory a intalovan scasti aplikcie (Files And Features)1428.3.3 Objekty a pripjan moduly (Objects/Merge Modules) 1438.3.4 Zvislosti (Dependencies) 143

    8.4 KONFIGURCIA CIELOVHO SYSTMU 143 8.4.1 Zstupcovia a priecinky (Shortcuts/Folders View) 1438.4.2 Registre (Registry) 144 8.4.3 ODBC prostriedky (Resources) 1448.4.4 Prpony sborov (File Extension) 1448.4.5 Premenn prostredia (Environment Variables) 145

    8.5 PRISPSOBENIE VZHLADU INTALTORA 145 8.5.1 Dialgov okn (Dialogs) 145 8.5.2 Nstenky (Billboards) 1458.5.3 Text a sprvy (Text and Messages) 145

    8.6 DEFINCIA POIADAVIEK PRE INTALCIU A PRCU SAPLIKCIOU 145 8.6.1 Poiadavky na cielov systm (Requirements) 1468.6.2 Vlastn funkcie (Custom Actions) 1468.6.3

    Podporn sbory (Support Files) 146

    8.7 PRPRAVA INTALTORA (PREPARE FOR RELEASE) 146

    8.7.1 Vytvorenie intaltora (Build Your Release) 1468.7.2 Testovanie intaltora (Test Your Release) 1478.7.3 Distribcia aplikcie (Distribute Your Release) 147

    KAPITOLA 9:RIADENIE PROJEKTU 1489.1 VOD 1489.2 FZY VVOJA PROJEKTU 148 9.3 INFORMCIE ADOKUMENTCIA 149 9.4 PECIFIKCIA SOFTVRU 149 9.5 DOKUMENTCIA SOFTVRU 151

  • 7/16/2019 C++ Builder ManualSK

    7/260

    PROBIQ Borland C++ Builder manul Strana 7

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    KAPITOLA 10: SMERNKY (POINTERS) 15310.1 DEFINCIA 15310.2 ADRESA PREMENNEJ (REFERENCING) 15410.3 PRISTUPOVANIE KHODNOTE PREMENNEJ POMOCOU ADRESY

    (DEREFERENCING) 15410.4 SMERNKY NULLA VOID 154 10.5 VYUITIE SMERNKOV 155

    10.5.1 Adresy premennch 155 10.5.2 Smernky a vektory (polia) 16110.5.3 Cvicenia 163

    10.6 VYMENOVAN TYPY 163 10.6.1

    Defincia 163

    10.6.2 Deklarcia 16410.6.3 Priradenie 164

    10.7 TRUKTRY 165 10.7.1 Defincia 16610.7.2 Deklarcia 16610.7.3 Deklarcia s pouitm typedef 166 10.7.4 Priradovanie do elementov 167 10.7.5 Cvicenia 169

    10.8 OBJEKTOVO-ORIENTOVAN PROGRAMOVANIE 170 10.8.1 Defincie 17010.8.2 Deklarcia triedy 171 10.8.3 Objekt (Object) 173 10.8.4 Defincia clenskch funkci triedy (element functions) 17310.8.5 Kontruktor (Constructor) 17410.8.6 Detruktor (deconstructor) 17510.8.7 Cvicenie 180

    10.9 PRETAOVANIE (OVERLOADING) 18010.10DEDICNOST (INHERITANCE) 182

    10.10.1 Viacnsobn dedicnost (Multiple-inheritance) 183 10.10.2 Chrnen prvky (Protected-elements) 18310.10.3 Prekrvanie (Overriding) 184

    10.11POLYMORFIZMUS (POLYMORPHISM) 18910.11.1 Cvicenia 189

    10.12ZOZNAM RETAZCOV (STRINGLIST) 19010.12.1 Defincia 19010.12.2 Metdy (methods) a vlastnosti (properties) 19010.12.3 Podobn komponenty 19110.12.4 Dialgov okno File 192 10.12.5 Cvicenia 194

  • 7/16/2019 C++ Builder ManualSK

    8/260

    PROBIQ Borland C++ Builder manul Strana 8

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    10.13FILESTREAMS (SBOROV PRDY DAJOV) 19410.13.1 Sborov opercie s prdmi 194

    10.14OBSLUHA CHB

    (ERROR

    -HANDLING

    )A VNIMKY

    (EXCEPTIONS

    ) 196

    10.14.1 Defincia 19710.14.2 Cvicenia 198

    KAPITOLA 11: NADSTAVBOV MODUL 1 KNINICA VIZULNYCHKOMPONENTOV (VCL) 199

    11.1 VOD 19911.2 STRUCN PREHLAD VCL 20011.3 TRUKTRA VCL 20111.4 TRIEDY APLIKCIE A FORMULRA 201 11.5 TRIEDA RETAZCA 202 11.6 TRIEDA MNOINY 202 11.7 KOMPONENTOV TRIEDY 203

    11.7.1 Triedy tandardnch ovldacch prvkov 203 11.7.2 Triedy volitelnch (custom) ovldacch prvkov 204 11.7.3 Triedy tandardnch dialgovch okien (Dialog box) 20411.7.4 Systmov triedy 20411.7.5 GDI triedy 204 11.7.6 Triedy utilt (utility) 205 11.7.7 Databzov triedy 205 11.8 PRCA SDAJOVM MODULOM VCL 20511.8.1 Vytvranie VCL databzovej aplikcie 205 11.8.2 Prehlad architektry databzovej aplikcie 20611.8.3 Vytvranie novej VCL aplikcie 20611.8.4 Nastavovanie komponentov prstupu k dajom 20711.8.5 Nastavovanie spojenia s databzou 20711.8.6 Nastavovanie jednosmernho sboru dajov 20911.8.7 Nastavenie sprvcovskho a klientskho sboru dajov a zdroja

    dajov 209

    11.8.8 Vytvranie pouvatelskho rozhrania 210 11.8.9 Vytvranie mrieky a navigacnho panelu 21011.8.10 Pridvanie tlacidla 212 11.8.11 Psanie obsluhy udalosti 21211.8.12 Psanie obsluhy udalosti prkazu Aktualizuj! (Update Now!)21311.8.13 Psanie obsluhy udalosti FormClose (zatvorenie formulra)213

    11.9 VYTVRANIE SDI APLIKCIE 215 11.9.1 Vytvranie textovho editora ako SDI aplikcie 215

    11.10VYTVRANIE MDIAPLIKCIE 235 11.10.1 Co je to MDI aplikcia. 235 11.10.2 Ako vytvorit MDI 235

  • 7/16/2019 C++ Builder ManualSK

    9/260

    PROBIQ Borland C++ Builder manul Strana 9

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    KAPITOLA 12: NADSTAVBOV MODUL 2 VVOJ DATABZV PROSTRED BORLAND C++ BUILDER 240

    12.1 KONCEPCIA RELACNCH DATABZ 240 12.1.1 Defincia databz 24012.1.2 Defincia relacnch databz 24012.1.3 Klce 24012.1.4 Typy prepojen 240

    12.2 DALIE CVICENIA 241 12.3 ODBC, BDE ADMINISTRATOR A DATABASE-DESKTOP 241

    12.3.1 Vytvranie databz 241 12.3.2 Vytvranie pripojenia k databzam 24112.3.3

    Vytvranie pripojen k databzam s pouitm ODBC 241

    12.4 DALIE CVICENIA 242 12.5 PRSTUP KDATABZE 242

    12.5.1 Prstup k databze cez TTable a TDataSource 24212.5.2 Zobrazovanie dajov vo formulri 24212.5.3 Pouitie dtovho modulu (Data-Module) 243

    12.6 DALIE CVICENIA 243 12.7 VYTVRANIE POIADAVIEK SPOUITM TQUERY 243

    12.7.1 Defincie 24312.7.2 vod do SQL: SELECT 243 12.7.3 Pouitie TQuery na vytvranie poiadaviek 243

    12.8 DALIE CVICENIA 243 12.9 NVRH ZOSTAVY (REPORT) 244

    12.9.1 Defincie 24412.9.2 Komponent TQuickReport 24412.9.3 Komponenty na zobrazovanie dajov v zostave 244

    12.10DALIE CVICENIA 244 12.11AKTUALIZCIA SQL 244

    12.11.1 Prkaz UPDATE (aktualizovat), DELETE (vymazat), INSERT(vloit) 245

    12.11.2 Komponent TUpdateSQL 24512.12DALIE CVICENIA 245 KAPITOLA 13: ZADANIA PROJEKTOV PO ZKLADNEJ CASTI 1 24613.1 ZADANIE 1: AK JE TVOJE NOV MENO? 24613.2 ZADANIE 2: IBENICA (HANGMAN) 24813.3 ZADANIE 3: HANOISK VEE 249 13.4 ZADANIE 4: KALKULTOR 250 13.5

    ZADANIE 5: PREHRVANIE HUDBY 250

    13.6 ZADANIE 6: VYSLOVOVANIE CSEL 251

  • 7/16/2019 C++ Builder ManualSK

    10/260

    PROBIQ Borland C++ Builder manul Strana 10

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    KAPITOLA 14: ZADANIA PROJEKTOV PO ZKLADNEJ CASTI 2 25214.1 ZADANIE 1: DATABZA CD-CIEK 252 14.2 ZADANIE 2: DATABZA ADRIES 252 14.3 ZADANIE 3: KALENDR 253 14.4 ZADANIE 4: IBENICA (HANGMAN) 25314.5 ZADANIE 5: KALKULTOR 255 KAPITOLA 15: ZADANIA ZVERECNHO PROJEKTU PRE

    NADSTAVBOV MODUL 1 (VCL) 256 15.1 ZADANIE 1: JEDNODUCH TEXTOV EDITOR 256 15.2 ZADANIE 2: ZLOIT TEXTOV EDITOR 256 15.3 ZADANIE 3: JEDNODUCH TABULKOV PROCESOR 257 15.4 ZADANIE 4: ZLOIT TABULKOV PROCESOR 258 KAPITOLA 16: ZADANIA PROJEKTOV PO NADSTAVBOVOM MODULE

    2 (DATABZY): 25916.1 ZADANIE 1: DATABZA CD-CIEK 259 16.2 ZADANIE 2: DATABZA ADRIES 259 16.3 ZADANIE 3: ZOZNAM LOH 260 16.4 ZADANIE 4: HUDOBN ZBIERKA 260

  • 7/16/2019 C++ Builder ManualSK

    11/260

    PROBIQ Borland C++ Builder manul Strana 11

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Kapitola 1: - vod do programovania

    Ciel tejto kapitoly:Naucit sa zklady programovania, vrtane podstaty vyvjaniaalgoritmov.

    1.1 Cseln sstavy

    Ciel tejto podkapitoly:Spoznat rozdielne cseln sstavy a byt schopn prevdzat cslaz jednej sstavy do druhej.

    Tto kapitola poskytne prehlad cselnch sstav a to predovetkm tch,ktor sa pouvaj v poctacovej technolgii: dvojkov cseln sstava,estnstkov cseln sstava a osmickov cseln sstava.Naucme sa ako s tieto sstavy prepojen i ako je mon konvertovatz jednej cselnej sstavy do druhej. Najprv zacneme s naou tradicnoudesiatkovou cselnou sstavou.

    1.1.1 Desiatkov cseln sstavaDesiatkov cseln sstava sa pouva v kadodennom poctan.Pozostva z desiatich symbolov - arabskch cslic. Kad symbol jeinterpretovan podla svojej pozcie v csle a mus byt vynsobenmocninou desiatky. Z tohto dvodu sa desiatkov cseln sstava castonazva pozicn cseln sstava. Hodnota cslice v csle sa nazva jejpozicnou hodnotou. V zvislosti od pozcie je cslica vynsobenprslunou mocninou zkladu cselnej sstavy. V desiatkovej sstave jezkladom cslo 10.

    Prklad:Zoberme cslo "240568". Ak zoberieme do vahy pozicn hodnotu cslic,musme poctat takto:

    2*105+4*104+0*103+5*102+6*101+8*100 = 240.568(pozn. prekladatela: bodka v csle 240.568 oddeluje cel cast csla oddesatinnej casti ako slovensk desatinn ciarka)

    V poctacovch systmoch sa vyuva aj dal typ cselnej sstavy -dvojkov (tzv. binrna) cseln sstava. Pozrime sa, co sa deje v tejtosstave:

  • 7/16/2019 C++ Builder ManualSK

    12/260

    PROBIQ Borland C++ Builder manul Strana 12

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    1.1.2 Binrna cseln sstavaBinrna cseln sstava je, tak ako desiatkov cseln sstava, pozicncseln sstava. Zkladom binrnej cselnej sstavy je cslo 2. Toznamen, e pozicn hodnota cslice vzrast z miesta na miesto pomocninch dvojky.

    Z kolkch cslic pozostva binrna cseln sstava?

    Ak vydelme nejak cel cslo cslom 2, prenos bude 0 alebo 1. Takebinrna cseln sstava je zostaven z cslic 0 a 1.Teraz uvidme, preco je tto cseln sstava tak dleit pre poctacovsystmy. Poctac pracuje s magnetizmom a elektrickm prdom. Elektrickprd me, alebo nemus prdit, magnetick materily mu, alebo ajnemusia byt zmagnetizovan. Toto vetko me byt charakterizovandvomi cslami - 0 a 1.

    Prklady:Binrne cslo 11001011 m byt vyjadren v desiatkovej cselnej sstave:(11001011)2 = 1*2

    7+1*26+0*25+0*24+1*23+0*22+1*21+1*20 = 203

    Naopak:(203)10 =203/2 = 101 a zvyok = 1;

    najni bit (Least Significant Bit: LSB)101/2 = 50 a zvyok = 1;50/2 = 25 a zvyok = 0;25/2 = 12 a zvyok = 1;12/2 = 6 a zvyok = 0;6/2 = 3 a zvyok = 0;

    3/2 = 1 a zvyok = 1;1/2 = 0 a zvyok = 1.

    najvy bit (Most Significant Bit: MSB)Ak si prectame zvyky zdola nahor dostaneme binrne cslo 11001011.

    Na tomto prklade vidme, e binrne cslo meme odvodit z cslav desiatkovej sstave, ked cslo v desiatkovej sstave vydelmezkladom 2 a zoberieme zvyok.Teraz prejdeme k dalej, pre poctace dleitej cselnej sstave,

    k estnstkovej cselnej sstave.

  • 7/16/2019 C++ Builder ManualSK

    13/260

    PROBIQ Borland C++ Builder manul Strana 13

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    1.1.3 estnstkov cseln sstavaKvli samotnmu nzvu tejto cselnej sstavy jednoducho pochopme, e

    je to pozicn cseln sstava zaloen na csle 16. Ale ako sadopracujeme a k estnstim csliciam, ked doteraz ich poznme ibadesat? Matematici vyrieili tento problm nahradenm csiel 10, 11, 12,13, 14, a 15 velkmi psmenami A, B, C, D, E a F.

    Prklad:(0A6E)16 = 10*16

    2+6*161+14*160 = 2,670(pozn. prekladatela: ciarka oddeluje tiscky)

    estnstkov zpis csla v desiatkovej sstave odvodme jednoducho -cslo v desiatkovej sstave prevedieme do binrnej sstavy a potombinrne cslo rozdelme po tvoriciach:

    Prklad:(2670)10 = (0000 1010 0110 1110)2 = (0A6E)16

    Nakoniec sa pozrieme na daliu cseln sstavu, ktor sa v poctacovchsystmoch neuplatnuje natolko ako binrna a estnstkov cseln sstava- na osmickov cseln sstavu.

    1.1.4 Osmickov cseln sstavaZkladom tejto pozicnej cselnej sstavy je cslo 8, ale pouvame lencslice od 0 po 7.

    Prklad:(127)8 = 1*8

    2+2*81+7*80 = (87)10 = (0101 0111)2 = (57)16V tejto sstave meme zobrat binrne cslo a jeho cifry rozdelit na trojice

    tak, ako to vidme v nasledujcom prklade:(001 010 111)2 = (127)8

    1.1.5 Dalie cviceniaV tchto cviceniach by sme si mali osvojit poctanie s binrnymi cslami akoi prevod medzi rznymi cselnmi sstavami.

    a. Prevedte nasledujce csla v desiatkovej sstave na binrne csla:

    361255129

  • 7/16/2019 C++ Builder ManualSK

    14/260

    PROBIQ Borland C++ Builder manul Strana 14

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    b. Prevedte nasledujce csla v desiatkovej sstave na binrne csla:

    11111001011000010110101010

    c. Prevedte nasledujce csla v desiatkovej sstave na cslav estnstkovej sstave:8947771010

    d. Prevedte nasledujce csla v estnstkovej sstave na binrne csla:3AB23FABC

    e. Pokste sa previest csla v cvicen D na binrne csla. V tomto bodepamtajte na metdu zostavovania tvorc cifier.

    1.2 Binrne cslaCiel tejto podkapitoly:Naucit sa pravidl poctania s cslami v binrnej sstave,najdleitejej z cselnch sstav v poctacovej technolgii.

    V tejto kapitole sa naucme ako scitovat, odcitovat, delit, nsobit dvebinrne csla a e cel vpocet me byt zredukovan na jednoduchsctanie.

    1.2.1 Teria poctania s binrnymi cslamiPri poctan s binrnymi cslami existuj nasledujce pravidl aritmetiky:0 + 0 = 01 + 0 = 10 + 1 = 11 + 1 = 0 a 1 zvyok pre nasledujce miesto.

    S tmito pravidlami je jednoduch vykonat sctanie 2 binrnych csel.Prklad:

    1 1 1 0 1+ 1 0 1 0

  • 7/16/2019 C++ Builder ManualSK

    15/260

    PROBIQ Borland C++ Builder manul Strana 15

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    zvyok 1 11 0 0 1 1 1

    Poctace nie s schopn rozliovat medzi rozdielnymi dlkami binrnychcsel. Ale toto ani nie je potrebn, lebo poctac dva kad daj napecilne miesto v pamti poctaca. V zvislosti od pouvanho poctacame toto pamtov miesto (register) uchovvat 8, 16, alebo 32 bitovdajov.Ak m poctac 16 bitov registre, me interpretovat predchdzajciprklad takto:

    0000 0000 0001 1101+ 0000 0000 0000 1010

    0000 0000 0010 0111

    Takzvan najvy bit (na lavej strane) definuje algebraick znamienko, 0oznacuje mnus a 1 oznacuje plus. Posledn cslo na pravej strane sanazva najni bit.Ale ako by sme zapsali zporn csla? Zapeme ho pouitm pravidlanazvanho jednotkov doplnok (Ones Complement):0 vedie k 1, 1 vedie k 0.Prklad:

    +23 je 0001 0111-23 je 1110 1000

    Teraz dokeme odctat jedno binrne cslo od druhho:Prklad:Vypoctame 13+(-10):13 je 1101 v binrnej sstave10 je 1010 v binrnej sstave

    0000 1101+ 1111 0101 jednotkov doplnokzvyok 1 0000 0010

    Teraz mme takto problm: Co by sa malo spravit s poslednm zvykom?Pretoe pamtov miesto me prijat len 8 bitov, to jest jeden byte(pozn. ctaj bajt), zvyok sa pridva k najniiemu bitu. Take 0000 0010plus zvyok vedie k 0000 0011.Toto binrne cslo zodpoved cslu 3 v desiatkovej sstave a predstavuje

    sprvny vsledok nho vpoctu.Poznmka: Posledn zvyok sa casto pridva k najniiemu bitu na

  • 7/16/2019 C++ Builder ManualSK

    16/260

    PROBIQ Borland C++ Builder manul Strana 16

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    zaciatku. Toto sa nazva dvojkov doplnok (Twos Complement):Odctanie binrnych csel sa uskutocnuje pripoctanm dvojkovho doplnku.

    Prklad:Opt vypoctame 13 + (-10):

    1101 13 v desiatkovej sstave0101 jednotkov doplnok k 10

    + 1 posledn zvyok1 0011

    Pretoe sme u pridali posledn zvyok, musme odobrat vedcu (prv) 1.Vsledok v desiatkovej sstave je 3.Ako zkladn pravidlo si zapamtme:Jednotkov doplnok + 1 k najniiemu bitu = dvojkovdoplnokSo zretelom na predchdzajci text vidme, e vetky vpocty mu bytzredukovan na jednoduch sctanie. Nsobenie predstavuje lenviacnsobn sctanie, delenie iba viacnsobn odctanie a samotnodctanie, ako je ukzan, je zredukovan na obycajn sctanie.

    Dalie cvicenia:a. Sctajte nasledujce binrne csla:

    11101 a 10101100101 a 111001

    b. Odctajte nasledujce binrne csla:1011 od 11100110010 od 100001011100 od 10111111 od 1101Nezabudnite na zvyok.

    c. Vykonajte nasledujce nsobenia:(1011)2 * 810(1010)2 * 410Nali ste nejak zkonitosti?

    Ako by podla vs mohol vyzerat vsledok nasledujceho vpoctu:"1101 vynsoben cslom 16".

    1.3 LogikaCiel tejto podkapitoly:

  • 7/16/2019 C++ Builder ManualSK

    17/260

    PROBIQ Borland C++ Builder manul Strana 17

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Naucit sa ako poctac vykonva vetky vpocty na zklade trochlogickch funkci.

    V tejto kapitole sa pojednva o logickch prvkoch (hradlch) AND, NOT aOR. Napokon urobme nejak sctanie tak, ako to bude robit poctac.

    V predchdzajcej kapitole sme naznacili, e vetky vpocty poctacamu byt zredukovan na sctanie. Ale ako poctac uskutocnuje tto lohu.Urcite poctac neme poctat ako ludia, ale vykonva vetky vpoctypouvanm jednoduchch logickch prvkov.Tieto prvky sa tie nazvaj logick hradl.Existuj 3 druhy hradiel:Hradlo NOT (negcia)Hradlo AND (konjunkcia)Hradlo OR (disjunkcia)

    Kad z hradiel budeme demontrovat prostrednctvom tabulky hodnt tienazvanej tabulka pravdivostnch hodnt.Predstavuje vetky mon kombincie dvoch vstupnch hodnt A a B azobrazuje vstupn hodnotu C.

    1.3.1 Negcia (nie je pravda, e)

    Prvok NOT je zkladnm hradlom. Tento element len jednoducho otocvstupn hodnotu na jej doplnok. Kede poctac pozn len 0 a 1 nie je toproblm.Jednotkov doplnok zskame takto:A C = NOT At ff t

    T zodpoved pravde (true), f zodpoved nepravde (false).T a f s casto zobrazen ako 1 alebo 0:A C = NOT A1 00 1

    1.3.2 Konjunkcia (a zroven)

    Prvok AND m dve vstupn hodnoty. Ak m byt vstupn hodnota pravda,

    musia byt obe vstupn hodnoty pravda.A B C = A AND B

  • 7/16/2019 C++ Builder ManualSK

    18/260

    PROBIQ Borland C++ Builder manul Strana 18

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    1 1 11 0 00 1 00 0 0

    1.3.3 Disjunkcia (alebo)

    Prvok OR m tie dve vstupn a jednu vstupn hodnotu. Aby bolavstupn hodnota pravda, stac ak bude jedna vstupn hodnota pravda.A B C = A OR B1 1 11 0 1

    0 1 10 0 0

    1.3.4 SctanieS tmito logickmi hradlami poctac vykonva vetky vpocty. Na prkladepredvedieme ako funguje sctanie. Okrem vsledku C me existovat ajzvyok.

    Polovicn sctacka (Half-Adder):Poznmka pre intruktora:Tto schma by sa mala postavit z lega alebo nakreslit na chrbtenevidiacich tudentov.

    A a B s logick hodnoty, ktor sa maj sctat, S je vsledok sctania,C prenos. Sctanie je zaloen na prvku XOR (vylucovac OR). Toto hradlopreveruje, e vstupn hodnota je pravda vtedy a len vtedy ked je prvejedna zo vstupnch hodnt pravda (vid tabulka pravdivostnch hodnt).

    Tu je samotn tabulka pravdivostnch hodnt:a b s c0 0 0 00 1 1 01 0 1 01 1 0 1

    1.4 Poctac a algoritmy

    Ciel tejto podkapitoly:Naucit sa ak je princp vpoctu a co ovplyvnuje vkon poctaca.

  • 7/16/2019 C++ Builder ManualSK

    19/260

    PROBIQ Borland C++ Builder manul Strana 19

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Obsah:V tejto kapitole budeme hovorit o algoritmoch, procesoch, procesoroch,

    programoch a programovacch jazykoch.

    1.4.1 vodHistria viedla k dvom revolcim. Prv bola priemyseln revolcia, druhpoctacov revolcia. V prvom prpade to viedlo k lepiemu vyuitiu fyzickejsily, v druhom prpade k lepiemu vyuitiu rozumovch schopnost.

    Ale akoe mal poctac tak revolucn dopad? Za prv poctac je prstroj,ktor rob jednoduch mechanick mylienkov lohy vykonvanm

    jednoduchch opercii velkou rchlostou.Jednoduchost operci (typickmi prkladmi s sctavanie a porovnvaniedvoch csel) je v nepomere (disproportionate) k rchlosti poctania poctaca(stovky milinov a bilinov operci za sekundu). Vsledkom je velkmnostvo operci, take vcina loh me byt vykonan za krtky cas.

    Ale toto vedie k problmu. Usmernenie poctaca tak, aby vykonval "prcu"znamen povedat, ktor opercie by mali byt realizovan. Musme slovamipopsat ako m byt "prca" vykonan. Tento popis sa nazva algoritmus.

    Algoritmus popisuje metdu na rieenie problmu. Algoritmus pozostvaz postupnosti krokov (sequence), ktor musia byt vykonan bez chb, abysme dospeli k poadovanmu vsledku. Riadenie takhoto algoritmu sanazva proces (process).

    N kadodenn ivot je pln algoritmov, naprklad:Proces Algoritmus Typick kroky algoritmuPecenie kolca Recept odvte mku a cukor, zoberte 3 vajckaHranie hudby noty interpretcia nt

    trikovanie pulvra vzor pre trik. prevrten ocko, pln ockoNa zklade tchto prkladov je termn algoritmus jasn. Ale co je proces?Jednotka realizujca procesy sa veobecne nazva procesor. Procesoromme byt osoba alebo poctac. Poctac je velmi pecifickm procesorom,preto maj poctace tak obrovsk vplyv na n kadodenn ivot.

    Univerzlny poctac m tri hlavn casti:Tie s:1. Procesor (Central Processing Unit - CPU)2. Pamt, ktor uchovva opercie algoritmu, informcie a daje s ktormisa opercia vykon.

  • 7/16/2019 C++ Builder ManualSK

    20/260

    PROBIQ Borland C++ Builder manul Strana 20

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    3. Vstupn a vstupn zariadenia, ktor prenaj algoritmus a daje dohlavnej pamte a cez ne poctac zobraz vsledok svojej prce.

    1.4.2 Co rob poctac vysoko vkonnm?Existuj tri hlavn charakteristiky poctaca:

    1.4.2.1 Rchlost (speed)CPU benho poctaca doke vykonat viac ako 2 biliny operci zasekundu (nazvan MIPS). Velmi komplexn lohy mu byt takvypoctan vykonanm tiscok jednoduchch operci.

    Avak si musme uvedomit, e existuj problmy, ktor nie s adekvtnerieiteln prostrednctvom poctaca, ako napr. netruktrovan prca akos riadiace rozhodnutia.

    1.4.2.2 Spolahlivost (reliability)Napriek veobecnmu presvedceniu s poctacov chyby nezvycajn.Vyhlsenia o vysokch telefnnych ctoch s pripisovan vcinounesprvnym vstupnm hodnotm (input) alebo chybm v algoritmoch. Toto

    je siln i slab strnka poctacov. Poctac vykonva predvolen algoritmusnezvisle na tom, ci je tento algoritmus sprvny alebo nie.

    1.4.2.3 Pamt (memory)Jedna z hlavnch charakteristk poctaca je schopnost uchovvat obrovskmnostvo informci, ktor mu byt velmi rchlo sprstupnen. Kapacitapamte a prstupov rchlost zleia najm na pamtovom mdiu.

    1.4.2.4 Programy a programovacie jazykyU pred tm bolo spomenut, e procesor potrebuje algoritmus navykonanie procesu. Algoritmus mus byt vyjadren spsobom, ktormupoctac rozumie a je schopn ho aj vykonat. Procesor mus byt schopninterpretovat algoritmus, to znamen, ea. mus vediet, co znamen kad jeden krokb. aby bol schopn vykonat operciu.Ak je procesorom poctac, algoritmus mus byt vyjadren vo formeprogramu. Program sa zapisuje v programovacom jazyku. Samotn

    cinnost, ktor musme vykonat pri zapsan algoritmu do programu, sanazva programovanie. Kad krok v algoritme je vyjadren ako intrukcia

  • 7/16/2019 C++ Builder ManualSK

    21/260

    PROBIQ Borland C++ Builder manul Strana 21

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    alebo prkaz v programe. Teda program pozostva z rady intrukci, pricomkad definuje operciu, ktor mus byt poctacom vykonan.

    Typ intrukcie v programe zvis na pouvanom programovacom jazyku.Existuje mnostvo programovacch jazykov. Kad m svoju vlastn saduintrukci. Zkladn jazyky sa nazvaj tzv. strojov jazyky (machinelanguage). S zostaven takm spsobom, e kad intrukcia me bytpriamo pochopen poctacom. To znamen, e CPU je schopn rozumietkadej jednej intrukcii a je schopn ju okamite vykonat. Pretoe tietointrukcie s tak jednoduch (napr. sctanie dvoch csel), kad mevyjadrovat len mal cast algoritmu. Preto je na vyjadrenie vcinyalgoritmov potrebn velk mnostvo intrukci. Programovanie v strojovomjazyku je navn a casovo nrocn.Programovanie sa zjednoduilo vyvinutm tzv. vych programovacchjazykov napr. Cobol, Fortran, C alebo BASIC.Tieto sa daj ovela jednoduchie naucit a s tie pre pouvatelovjednoduchie ako strojov jazyky. Jednotliv intrukcia zahrna vciu castalgoritmu. Samozrejme, e aj tu mus poctac njst vznam kadej jednejintrukcie. Spojenie medzi vymi programovacmi jazykmi a strojovmijazykmi, je stle velmi zke. Takmer vetky programy napsan vo vychprogramovacch jazykoch musia byt, pred tm ne mu byt spusten,

    preloen do strojovho kdu. Preklad vyjadruje kad intrukciu vovyom programovacom jazyku radom ekvivalentmch intrukciv strojovom kde.

    Tento proces je predveden v nasledujcom prklade:Algoritmus

    Programovanievedie k

    programu vo vyom programovacom jazyku

    Prekladvedie kprogramu v strojovom jazykuvedie kinterpretcii prostrednctvom CPU

    (Preferovan proces sa vykon)

  • 7/16/2019 C++ Builder ManualSK

    22/260

    PROBIQ Borland C++ Builder manul Strana 22

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    1.5 Nvrh algoritmu

    Ciel tejto podkapitoly:

    Naucit sa vyhbat chybm v truktre algoritmov, ako sazredukovanm problmu na jednotliv kroky, ktor musia bytrealizovan na vyrieenie problmu, vyvja samotn program.Navye sa naucit o niektorch nstrojoch, ktor pomhaj rieitproblmy.

    Hned na zaciatku tejto kapitoly budeme rozoberat 3 chyby, ktor memeurobit pri programovan: syntaktick, smantick a v logick. Potombudeme hovorit o princpe zhora nadol ("top-down") na rieenie problmov.

    Nakoniec sa naucme ako pouvat nstroje, ktor pomhaj rieitproblmy: postupnost krokov, vetvenie a opakovanie.

    1.5.1 Syntax, smantika, logika: tri druhy chbPo objasnen idei programovania v predchdzajcej kapitole sa terazbliie pozrieme na nvrh algoritmov. Ako bolo u predtm uveden,poctac mus byt schopn interpretovat algoritmus, aby mohol vykonatpopsan proces. To znamen, e procesor mus byt schopn:

    a. pochopit vyjadrenie algoritmub. vykonat pecifick opercie

    Zamerajme sa na bod a):

    Pochopenie algoritmu si vyaduje dva kroky. Najprv mus byt procesorschopn identifikovat symboly, v ktorch je algoritmus prezentovan, apripsat im vznam. K splneniu tchto loh mus mat procesor poznatkyo slovnej zsobe a gramatike jazyka, pouitho na vyjadrenie algoritmu.

    Kvantum gramatickch pravidiel urcujcich ako sa sprvne pouvajsymboly jazyka sa nazva syntax jazyka. Program, ktor je napsan sosprvnou syntaxou sa nazva syntakticky sprvny, co znamen, e kadpouit symbol v programe je pouit sprvnym spsobom. Chybav syntaxi sa nazva syntaktick chyba. Na interpretciu poctacovhoprogramu sa obycajne vyaduje syntaktick presnost.Vnimky z tohto pravidla s povolen iba ak je procesor dost bystr a aj povykonan syntaktickej chyby odhadne zamlan sprvnu syntax. V praxi je

    to velmi zriedkav.

  • 7/16/2019 C++ Builder ManualSK

    23/260

    PROBIQ Borland C++ Builder manul Strana 23

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Druhm krokom k pochopeniu algoritmu je pripsanie vznamu kadmujednmu kroku v algoritme. Toto sa deje vo forme operci, ktor mus

    procesor vykonat. Napr. rovnica vnos = cena * mnostvo znamen, edve csla nazvan cena a mnostvo musia byt vynsoben a tretie cslonazvan vnos predstavuje vsledok. Vznam pecilnych foriem vrazovv jazyku sa nazva smantika. Programovacie jazyky s, co sa tka ichsyntaxe a smantiky, zostaven velmi jednoducho. Take program sa dsyntakticky jednoducho analyzovat, odhliadnuc od jeho smantiky. Inakpovedan, skoro vo vcine programovacch jazykov je velmi jednoduchobjavit syntaktick chyby, ale je velmi tak objavit smantick chyby.

    Na objavenie smantickch rozdielov musme poznat pecifikovanobjekty. Obzvlt musme vediet o vlastnostiach tchto objektov aprepojeniach medzi nimi. To znamen, e procesor me objavitsmantick rozdiely, iba ak m dostatok informci o objektoch s ktormialgoritmus pracuje. Jednoduch prklad to vysvetl ovela presnejie.Predpokladajme, e procesor odhal intrukciu "Nap nzov trinstehomesiaca v roku". Ak procesor vie, e je len dvanst mesiacov v roku, objavtto smantick chybu pred tm, ne sa bude pokat tto intrukciuvykonvat. Ak in procesor nevie nic o mesiacoch a rokoch, bude ttointrukciu akceptovat ako platn a posna sa ju vykonat napr. nespene

    pohlad mesiac v kalendri.Pokial intrukcia nie je vykonvan, procesor si nevimne, e neexistujetrinsty mesiac a a potom bude tto nezrovnalost jasn.

    Popri syntaktickch a smantickch chybch existuje ete tret druh chb,ktor stoja za zmienku. S to logick chyby. Program me byt syntaktickysprvny a bez smantickch nesprvnost, ale nemus popsat elanprocedru sprvnym spsobom. Pozrime sa na nasledujci algoritmus navypoctanie obvodu kruhu:

    "Vypoctaj obvod tak, e vynsob polomer a p.Tento algoritmus je sprvny smanticky i syntakticky. Ale vediek nesprvnemu vsledku kvli chbajcemu koeficientu 2, co vediek logickej chybe.V tomto bode by sme mali jasne kontatovat, e poctac nie je schopnodhalit logick chybu. Na njdenie logickch chb mus clovek strvit caspozorovanm postupnosti krokov algoritmu a pouvanm testovacchdajov.

    1.5.2 Stratgia zhora nadol (top-down) pri rieen problmovtruktra algoritmu je obycajne prekvapujco zloit, najm ked je

  • 7/16/2019 C++ Builder ManualSK

    24/260

    PROBIQ Borland C++ Builder manul Strana 24

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    vykonvan proces komplikovan. Nrocnost zostavenia algoritmu sazvyuje ak je procesorom poctac. Poctacu chba intucia a cit (pre nieco)

    a nie je schopn zistit, ci algoritmus popisuje vyten procedru. Benouchybou je, e postup je takmer, ale nie plne dotiahnut.

    Preto pri zostavovan algoritmu musme zabezpecit, aby algoritmus presnepopisoval proces a vetky okolnosti boli znme. Ak je proces velmikomplexn, nvrh je velmi nrocn. V skutocnosti spech vvojra zvisna presnom metodickom prstupe k zostavovaniu algoritmov. Tento prstupsa nazva nvrh zhora nadol (top-down-design)."Nvrh zhora nadol" je najnovou verziou starho divide et conquera" (lat.rozdeluj a panuj). Princpom je odskanie vkonnho procesu voviacerch malch krokoch, pricom kad jeden je popsan menejrozsiahlym algoritmom, jednoduchm ako cel pvodn proces. Pretoekad z tchto ciastkovch algoritmov je jednoduch ako cel algoritmus,vvojr lahie porozumie ako ho treba zostavit. Z toho dvodu je schopnnavrhovat podrobnejie, ako ked sa poka zaobchdzat s celmalgoritmom.

    Samotn ciastkov algoritmy mu byt tie rozdelen na menie casti, lebocm s jednoduchie, tm detailnejie a presnejie mu byt vyjadren.

    Zdokonalenie v zostavovan algoritmu tmto spsobom me postupovata km s kroky dostatocne detailn a presn na ich vykonanieprocesorom.

    Jednoduch prklad tento kon vysvetl. Predpokladajme, e mme malhorobota pracujceho ako lokaj. Tento robot m algoritmus na prpravu lkykakaa. Prv verzia tohto algoritmu me vyzerat takto:1. Daj zovriet mlieko,2. daj do lky kakao,

    3. napln lku mliekom.Pravdepodobne tieto kroky nie s dostatocne podrobn, take robot imnebude rozumiet. Preto musme doplnit kad jeden krok radoujednoduchch krokov, pricom budeme kad krok pecifikovatpodrobnejie ako pvodn:Naprklad krok1. Daj zovriet mlieko.me byt rozren ako:1.1. Napln ndobu mliekom,

    1.2. zapni varic,1.3. pockaj km mlieko zovrie,1.4. vypni varic.

  • 7/16/2019 C++ Builder ManualSK

    25/260

    PROBIQ Borland C++ Builder manul Strana 25

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Rovnakm spsobom2. Daj do lky kakao.

    me byt rozren ako:2.1. Otvor ndobu s kakaom,2.2. naber za pln lyicku kakaa,2.3. vysyp kakao do lky,2.4. zatvor ndobu s kakaom.A tret krok:3. Napln lku mliekom.me byt rozren ako:3.1. Lej z ndoby mlieko do lky a km (until) lka nie je pln.Tm sme ukoncili prv rozrenie nho pvodnho algoritmu.Ak je n robot schopn interpretovat vetky z tchto krokov sprvnymspsobom, tak je algoritmus rozren a nvrh je skompletizovan.Je vak tie mon, e vylepenie me st o jeden krok dalej. Krok1.1. Napln ndobu mliekom.me byt rozren ako:1.1.2. Prines mlieko z chladnicky,1.1.3. nalej mlieko do ndoby,1.1.4. daj zvyok mlieka spt do chladnicky.

    Po dalom rozirovan u me byt kad jeden krok interpretovanrobotom. V tomto bode je nvrh algoritmu ukoncen.

    1.5.3 Nstroje na rieenie problmovPre vvoj algoritmov s prstupn aj nstroje. V tomto prpade vyuvamepostupnost krokov (sequence), vetvenie (selection) a opakovanie(iteration).

    1.5.4 Postupnost krokov (sequence)V predchdzajcej casti je algoritmus zrejm. Zahrna jednoduch kroky,ktor musia byt vykonan jeden za druhm. Takto algoritmus predstavujepostupnost krokov, co znamen, e:

    Krok sa vykonva v urcitom momente. Kad krok sa vykonva len raz, iadny sa neopakuje, iadny sa

    nevynechva. Dleit je poradie. Kad krok sa rob jeden za druhm.

    Algoritmus je ukoncen vykonanm poslednho kroku.Algoritmus pozostvajci len z postupnosti krokov je neprispsobiv,pretoe proces jeho vykonvania je velmi prsny (rigid) a neme byt za

  • 7/16/2019 C++ Builder ManualSK

    26/260

    PROBIQ Borland C++ Builder manul Strana 26

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    iadnych okolnost pozmenen. Musme vziat do vahy, e kombinciakrokov tvoriacich postupnost je velmi primitvny algoritmus.

    V nasledujcich castiach sa pozrieme na ovela zloitejie schmy.

    1.5.5 Vetvenie (selection)Vetvenie (selection) za urcitch podmienok pouvame na pozmeneniepostupnosti krokov. Spomenme si na robota. N robot by nebol schopnpripravit lku kakaa keby bola ndoba s kakaom przdna. V takomtoprpade by sme mali dostat intrukciu ako tto:- Zober z policky nov, pln ndobu kakaa.Rozdiel medzi oboma prpadmi je rozren novou formulciou:

    Zober z policky ndobu kakaa.(IF) Ak je ndoba przdna(THEN) tak zober z police nov.Odstrn vrchnk z ndobyVeobecn formulcia tejto intrukcie je:

    IF podmienkaTHEN krok

    Kde podmienka oznacuje okolnosti, kedy by sa mal krok vykonat. Ked saspln podmienka, potom sa vykon krok, inak nie.V prklade uvedenom vyie je vetvenie pouit na upresnenie, ci urcitkrok m byt vykonan alebo nie. Rozrenie je realizovan ponknutmdvoch alternatvnych spsobov. Veobecn formulcia takejto monosti je:

    IF podmienkaTHEN krok 1ELSE krok 2

    Kde podmienka jasne upresnuje, ci krok 1 alebo krok 2 maj byt vykonan.Vezmime do vahy, e je mon pouit aj daliu podmienku IF na miestekroku 2. Toto sa nazva viacnsobn vetvenie.Prednostou vetvenia je, e umonuje procesu prejst algoritmom rznymispsobmi v zvislosti od okolnost. Vnoren vetvenie poskytuje niekolkospsobov. Bez vetvenia by nebolo mon napsat algoritmus pre praktickpouitie.

    1.5.6 Opakovanie (iteration)Prostrednctvom opakovania (iteration) sa pokame njst monosti

  • 7/16/2019 C++ Builder ManualSK

    27/260

    PROBIQ Borland C++ Builder manul Strana 27

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    zopakovania urcitch cast algoritmu. Naprklad ptrame po urcitom menev nekonecnom zozname mien. Meme byt schopn vytvorit algoritmus,

    ktor pracuje vhradne s vnorenm vetvenm, ale toto rieenie by neboloza iadnych okolnost uspokojujce.Tu sa objavuje opakovanie, ktor je veobecne formulovan ako:

    REPEATalgoritmus

    UNTIL podmienka

    Toto znamen, e cast algoritmu medzi rezervovanmi slovami REPEAT(opakuj) a UNTIL (a km) mus byt opakovan a km nebude platitpodmienka umiestnen za UNTIL.Tomuto opakovaniu hovorme cyklus (loop) a cast, ktor m bytzopakovan sa nazva telo cyklu (loop body). Podmienka nasledujca zaUNTIL sa nazva podmienka ukoncenia cyklu (termination condition). Dalnzov pre tento druh cyklu je cyklus s podmienkou na konci.

    Prednostou opakovania je monost vyjadrit proces s nedefinovanou dlkoupomocou algoritmu s pevnou dlkou. Ale jednou z najvnejch chbviacerch vvojrov je zanedbanie presnho definovania podmienky

    ukoncenia. Tento prpad sa nazva uzavret cyklus (closed loop), coznamen, e tento cyklus sa nikdy neukonc a algoritmus nikdy neprestanepracovat.Cyklus repeat ... until ... nie je jedinm monm opakovanm. Tento cyklusm na konci svoju podmienku ukoncenia, co znamen, e telo cyklu savykon aspon raz.V niektorch prpadoch nie je nutn vykonat telo cyklu, lebo podmienka nazaciatku cyklu nie je splnen. Pre tento prpad existuje cyklus while ...repeat .... (km plat ... opakuj ...)

    Veobecn zpis je:

    WHILE podmienka REPEATtelo cyklu

    To znamen, e telo cyklu bude vykonan len pokial je podmienkasplnen. Ale v tomto prpade telo cyklu nemus byt vykonan ani raz. Pretosa tento druh cyklu nazva cyklus s podmienkou na zaciatku.

    Poslednm z opakovan je velmi jednoduch opakovanie. V tomto prpadeje pocet opakovan znmy ete pred tm ako sa cyklus zacne vykonvat.

  • 7/16/2019 C++ Builder ManualSK

    28/260

    PROBIQ Borland C++ Builder manul Strana 28

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Veobecn zpis je:

    REPEAT n-krttelo cyklu

    Kde N predstavuje akkolvek cel cslo. Tento druh cyklu (loop) sa nazvacyklus s konecnm poctom opakovan.Ako dlho tento cyklus trv, je znme od zaciatku a koniec je tie jasn.Tento druh cyklu predstavuje bezpecn spsob nvrhu algoritmov, ale nieje tak vkonn ako oba predchdzajce cykly.

    1.5.7 Dalie cviceniaTu s uveden nejak krtke algoritmy pre rzne typy cyklov. Pokste satmto prkladom porozumiet.1. Prv prklad pre vetvenie je algoritmus, ktor pouvate, ked prdetek semaforu.

    (IF) Ak je svetlo cerven alebo oranov(THEN) tak zastan(ELSE) inak chod dalej

    2. Ak sa semafor pokaz, mohli by sme rozrit algoritmus:

    (IF) Ak nie je na kriovatke iadne svetlo,(THEN) tak ofruj s mimoriadnou opatrnostou(ELSE) (IF) inak Ak je svetlo na kriovatke cerven alebo oranov

    (THEN) tak zastan(ELSE) inak pokracuj v jazde

    (Toto je prklad viacnsobnho vetvenia.)

    3. Hladte najvcie z troch csel. Mete vak porovnvat len dve cslanaraz. Ak s tieto csla oznacen X, Y a Z , algoritmus je:

    (IF) Ak x > y(THEN) (IF) tak Ak x > z

    (THEN) tak vyber x(ELSE) inak vyber z

    (ELSE) (IF) inak Ak y > z(THEN) tak vyber y(ELSE) inak vyber z

  • 7/16/2019 C++ Builder ManualSK

    29/260

    PROBIQ Borland C++ Builder manul Strana 29

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    4. V zozname mien vyhladvate urcit meno a chcete zskat i adresu. Bolby tento algoritmus rieenm?

    Prectaj prv meno v zozname.(REPEAT) opakuj

    (IF) ak je to hladan meno(THEN) tak zapamtaj si priraden adresu.(ELSE) inak ctaj nasledujce meno v zozname

    (UNTIL) a km sa meno nenjde alebo je koniec zoznamu

    Co by sa stalo, keby v casti UNTIL chbal text "alebo je koniec zoznamu".

    5. Chcete zskat scin prvch n csiel. V matematike tomu hovorme n-faktoril alebo n! Algoritmus me byt:

    Zober hodnotu nnastav scin na 1(REPEAT) opakuj pre kad cel cslo od 1 po n

    vynsob scin celm cslomzap scin

    Ku ktormu druhu cyklu patr tento prklad?

    Viac prkladov na nvrh algoritmovNavrhnite algoritmus, ktor njde vetky prvocsla. Ako by sme mohlipoctat ak je cslo prvocslom. Ako by mohol vyzerat algoritmus, ktornjde vetky prvocsla najbliie k hocijakmu cslu?Znmym prkladom v matematike je urcenie najvcieho spolocnhodelitela dvoch celch csel. Ak nepouvate cyklus s podmienkou na konci,tak to zdvodnite.

    1.6 Prekladov programy

    Ciel tejto podkapitoly:Naucit sa, ktor z nstrojov slia na preloenie kdunapsanho v danom programovacom jazyku do strojovho kdu.

    V tejto kapitole sa budeme ucit o kompiltore, linkeri (spojovac program),assembleri a interpretri a tie ako sa tieto nstroje pouvaj.

    Ako bolo spomenut v predchdzajcich kapitolch vcina programov,

  • 7/16/2019 C++ Builder ManualSK

    30/260

    PROBIQ Borland C++ Builder manul Strana 30

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    ktor nie s napsan v strojovom jazyku, ale vo vyom programovacomjazyku, ako s C a Pascal, sa musia preloit do strojovho kdu. Na toto

    slia nstroje ako kompiltor, linker, assembler a interpreter. Terazbudeme tieto nstroje identifikovat. Na zaciatku zopakujeme definciuprekladacieho programu.Prekladac program je nstroj, ktor cta intrukcie vo vyomprogramovacom jazyku alebo jazyku assemblera, analyzuje a prevdza ichdo strojovch intrukci rovnakho vznamu.Okrem vlastnho prekladania (= konverzie vrazov na in) sa pvodnprogram syntakticky testuje a v prpade potreby sa zobrazuj chybovhlsenia.

    Assembler je prekladov program, ktor konvertuje pvodn intrukciepsan v pvodnom jazyku assemblera do vslednch intrukciprimeranho strojovho jazyka. Termn jazyk assemblera tu pouvame poprvkrt a preto ho aj hned vysvetlme. Jazyk assemblera je nstrojreprezentujci strojov kdy ako zapamtatelnejie a zrozumitelnejie.Intrukcie s tak zobrazen mnemotechnickmi skratkami, s ktormi sapracuje ovela jednoduchie.Prkaz na spoctanie dvoch csel me vyzerat ako:

    ADD 3, 4 (sctaj)

    Kompiltor je prekladac program, ktor konvertuje pvodn kd psanvym programovacm jazykom na vsledn intrukcie v strojovoorientovanom jazyku.Vslednm jazykom kompilovania je spravidla samotn strojov jazyk(vsledn kd), ale preklad sa niekedy rob aj do jazyka assemblerapecifickho pre konkrtny poctac. Pocas prekladu je pvodn intrukciaobycajne rozdelen na vela intrukci v strojovom kde (tzv. preklad 1 ku

    n).

    Assembler a kompiltor prekladaj cel pvodn programy do vslednchprogramov pred tm, ne s spusten. Pocas tohto prekladu nie je mondo programu zasahovat.

    Vsledn programy vytvoren assemblerom a kompiltorom nie ssptateln, lebo sa ete musia pridat niektor casti programu, ktorpvodn program potreboval, ako napr. vstupno/vstupn procedry.

    Toto vykonva linker, ktor zroven prepoctava prslun (extern) adresyvzhladom na zaciatok programu. Teraz je program nactateln aspustiteln.

  • 7/16/2019 C++ Builder ManualSK

    31/260

    PROBIQ Borland C++ Builder manul Strana 31

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Interpreter je program, ktor ihned preklad a vykonva existujci zdrojov

    kd. To znamen, e sa nevytvra iadny vsledn kd. Nevhodou je, etouto metdou vytvorme pomaly spustiteln program. Spomnan postupspjania (linking) sa nepouva. Program be dynamicky, bez psobeniapouvatela. Prednostou interpretera je interaktvne programovanie.

    Prkladmi interpretera s programovacie jazyky ako BASIC, APL, VBA,Perl. Tieto s vcinou interpretovan. In vyie programovacie jazykyako Pascal, Cobol, Fortran, C, Java alebo Visual Basic vyuvaj rznekompiltory a spojovacie programy (linker).

    1.7 Prloha: Riadiace truktry v praxi

    Ciel:Naucit sa nieco o realizcii rznych riadiacich truktr v rznychjazykoch.

    V tejto kapitole budeme rozoberat opercie cyklus (loop) s podmienkou nakonci, cyklus s podmienkou na zaciatku, cyklus s konecnm poctomopakovan a vetvenie (selection) v jazykoch Basic, C/C++, a Pascal.

    Dalej ukeme jednotliv riadiace truktry v bench programovacchjazykoch C/C++, Pascal a BASIC.

    1.7.1 Cyklus s podmienkou na konci

    BASIC:DO

    telo cyklu

    LOOP UNTIL podmienka

    C/C++:do

    {telo cyklu

    }while (podmienka)

    Pascal:repeattelo cyklu

  • 7/16/2019 C++ Builder ManualSK

    32/260

    PROBIQ Borland C++ Builder manul Strana 32

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    until podmienka

    V jazykoch Basic a Pascal njdete slovo until (a km) pri podmienkeukoncenia cyklu. V oboch tchto prpadoch me niekto pochopit cykluss podmienkou na konci v zmysle, e cyklus je pravdiv, ked sa dosiahnepodmienka ukoncenia. Na rozdiel od C/C++, kde zistte, e podmienkaukoncenia je while (km). Tu sa cyklus opakuje tak dlho, pokial podmienkaplat (t. j. je pravdiv).

    1.7.2 Cyklus s podmienkou na zaciatkuBASIC:

    DO WHILE podmienkatelo cyklu

    LOOP

    C/C++:while (podmienka)

    {telo cyklu

    }

    Pascal:while podmienka

    begintelo cyklu

    end

    1.7.3 Cyklus s pevnm poctom opakovan

    BASIC:FOR pocitadlo=1 TO 20Loop telo cyklu

    NEXT pocitadlo

    C/C++:FOR (pocitadlo =0; pocitadlo

  • 7/16/2019 C++ Builder ManualSK

    33/260

    PROBIQ Borland C++ Builder manul Strana 33

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    FOR pocitadlo:=1 to 20 dobegin

    telo cykluend

    Na zlepenie citatelnosti sme v tejto casti pouili odsadenie blokov kdu.V programovacch jazykoch ako C a Pascal s takto bloky zapsanpomocou symbolov {} (zloen ztvorky) v C a prkazov begin (zaciatok)a end (koniec).

    1.7.4 Vetvenie

    BASIC:IF podmienka

    THEN vetva 1ELSE vetva 2

    END IF

    C/C++:if (podmienka) vetva 1;

    else vetva 2

    Pascal:if podmienka

    then vetva 1else vetva 2

  • 7/16/2019 C++ Builder ManualSK

    34/260

    PROBIQ Borland C++ Builder manul Strana 34

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Kapitola 2: Zklady C++

    Ciel tejto kapitoly:Zskat prehlad o histrii C, C++, prostredia Borland C++ Builder apozriet sa aj na in nstroje pre C++.

    tudent by mal tie zskat strucn prehlad o C/C++ a o jeho prepojen nain programovacie jazyky.

    2.1 Histria C++, Borland C++ a defincia tohto programovaciehojazyka

    V tejto casti budeme hovorit o rozvoji C v sedemdesiatych rokoch a dalomrozvoji C++ v rokoch osemdesiatych. Potom si ukeme, ako Windowsprispel k rozvoju grafickch vvojrskych prostred (graphical developmentenvironments).

    C bol vyvinut v rokoch 1971/72 v A&T Bell Laboratories pre operacn

    systm UNIX. Jeho tvorcami boli Denis Ritchie a Brian Kernighan.Predchodcom C bol programovac jazyk nazvan B. V roku 1978 C dostalsvoju prv presn definciu a v roku 1983 the American National StandardInstitute (ANSI) tandardizoval C na ANSI C.

    V tom case bol C ete stle procedurlnym programovacm jazykom. Toznamen, e raz naprogramovan kd mohol byt pouit len pre jedenprojekt a nemohol byt dalej rozvjan ci (jednoducho) pouit v dalomprojekte.Z tohto dvodu bol C dalej rozvinut na C++, objektovo orientovanprogramovac jazyk (OOP), ovela vkonnej ako C. Objektovoorientovan kd sa me pouit viac ako raz, lebo kad objektovoorientovan program je samostatn celok (tzv. "zapzdren") a nov OO-projekt me byt odvoden z existujceho OO-projektu (tzv. pretaenie -overloading a dedicnost - inheritance). Take, pouvanm OOP nemusteznova "objavovat koleso" pre kad nov programovac projekt. PodstatouC++ je stle C, take casto s oba spomenut spolocne ako C/C++.

    Ked sa zacal pouvat Microsoft Windows, vvojri museli naprogramovat

    okn, ponuky, kurzory pre my, tlacidl, vstupn polcka, rozbalovaciezoznamy atd. Toto bolo velmi zdlhav a nudn. Tak niektor vrobcovia

  • 7/16/2019 C++ Builder ManualSK

    35/260

    PROBIQ Borland C++ Builder manul Strana 35

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    (ako spolocnosti Microsoft alebo Borland) priniesli na trh nstroje, ktorobsahovali vetky tieto komponenty a tieto nstroje pouvali programtori.

    Nazvaj sa Integrovan vvojrske prostredia (Integrated DevelopmentEnvironments - IDE). Najznmejie s Visual Basic a Visual C++ odspolocnosti Microsoft, a Delphi a C++ Builder od spolocnosti Borland.

    Borland bol u slvny svojimi rchlymi kompiltormi pre C/C++ (kompiltorys nstroje, ktor vytvoria aplikciu z programovacieho kdu). TakeBorland C++ Builder je programovac nstroj zaloen na IDE, ktorvyuva C a C++ na programovanie aplikci.

    2.2 C++ - jeho kategorizcia a prednostiC++ je, ako bolo pred tm spomenut, objektovo orientovan programovac(OOP) jazyk. Nie je vak jedin. Existuj aj in ako napr. SmallTalk, Java,Delphi. Niektor si myslia, e to nie je najlep OOP jazyk, ale je irokopouvan, vlastne samotn Microsoft Windows je naprogramovanprevane v C++ a tzv. WinAPI-funkcich, funkcie dostupn preprogramtorov priamo od spolocnosti Microsoft pre priamu interakcius Windows, s napsan v C++.

    Vela inch programovacch jazykov je odvodench z C/C++ napr. Java,Perl, PHP. Take ak ovldate programovanie v C/C++, lahko mete prejstk tmto programovacm jazykom. C++ pouva rovnak syntax (spsobakm zapisujete programovac kd) ako C. A co viac, mete napsat Cprogramy s C++, pretoe C je vlastne C++ bez OOP.Z toho dvodu sa nazva C/C++. Koncepcia OOP je v tomto manulipredstaven a doplnen prkladmi o nieco neskr.

    C++ sa lahko rozril o niektor funkcie. Jednou z hlavnch koncepci C++

    je pouitie funkci pre programy, ktor s uchovan v sboroch nazvanch"kninice" (libraries). Take ak chcete sprstupnit urcit, vaminaprogramovan funkcie, mete ich zverejnit spolu s kninicou a kadin programtor ich bude schopn pouit. Vela inch programovacchjazykov navzovalo na tto koncepciu, ale toto je ete stle, jednaz koncepci ktor rob C/C++ takm vkonnm.

    Dalou prednostou C/C++ je, e mete programovat na nzkej rovni,velmi blzko k vami pouvanmu hardvru. Vcina tzv. "volan funkci"

    hardvru s C volania?. Take ak chcete vyvint programy, ktor vyuvajosobit funkcie zariaden, pouvajte C/C++.

  • 7/16/2019 C++ Builder ManualSK

    36/260

    PROBIQ Borland C++ Builder manul Strana 36

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Borland-Builder prichdza v troch verzich, rozdielnych vo vybaven av cene:

    The Borland C++ Builder Standard: najmenie vybavenie, bez nstrojov napripojenie databzy;The Borland C++ Builder Professional: vcie vybavenie a nstroje napripojenie databzy;The Borland C++ Builder Enterprise: vcina vybavenia pre velkprogramovacie skupiny a pre rozvoj sietovch aplikci.

  • 7/16/2019 C++ Builder ManualSK

    37/260

    PROBIQ Borland C++ Builder manul Strana 37

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Kapitola 3: vod do IDE BCB 5

    Ciel tejto kapitoly:

    Prejst vodom do Integrovanho vvojovho prostredia (IDE)Borland C++ Builder 5.

    3.1 IDE BCB5

    IDE (Integrated Development Environment) je vkonn editor, ktor nm

    pome vytvrat programy pre Windows a pre DOS. Dalej spomnan vecis menej dleit.

    IDE nm pome

    a) vytvrat programy vzhladom podobn Windows, s oknami,

    s ponukami, s tlacidlami, s rozbalovacmi zoznamami, kurzormi

    myi a pod. bez nutnosti zaoberat sa detailami.

    b) jednoducho psat funkcie pre nae tlacidl, ponuky, rozbalovaciezoznamy, a pod.

    c) jednoducho spravovat aplikcie pozostvajce z mnohch cast

    d) jednoducho hladat chyby (nazvan bugy) v naom kde

    e) jednoducho psat vkonn aplikcie s monostou prepojenia

    s databzou

    f) jednoducho psat internetov aplikcie

    g) velmi jednoducho robit mnoho inch vec, ktor programtor rob.

    Preco programtori, pecilne nevidiaci programtori, potrebuj nvodk BCB? IDE programu Borland Builder nie je obsiahnut v jednomaplikacnom okne, ale pozostva z mnohch okien plvajcich na ploche,za ktormi je pracovn plocha MS Windows (alebo in programy, ktor stenechali otvoren na pozad). Teda, ak ctame obrazovku riadok po riadku

    s naim ctacom obrazovky, njdeme informcie, ktor patria k Builderuako aj informcie, ktor patria k inm programom.

  • 7/16/2019 C++ Builder ManualSK

    38/260

    PROBIQ Borland C++ Builder manul Strana 38

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Ak spustme Builder po prv krt, objavia sa tieto 4 okn:

    1) Builder C++ - Project1 - okno v hornej casti obrazovky obsahujce

    aplikacn ponuku a panely nstrojov.

    2) Object Inspector - okno na lavej strane obrazovky.

    3) Okno Form1, prislchajce k nmu prvmu programu, nad prvm

    a napravo od druhho okna.

    4) Unit1.cpp - okno, ktor pod oknom Form1 nie je viditeln,

    obsahujce kd nho programu.

    Meme zatvorit kad okno okrem prvho okna Builder C++, pretoe

    tm zatvorte Borland Builder C++ 5.

    Okno Builder C++ aktivujeme klvesom ALT. Okno Object Inspectoraktivujeme funkcnm klvesom F11. Medzi oknami Form1 a Unit1.cppsa prepname funkcnm klvesom F12. Ak mme problm s prepnanm,stlacme najprv ESC.

    Ako sme u mono uhdli, nzvy okien Form1 a Unit1.cpp s lendocasn nzvy pre n prv projekt s docasnm nzvom Project1. Aknau prcu prv krt ulome, dostan okn nzvy, ktor sme im dali.Tak isto meme pristupovat ku vetkm oknm cez ponuku View,ALT+V. Je ich mnoho, ale teraz sa nebudeme zmienovat o vetkch,pretoe pre ns nebud mat vznam skr, ne zacneme programovat. Aksme omylom jedno z nich otvorili, zatvorme ho klvesovou skratkouALT+F4. Tento prkaz nezatvor Borland Builder, ale zatvor aktvne okno.Nau prcu v Borland Builder-i meme skoncit aktivovanm ponuky Filea Exit, alebo skrtene ALT+F, X.Hlavn okno Builder C++ bude opsan v dalej kapitole, ale niektorokn opeme teraz.

    3.1.1 Okno FormOkno Form1 je plocha naej prvej aplikcie. Je to okno na ktor budeme

    umiestnovat tlacidl, psat text, umiestnovat rozbalovacie zoznamy a pod.

    Tieto sa nazvaj "komponenty" (components).

  • 7/16/2019 C++ Builder ManualSK

    39/260

    PROBIQ Borland C++ Builder manul Strana 39

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Ak sme funkcnm klvesom F12 aktivovali okno Form, budeme sa

    prepnat medzi vetkmi komponentmi, ktor sme umiestnili do formulra.

    Ak sme aktivovali jeden z komponentov vo formulri (alebo formulr

    samotn), stlacme F11 a aktivujme okno Object Inspector.

    3.1.2 Okno UnitOkno Unit obsahuje vetok kd programu - ten, ktor je generovanautomaticky (velmi dobre!) a ten, ktor peme sami (ete lepie!).Okno unit je editor Borland Builder-u C++ 5.

    Pretoe Builder generuje kd automaticky, okno nie je przdne ani ak ho

    otvorme prv krt.

    Okno unit obsahuje vetky sbory unitu, do ktorch sme uloili kd, a tie

    aj nejak dalie textov sbory. Tieto sbory meme aktivovat stlacenm

    CTRL-TAB. Ak sbor unitu nememe dosiahnut stlacenm CTRL-TAB,

    muste ho najprv otvorit.

    Sbor unitu, alebo pomocn sbor, meme zatvorit stlacenm CTRL+F4.

    3.1.3 Inpektor objektov ("Object Inspector")Okn Object Inspector-a obsahuj informcie o komponentoch vo

    formulri, ktor sme pred tm aktivovali.

    Je tu:

    zoznam momentlne pouvanch objektov na tomto formulri,

    zoznam vlastnost (properties) zvolenho objektu,

    a na dalej zloke zoznam udalost (events) zvolenho objektu.

    Podrobnejie:a) Meno aktulneho komponentu, nasledovan dvojbodkou a druhom

    komponentu, ku ktormu prislcha aktulny komponent,

    napr. Form1:TForm1", co znamen komponent s nzvom Form1typu TForm1 (ak ste sksen programtor mete povedat objekt

  • 7/16/2019 C++ Builder ManualSK

    40/260

    PROBIQ Borland C++ Builder manul Strana 40

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Form1 triedy TForm1"). Tto informcia sa nachdza na vrchu

    inpektora objektov pod titulkom okna. Meme k nej pristupovat

    stlacenm klvesovej skratky CTRL+ipka dolu. Tmto otvorme

    zoznam vetkch komponentov vo formulri a meme jeden z nich

    nastavit ako aktvny.

    b) Zoznam s "vlastnostami" (properties) aktulneho komponentu ako

    nzov, dlka, vka a mnoho inch. Tieto informcie s

    zobrazovan v tabulke s dvoma stlpcami. Lav stlpec obsahuje

    nzov vlastnosti, prav hodnotu vlastnosti, napr. v lavom Name,

    v pravom Form1. Kad riadok obsahuje informcie o jednej

    vlastnosti. Medzi vlastnostami sa meme prepnat pkou hore

    alebo pkou dolu. Medzi pravm a lavm stlpcom sa meme

    prepnat klvesom TAB.

    Nzvy vlastnost v lavom stlpci s utrieden podla abecedy.

    Rovnako meme pristupovat ku konkrtnej vlastnosti ak poznmejej meno. Ak budeme psat nzov vlastnosti v lavom stlpci, budeme

    sa pribliovat k zvolenej vlastnosti tm viac, cm viac psmen

    napeme. Naprklad ak stlacme n presunieme sa na riadok

    s prvou vlastnostou, ktor zacna psmenom n, v naom prpade

    k vlastnosti Name. Stlacme klves TAB a prepneme sa do

    pravho stlpca, ktor obsahuje aktulnu hodnotu vlastnosti Name,co je nzov aktulneho formulra - Form1. Napme nov nzov a

    premenujeme n formulr (mono n formulr pomenujeme

    frm_MyFirstForm, kde zaciatok frm hovor, e pomenovan

    komponent je typu Form a cast za znakom podciarknutie je nejak

    nami zvolen nzov).

    S Properties meme urcit mnoho vlastnost aktulnehokomponentu. Napr. ho meme bez pouitia myi umiestnit do

  • 7/16/2019 C++ Builder ManualSK

    41/260

    PROBIQ Borland C++ Builder manul Strana 41

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    formulra s vlastnostami Top a Left, kde Top je vzdialenost

    medzi hornm okrajom formulra a hornm okrajom aktulneho

    komponentu a Left je vzdialenost medzi lavm okrajom formulra

    a lavm okrajom aktulneho komponentu.

    Ak je aktulny komponent formulr, vzdialenosti s medzi okrajmi

    obrazovky a formulra.

    Neskr uvidme, e vlastnosti komponentu meme menit v kde

    programu.

    Ak je kurzor na riadku vlastnosti a stlacme F1, vyvolme

    pomocnka k tejto vlastnosti.

    Niektor vlastnosti musia mat urcit preddefinovan hodnoty.

    Potom prav stlpec s hodnotou je realizovan ako rozbalovac

    zoznam, ktor meme otvorit stlacenm klvesovej skratky

    ALT+pka dolu. Naprklad vlastnost Enabled (odblokovan) me

    byt true (pravda) alebo false (nepravda). Tieto hodnoty sobsiahnut v rozbalovacom zozname.

    Niektor vlastnosti mu byt komplikovanejie a prislcha im

    dialgov okno. Existencia dialgovho okna urcitej vlastnosti je

    indikovan tlacidlom s troma bodkami, umiestnenm na pravom

    okraji stlpca s hodnotou. Dialgov okno meme otvorit stlacenm

    klvesovej skratky CTRL+ENTER. Naprklad vlastnost Font mdialgov okno pre nastavenie psma.

    A nakoniec niektor vlastnosti obsahuj skupinu ciastkovch

    vlastnost, napr. vlastnost Font. Existuj dve informcie, ktor

    indikuj skupinu vlastnost: prvou je znamienko plus (+) na lavej

    strane nzvu vlastnosti a druhou je uzavretie hodnoty vlastnosti do

    hranatch ztvoriek. Stlacme klves plus (+) v lavom stlpcis nzvom vlastnosti pre otvorenie skupiny a stlacme pku dolu pre

  • 7/16/2019 C++ Builder ManualSK

    42/260

    PROBIQ Borland C++ Builder manul Strana 42

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    prehliadku skupiny. Stlacme klves mnus (-) pre zatvorenie skupiny

    (aby sa zatvorila, kurzor mus byt na nzve skupiny).

    c) Okrem Properties tu je aj dalia zloka Events (udalosti). Medzi

    Properties a Events sa meme prepnat stlcanm klvesovej

    skratky CTRL+TAB.

    Udalosti spta pouvatel programu, napr. kliknutm, dvojitm

    kliknutm, stlacenm klvesu a mnohmi dalmi cinnostami alebo

    cinnostami okien ako otvranie a zatvranie formulra. Udalosti s

    vhodne pomenovan OnClick, OnDblClick, OnKeyPress,

    OnShow, OnClose. K udalosti meme pristupovat rovnako ako

    k vlastnosti. Na zaciatku s vak hodnoty vetkch udalost

    przdne. Hodnotou udalosti je nzov funkcie, urcitej casti kdu

    programu ktor urc napr. tlacidlu co robit, ak nastane udalost

    OnClick.

    Ak sa kurzorom nastavme do stlpca s hodnotou urcitej udalosti astlacme CTRL+ENTER prepneme sa do okna Unit1.cpp (ak sme

    ho doteraz neuloili a nepomenovali). Ak bola predtm hodnota

    przdna, teraz obsahuje nzov funkcie a funkcia s tmto nzvom je

    automaticky vytvoren v okne unit (aj so vetkm co potrebujeme

    pri definovan funkcie). Teraz u len napeme n kd programu.

    Jednoduch, pravda?Ak u bola k udalosti priraden funkcia, okno unitu je automaticky

    aktivovan a kurzor je nastaven na tejto funkcii.

    3.1.4 Zoznam okien (Window-List)Ak mme otvorench viacero okien (niekedy sa to stane), meme otvoritdalie okno - zoznam okien (Window-List) v ponuke View, alebostlacenm ALT+0. V tomto zozname njdeme vetky otvoren okn. Naaktivciu jednho z nich pouijeme pky a ENTER.

  • 7/16/2019 C++ Builder ManualSK

    43/260

    PROBIQ Borland C++ Builder manul Strana 43

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    3.1.5 Zoznam komponentov (Component-List)Ak chceme do formulra umiestnit jeden alebo viac komponentov otvorme

    zoznam komponentov (component-list) v ponuke View, skrtene ALT+V,

    C.

    Zoznam obsahuje vetky dostupn typy komponentov.

    Na presvanie sa medzi komponentmi meme pouit pku hore a pkudolu. Ale pozor: v zvislosti na tom ak verziu Builder-a pouvame mezoznam obsahovat viac ako 100 komponentov. Teda je jednoduchie, ak

    vieme aspon priblin nzov komponentu. Vcina nzvov komponentovzacna psmenom T. Teda napeme T plus meno komponentu a tm hoaktivujeme, napr. TBu pre njdenie TButton. Potom stlacme ENTER atm ho vlome do formulra. Vdy ked stlacme ENTER, vlome doformulra dal komponent zvolenho typu (ak vkladte komponenty typutbutton, s tandardne pomenovan Button1, Button2, Button3, atd.).Ak sme skoncili, stlacme ESC, cm zatvorme zoznam komponentov.

    3.1.6 Okno sprv (Messages-Window")Ak sa objav okno sprv, znamen to, e nieco s kdom programu nie jev poriadku, e obsahuje chybu. Okno sprv sa zobraz automaticky akspustme nau aplikciu prkazom Run z ponuky Run alebo stlacenmF9. Ak Builder njde chybu v kde nho programu, pozastav spustenieaplikcie a uke riadok s chybou a okno sprv, v ktorom chybu ope.Takto ju meme jednoducho opravit.

    Pri tandardnch nastaveniach je ale okno sprv pre nevidiacich

    pouvatelov tako dostupn, alebo plne nedostupn pre tch, co

    nepouvaj poctacov my. Okno sprv je tandardne umiestnen

    v spodnej casti okna unitu. Ale meme do neho kliknt, stlacenm

    shift+F10, otvorit kontextov ponuku a deaktivovat poloku Dockable

    (pozn. prekladatela: ci bude okno sprv scastou okna unitu alebo bude

    samostatn). Potom meme k oknu sprv pristupovat cez zoznam okien

    (ALT+0) alebo cez kontextov ponuku okna unitu a poloku Message-

  • 7/16/2019 C++ Builder ManualSK

    44/260

    PROBIQ Borland C++ Builder manul Strana 44

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Window, skrtene SHIFT+F10, M.

    Okno sprv bude samostatn (undocked) a km nezavrieme Builder.

    V okne sprv njdeme vetky chybov sprvy. Nastavme sa na sprvu,

    prectajme si ju, stlacme CTRL+ENTER alebo CTRL+S a presunieme sa

    do okna unitu na miesto, kde sa chyba vyskytla. Po tom ako sme opravili

    chybu v kde programu, presunme sa spt do okna sprv a urobme to ist

    s dalou chybou.

    Po opraven vetkch chb znovu spustime nau aplikciu stlacenm F9.

    3.1.7 Dalie oknDalie okn bud opsan na mieste, kde ich budeme pouvat po prv

    krt.

    3.2 Ponuky, panely nstrojov a panely komponentov prostrediaBCB5

    Ciel tejto podkapitoly:Zskat prehlad o ponukch a paneloch nstrojov prostrediaBuilder. Takisto sa naucit nieco o pecilnom paneli, o panelikomponentov ("component-bar").

    3.2.1 Ponuky

    Ponuky s tu opsan len veobecne, pretoe nie je potrebn poznat kad

    prkaz v kadej ponuke ak ich nememe zlcit s nejakou funkciou pri

    programovan.

    V hlavnej ponuke sa nachdza devt ponk.Ponuka File (sbor), skrtene ALT+F:Tak ako v inch programoch, aj tu s prkazy New (nov), Open (otvorit) aSave (uloit). Pretoe Builder pozn viac ako jeden typ sboru, je tu viac

    ako jeden prkaz New, Open a Save.Ponuka Edit (pravy), skrtene ALT+E:Ponuka Edit obsahuje prkazy Cut (vystrihnt), Copy (koprovat), Paste

  • 7/16/2019 C++ Builder ManualSK

    45/260

    PROBIQ Borland C++ Builder manul Strana 45

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    (vloit), Delete (vymazat) a nejak dalie podobn prkazy, ale tak isto ajprkazy na zmenu velkosti a umiestnenia komponentov vo formulri.

    Ponuka Search (hladat), skrtene ALT+S:Tu sa nachdzaj prkazy na vyhladvanie a nahrdzanie textu a prkazytypu chod na (go to).Ponuka View (zobrazit), skrtene ALT+V:Tu mete njst vetky okn Builder-a.Ponuka Project (projekt), skrtene ALT+P:Tto ponuka obsahuje mnostvo prkazov na sprvu nho aktulnehoprojektu.Ponuka Run (spustit), skrtene ALT+R:Tu s prkazy na sptanie a testovanie naej aplikcie a prkazy naladenie aplikcie (tzv. debugging = hladanie chb).Ponuka Component (komponent), skrtene ALT+C:Tto ponuku potrebujeme, ak chceme pouvat komponenty, ktor Buildertandardne neobsahuje, ale ich vytvoril in programtor, aby zjednoduilivot kamartom programtorom.Ponuka Tools (nstroje), skrtene ALT+T:Tu meme vo veobecnosti menit niektor predvolen nastavenia editora,IDE vo veobecnosti.Ponuka Help (pomocnk), skrtene ALT+H:

    Slovo pomocnk hovor samo za seba.

    3.2.2 Panely nstrojovtandardne mme pt panelov nstrojov umiestnench na pravej strane

    hlavnej ponuky a v dvoch riadkoch pod hlavnou ponukou. Zobrazovanie

    alebo nezobrazovanie kadej z nich je mon nastavit v kontextovej

    ponuke, skrtene SHIFT+F10.Panel nstrojov Standard (tandardn) je prv pod hlavnou ponukou a

    obsahuje tlacidl

    New (nov)

    Open (otvorit - so zoznamom naposledy otvranch sborov)Save (uloit)

    Save All (uloit vetko)

    Open Project (otvorit projekt)

  • 7/16/2019 C++ Builder ManualSK

    46/260

    PROBIQ Borland C++ Builder manul Strana 46

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Add File to Project (pridat sbor k projektu)

    Remove from Project (odstrnit z projektu)

    Panel nstrojov View (zobrazit) je pod panelom standard a obsahuje

    tlacidl

    View Form (zobrazit formulr)

    View Unit (zobrazit unit)

    Toggle Form/Unit (prepnat medzi formulr/unit)

    New Form (nov formulr)

    Panel nstrojov Debug (ladit) je na lavo od panelu view a pozostva

    z tlacidiel

    Run (spustit - so zoznamom naposledy sptanch programov)

    Pause (pozastavit)

    Trace Into (pozn. prekladatela: sledovat najbliiu intrukciu)

    Step Over (pozn. prekladatela: sledovat najbliiu intrukciu funkcie)

    Panel nstrojov Custom (s volitelnm obsahom) je nalavo od panelustandard a obsahuje len jedno tlacidlo Help Contents (obsah pomocnka).

    Panel nstrojov Desktop (plocha) je nalavo od hlavnej ponuky a

    obsahuje zoznam plch. Predvolen hodnota je None (iadne).

    Tlacidlo Save Desktop (ulo plochu)

    Tlacidlo Set Debug Desktop

    3.2.3 Panel komponentovPanel komponentov, alebo paleta komponentov, je iesty panel nstrojov.Obsahuje vetky komponenty, ktor meme pouit v projekte alebo voformulri. Pretoe je komponentov velmi vela, je tento panel zloenz registrov alebo zloiek. Prv zloka m nzov Standard (tandardn).Kad zloka obsahuje urcit komponenty.

    Tento panel je umiestnen pod hlavnou ponukou, napravo od vetkch

    ostatnch panelov a jeho vka je rovn vke dvoch tandardnch

  • 7/16/2019 C++ Builder ManualSK

    47/260

    PROBIQ Borland C++ Builder manul Strana 47

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    panelov nstrojov.

    Tento panel nstrojov neme byt aktivovan klvesovou skratkou,

    musme na neho kliknt.

    Ak sme ho aktivovali, meme pouit kontextov ponuku, SHIFT+F10 na

    vber poadovanej zloky.

    Ked sme ale zvolili poadovan zloku musme pouit kurzor myi, aby

    sme mohli vybrat komponent.

    Na vkladanie komponentov do formulra je vhodnejie pouvat zoznam

    komponentov ne panel komponentov.

  • 7/16/2019 C++ Builder ManualSK

    48/260

    PROBIQ Borland C++ Builder manul Strana 48

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Kapitola 4: Vytvranie jednoduchch aplikci pre Windows

    Ciel tejto kapitoly:Naucit sa ako vytvorit jednoduch program v C++ v prostredBorland Builder, zoznmit sa a mat prehlad o dleitch anevyhnutnch komponentoch prostredia Borland Builder.

    4.1 Vytvranie jednoduchch aplikci pre Windows

    4.1.1 Navrhovanie formulrov pre Windows (Windows Forms)4.1.2 Inpektor objektov (Object Inspector): vlastnosti (properties) audalosti (events)4.1.3 Vlastnosti a udalosti objektu (Object)4.1.4 Inpektor objektov OI4.1.5 Nzvy vlastnost a udalost4.1.6 Presun do Inpektora objektov4.1.7 Predchdzanie chb pocas pohybovania sa v OI4.1.8 Aktualizcia grafickch vlastnost objektu (graphic characteristic)4.1.9 Definovanie obsluhy udalosti (event handler)

    4.2 Navrhovanie formulra (Form): vlastnosti a udalosti

    4.2.1 Zkladn vlastnosti (properties) formulra4.2.2 Zkladn udalosti (events) formulra

    4.3 Pridvanie komponentov do formulra

    4.3.1 Zkladn grafick komponenty. Cvicenie4.3.2 Pridvanie komponentu do formulra. Cvicenie

    4.3.3 Umiestnovanie komponentov4.3.4 Tabultorov poradie (Tab order)

    4.4. Zkladn komponenty formulra: pridvanie vlastnost a udalost

    4.4.1 Edit (Editacn polcko)4.4.2 Memo (Viacriadkov editacn polcko)4.4.3 Button (Tlacidlo)4.4.4 Label (Menovka)

    4.4.5 ListBox (Zoznam)4.4.6 ComboBox (Kombinovan rmik)4.4.7 CheckBox (Zaciarkvacie polcko)

  • 7/16/2019 C++ Builder ManualSK

    49/260

    PROBIQ Borland C++ Builder manul Strana 49

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    4.4.8 RadioButton (Prepnac) Cvicenie

    4.5 Navrhovanie formulrov prstupnch pre nevidiacich pouvatelov4.5.1 Pridriavanie sa tandardov Windows4.5.2 Typ a velkost psma4.5.3 Textov popis (bublinkov popis) komponentu4.5.4 Sprvne umiestnovanie komponentov vo formulri

    4.6 Prechod od formulra k aplikcii (Cvicenie)

    4.6.1 Prklad aplikcie "Hello"4.6.2 Pridvanie komponentov do aplikcie "Hello"4.6.3 Nastavenie vlastnost komponentov4.6.4 Definovanie obslh udalost (Event Handler)4.6.5 Projekt4.6.6 Kompilcia, sptanie programu

    4.7 Ponuky (Menu)

    4.7.1 Pridvanie komponentu TMainMenu

    4.7.2 Navrhovanie panelu ponk (Menu Bar)4.7.3 Pridvanie, odstranovanie a upravovanie panelov ponk4.7.4 Realizcia udalosti OnClick

    4.1 Vytvranie jednoduchch aplikci pre Windows

    Ciel tejto podkapitoly: Naucit sa vytvorit jednoduch aplikciupre Windows.

    V tejto casti si predstavme aplikciu (application), jej formulr (Form), jejkomponenty (Components) spolu s ich vlastnostami (properties) audalostami (events).

    Veobecne: Windows aplikcia je program spustiteln v niektoromoperacnom systme od spolocnosti Microsoft: Windows 95/98,Windows ME, Windows 2000.Windows aplikcia je vo veobecnosti vytvoren skupinou grafickch

    komponentov (okien, editacnch polcok, tlacidiel, panelov ponk, atd.),ktor umonuj pouvatelovi vykonvat zadan lohu (napr. na editovaniejednoduchho textu pouijeme aplikciu Poznmkov blok (Notepad)).

  • 7/16/2019 C++ Builder ManualSK

    50/260

    PROBIQ Borland C++ Builder manul Strana 50

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Skratky:

    IO = okno Object Inspector.BCB = Borland C++ 5 Builder.Up = pka hore.Down = pka dolu.Right = pka vpravo.Left = pka vlavo.

    Navrhovan dohoda o pomenovan BCB komponentov:

    btn_ Button (tlacidlo)chk_ Check box (zaciarkvacie polcko)cmb_ Combo box (kombinovan rmik)edi_ Edit box (editacn polcko)frm_ form (formulr)lbl_ Label (menovka)lst_ List box (zoznamov rmik)mem_ Memo (viacriadkov editacn pole)rad_ Radio button (prepnac)

    rdg_ Radio group (skupina prepnacov)

    4.1.1 Navrhovanie formulrov pre Windows (Windows Forms)

    Ciel tejto podkapitoly: Naucit sa vytvorit formulr

    V tejto casti si ukeme ako navrhnt grafick truktru formulra.

    Prvm krokom na to, aby sme vytvorili windows aplikciu, je vytvorenie jejhlavnho formulra. Formulre s ekvivalentom operacnho systmuWindows.

    Windows aplikcia pozostva z aspon jednho formulra. Ked otvormeBCB5, predvolenm aktvnym prvkom je przdny formulr. Przdnyformulr meme prirovnat k zkladom budovy, ktor chceme postavit.Najskr si musme stanovit cel aplikcie, ktor chceme vytvorit; potomnavrhneme grafick truktru formulra, tak aby svisela so zvolenmcelom. lohy, ktor musme splnit, s:a) Nastavenie vlastnost formulra (velkost, farba, atd.)b) Umiestnenie vetkch potrebnch komponentov do formulra

  • 7/16/2019 C++ Builder ManualSK

    51/260

    PROBIQ Borland C++ Builder manul Strana 51

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    c) Nastavenie vlastnost komponentov tak, aby boli zosladen a abyfungovali.

    4.1.2 Inpektor objektov (Object Inspector): vlastnosti (properties) a udalosti(events)

    Ciel tejto podkapitoly: Ozrejmit si pojem vlastnost (Property) audalost (Event) a spsob pouvania Inpektora objektov (ObjectInspector)

    V tejto casti si ukeme ako pouvat Object Inspector na menenie

    vlastnost a udalost

    Formulr, rovnako ako komponenty, m vlastnosti a udalosti. Na to, abysme si mohli definovat vlastnosti a udalosti objektu, musme sa zoznmits modulom nazvanm Object Inspector (Inpektor objektov).

    4.1.3 Vlastnosti a udalosti objektu

    Vlastnosti (properties) s hodnoty objektu: naprklad meno, rka, vka,farba a pod.Udalosti (events) s pouvatelove akcie, ktor vykonva na urcitomobjekte, ako napr. Stlacenie klvesu, alebo kliknutie myi. Windowsaplikcia je ovldan udalostami, ktor s vyvolan pouvatelovmiakciami.Prve psanie funkci, ktor spracuj udalosti je hlavnou lohouprogramtora vo Windows.Tto funkcia sa stva aktvnou vtedy, ked nastane udalost (naprklad

    funkcia, ktor spracva udalost OnClick sa stane aktvnou vtedy, kednastane udalost Click.).

    4.1.4 Inpektor objektov (Object Inspector)

    Veobecne: Inpektor objektov je okno IDE, ktor nm umon nastavitvlastnosti a umon nm prstup k sprvcovi udalost formulra a jehokomponentov.

    Okno Inpektora objektov pozostva z troch cast:a) Kombinovanho rmika, ktor nm umonuje vybrat si komponent,

  • 7/16/2019 C++ Builder ManualSK

    52/260

    PROBIQ Borland C++ Builder manul Strana 52

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    ktor chceme zmenit; kombinovan rmik sa nachdza hned podtitulnm riadkom Object Inspector.

    b) Zoznamu Properties, ktor sa tka oznacenho komponentu.c) Zoznamu Events, tkajceho sa oznacenho komponentu.Nzvy zloiek pre zoznamy Properties a Events s jedinou informcioupouitelnou pri prci s hmatovm displejom.Oba zoznamy s zoraden do dvoch stlpcov; nalavo meme njstabecedne usporiadan vlastnosti alebo udalosti, ktor sa vztahuj navyznacen komponent, napravo si meme vyznacit alebo zadat hodnotuvlastnosti alebo meno udalosti.

    4.1.5 Nzvy vlastnost a udalost

    Nzvy vlastnost a udalost v lavom stlpci s slov bene pouvanv programovacom jazyku; s bez medzier alebo inch oddelovacov, prvpsmeno kadho slova je velk, naprklad TabOrderalebo OnKeyPress.Nzvy udalost s vyznacen predponou "On".

    4.1.6 Presun do okna Object Inspector

    Na pohyb v OI sa pouvaj nasledujce prkazy:(F11) na vyvolanie okna Object Inspector.(Ctrl+Down): (posun smerom hore na hmatovom displeji) nadosiahnutie kombinovanho rmiku s komponentmi.(Up alebo Down) na listovanie v zozname komponentov vo formulri,vrtane formulra.(Enter) na vyznacenie komponentu.(Ctrl+Tab): na prepnanie medzi zoznamom komponentov a zoznamom

    udalost.(Up) alebo (Down): na listovanie vo vlastnostiach a udalostiach, niektorvlastnosti maj zoznamy ciastkovch vlastnost, ktor meme vyvolatpomocou klvesu Tab na odznacenie textu vlastnosti v pravom stlpci; (Left)na zatvorenie zoznamu, (Right) na jeho otvorenie.(Alt+Down): na otvorenie zoznamu parametrov vlastnost (pozn.prekladatela: nefungovalo).(Enter) na potvrdenie alebo (Ctrl+Enter) na presun k parametru, ktor siprajeme oznacit.

  • 7/16/2019 C++ Builder ManualSK

    53/260

    PROBIQ Borland C++ Builder manul Strana 53

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    4.1.7 Predchdzanie chb pocas pohybovania sa v OI

    Zvycajne, ked mme oznacen vlastnosti alebo udalosti, je zobrazenobsah pravho stlpca (ktor obsahuje hodnotu vlastnosti alebo nzovudalosti); ak v tomto momente stlacme akkolvek klves na klvesnici,zmenme zobrazen informciu.Aby sme predili tomuto problmu budeme postupovat takto:A) Stlacme Tab, aby sme predili vybratiu hodnt z pravho stlpca.B) Listujeme v zozname vlastnost a udalost a km nedosiahnemevlastnost alebo udalost, ktor hladme.C) Znova stlacme Tab, aby sme videli prav stlpec.D) Zmenme hodnotu.

    4.1.8 Aktualizcia grafickch vlastnost objektu (graphic characteristic)

    Hodnoty vlastnost, najm grafickch, sa aktualizuj pocas prav alebostlacenm klvesu Enter a pocas prechodu k inej vlastnosti. Naprklad,nzov, ktor je zobrazen v titulnom riadku formulra sa bude aktualizovatpocas jeho zadvania. Ak sa raz hodnota vlastnosti width (rka) formulrazmen, a ak potom stlacme Enter, alebo ak sa posunieme na in vlastnost,

    rka sa ihned prestav.

    4.1.9 Definovanie obsluhy udalosti (event handler)

    V pravom stlpci zoznamu udalost bude mon prispsobit si nzovoznacenej udalosti.(Ctrl+Enter) sli na otvorenie textovho okna a na prcu s vyznacenouudalostou. Pvodn nzov udalosti sa objav v pravom stlpci, v poli vedla

    vyznacenej udalosti; napravo, nad formulrom, sa objav okno nazadvanie textu; vo vntri tohoto okna meme vpsat kd tkajci saspracovania oznacenej udalosti.(F11) na prepnanie medzi formulrom a Inpektorom objektov a/alebooknom na zadvanie textu.

    4.2 Navrhovanie formulra (Form): vlastnosti a udalosti

    Ciel tejto podkapitoly: Naucit sa navrhovat formulr (Form).V tejto casti si ukeme, ako pridat nov formulr do aplikcie, na ktorej

  • 7/16/2019 C++ Builder ManualSK

    54/260

    PROBIQ Borland C++ Builder manul Strana 54

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    prve pracujeme.

    Windows aplikcia me pozostvat z jednho alebo z viacerchformulrov; v BCB5 njdeme przdny, predvolen formulr.Na to, aby sme mohli pridat nov formulr do aplikcie, na ktorej prvepracujeme, musme otvorit ponuku File a vybrat poloku New Form.

    4.2.1 Zkladn vlastnosti formulra

    Vlastnost Name: umonuje nastavit meno formulra v rmci aplikcie.Toto meno pomha identifikovat komponent vo vntri programu.

    Vlastnost Caption: umonuje nastavit nadpis formulra tak, ako sa mzobrazit v titulnom riadku.Vlastnost Width: umonuje nastavit rku formulra v obrazovch bodoch(pixel).Vlastnost Height: umonuje nastavit vku formulra v obrazovchbodoch (pixel).Vlastnost Colour: umonuje nastavit farbu podkladu formulra.Samozrejme, e formulr obsahuje aj mnostvo inch vlastnost; nazskanie ich opisu vyznacte vlastnost a stlacte F1.

    4.2.2 Zkladn udalosti formulra

    OnShow: Urcuje co sa stane, pocas otvrania aplikcie a zobrazovaniaformulra.OnActivate: Urcuje co sa stane, ked formulr znovu aktivujeme, naprkladstlacenm (Alt+Tab).OnClick: Urcuje co sa stane, ked klikneme myou na formulr.

    OnKeyPress: Urcuje co sa stane, ked stlacme klves na klvesnici.OnClose: Urcuje co sa stane, ked zatvorme formulr.

    4.3 Pridvanie komponentov do formulra

    Ciel tejto podkapitoly: Naucit sa ako pridat komponenty doformulra

    V tejto casti si predvedieme zkladn grafick komponenty formulra.Okrem formulrov je aplikcia vytvoren aj z inch grafickch

  • 7/16/2019 C++ Builder ManualSK

    55/260

    PROBIQ Borland C++ Builder manul Strana 55

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    komponentov, ktor nm umonuj s aplikciou pracovat .

    4.3.1 Zkladn komponenty formulra (pridvanie vlastnost a udalost)

    TEdit: jednoriadkov editacn polcko, ktor sa pouva na pridvaniealebo menenie textu.TMemo: viacriadkov editacn polcko, ktor sa pouva na pridvaniealebo menenie textu.TButton: s tlacidlo vyvolva spustenie jednej alebo viacerch akci.TLabel: textov menovka, ktor je urcen len na ctanie.TListBox: zoznamov rmik umonuje vber poloky zo zoznamu

    viacerch poloiekTCombBox: kombinovan rmik je kombincia zoznamu zobrazenchpoloiek a editacnho polcka. Poloku je v zozname mon vyznacitstlacenm jej zaciatocnho psmena. Ak vyznacen poloku zoznamupotvrdme stlacenm (Enter) umiestni sa do editacnho polcka.TCheckBox: zaciarkvacie polcko meme pouit na vyznacenie jednejalebo viacerch monost z ponkanch alternatv.TRadioButton: prepnace pouvame na vber medzi viacermimonostami. Kad monost automaticky ru predchdzajcu.

    Teraz, po tomto dlhom teoretickom vode si vyskame praktick cvicenie.

    Cvicenie: Navrhnite formulr na zozbieranie osobnch dajov tudentovvaej koly.

    Na zostavenie takhoto formulra potrebujete:editacn polcko (Edit) na krstn meno,editacn polcko (Edit) na priezvisko,

    dva prepnace (RadioButton) na urcenie pohlavia,kombinovan rmik (ComboBox) na zadanie veku,zaciarkvacie polcko (checkBox) na zadanie postihnutia,editacn polcko (Edit) na zadanie adresy,zoznam (listBox) na miesto trvalho bydliska,viacriadkov polcko (Memo) na poznmky,tlacidlo (Button) na potvrdenie zadanch dajov.

    Pred kadm zo tyroch editacnch polcok (tri jedno- a jedno viacriadkov)bude menovka, ktor bude popisovat ich vznam.

  • 7/16/2019 C++ Builder ManualSK

    56/260

    PROBIQ Borland C++ Builder manul Strana 56

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    4.3.2 Pridvanie komponentu do formulra

    Na to aby sme videli zoznam vetkch predvolench zkladnchkomponentov musme st do ponuky View a vybrat Component list(zoznam komponentov); pre tento zoznam neexistuje skratka.Zobraz sa nm okno Components; toto okno pozostva z editacnhopolcka a zoznamu (s sce od seba oddelen, ale pracuj akokombinovan rmik) a z tlacidla Add to form; medzi vetkmikomponentmi sa d pohybovat pomocou klvesu Tab.

    Po otvoren okna sa objav komponent, ktor bol pred zatvorenmvyznacen ako posledn; jeho nzov je zobrazen a zvraznenv editacnom polcku.Pri vetkch komponentoch zacnajcich psmenom "T" stac zadat "T" aza nm prv psmeno nzvu komponentu; na obrazovke sa oznac prvmon komponent v abecednom porad a cel jeho nzov sa zobraz azvrazn v editacnom polcku; (jedin komponent, ktor nezacna na "T" je"Frame", v tomto prpade zadme "F").Stlacme Up alebo Down na pohyb v zozname komponentov.Stlacme Enter na pridanie vyznacenho komponentu do formulra.Stlacme Esc na opustenie okna.

    Aby sme pridali komponenty do nho formulra (na zozbieranie osobnchdajov), musme:1. Presunt sa do panelu ponk (Alt).2. Presunt sa do ponuky View (Right).3. Presunt sa na poloku Component List (Down), Enter.4. Ked sa okno Component List otvor, presunt sa na TButton (Down),Enter.

    Pozor: Po stlacen Enter stle uvidme okno Component; na tejto rovnivak nie je dleit overovat, ci sa komponenty pridali do formulrasprvne.

    6. Presunt sa na TcheckBox (Down), Enter.7. Presunt sa na TcomboBox (Down), Enter.8. Presunt sa na Tedit (Down), trikrt Enter.9. Presunt sa na Tlabel (Down), tyrikrt Enter.10. Presunt sa na TlistBox (Down), Enter.

    11. Presunt sa na Tmemo (Down), Enter.12. Presunt sa na TradioButton (Down), dvakrt Enter.13. Esc na zatvorenie okna Component List.

  • 7/16/2019 C++ Builder ManualSK

    57/260

    PROBIQ Borland C++ Builder manul Strana 57

    PROBIQ ConsortiumSlovak version 1.0 * 15-11-2002

    Teraz by sme v zozname komponentov OI mali mat 15 poloiek.

    1. Presunme sa do OI (F11).2. (Ctrl+Down) na otvorenie kombinovanho rmika komponentov.3. (Up) alebo (Down) na listovanie v zozname.

    4.3.3 Umiestnovanie komponentov

    Po pridan komponentu sa tento automaticky umiestni doprostredformulra; ak pridvame naraz viac komponentov, bud sa prekrvat. Pretobude nevyhnutn nastavit vlastnosti kadho komponentu, a tak ich

    sprvne umiestnit.

    4.3.4 Tabultorov poradie (Tab order)

    Formulr me obsahovat viac rznych komponentov; na optimalizovaniepohybu medzi komponentami v dialgovom okne je nevyhnutn nastavitvlastnost Tab Order. Tto vlastnost priraduje komponentom poradie,v akom sa po nich budeme pohybovat pomocou tabultora; naprklad,

    v okne na zbieranie adries by bolo nelogick, keby sme sa po stlacen Tabpresunuli z Meno na Mesto, bez toho aby sme preli cez Adresa.

    4.4 Zkladn komponenty formulra: pridvanie vlastnost audalost

    Ciel tejto kapitoly: Naucit sa ako usporiadat komponenty voformulri

    V tejto casti sa dozvieme o vlastnostiach komponentov a o najbenejchudalostiach formulra.

    4.4.1 Edit (editacn polcko)

    Na to, aby sme do formulra pridali komponent Edit, musme oznacitTEditv okne Components, stlacit Enter, a Esc na zatvorenie okna .Potom umiestnime doprostred formulra jednoriadkov editacn polckonazvan Edit#; nzov komponentu sa v poli objav automaticky ako text.Komponent vyzer ako dlh, zky obdlnik, pozadie a text maj farbu

  • 7/16/2019 C++ Builder ManualSK

    58/260

    PROBIQ