Programsko okruzenje Delphi 4 sa resenim zadacima
Predgovor, vii
Sadrzaj, ix
1 Uvod, 1
1.1 O programskom okruzenju Delphi, 2
1.2 Uslovi za koriscenje Delphija, 4
1.3 Aplikacije pod Windowsom, 5
2 Rad u okruzenju Delphi, 15
2.1 Pocetak rada, 16
2.2 Komande Delphija, 19
2.3 Trazenje prirucne pomoci, 20
2.4 Podesavanje parametara Delphija, 23
2.5 Izvrsavanje aplikacije, 26
2.6 Snimanje i otvaranje projekta, 29
2.7 Datoteke projekata u Delphiju, 32
3 Izrada aplikacija u Delphiju, 37
3.1 Dodavanje komponenata obrascu, 38
3.2 Promena svojstava komponentama, 44
3.3 Programiranje rukovalaca dogadjajima, 48
3.4 Prijavljivanje gresaka, 54
4 Programski jezik Object Pascal, 59
4.1 Elementi jezika, 60
4.1.1 Skup znakova, 60
4.1.2 Leksicki simboli, 60
4.1.3 Komentari, 60
4.1.4 Direktive prevodioca, 61
4.1.5 Identifikatori, 61
4.1.6 Sluzbene reci i standardne direktive, 61
4.2 Podaci, 62
4.2.1 Tipovi podataka, 62
4.2.2 Standardni skalarni tipovi, 62
4.2.3 Konstante, 64
4.2.4 Simbolicke konstante, 64
4.2.5 Promenljive, 64
4.2.6 Nabrojani tipovi, 65
4.2.7 Numericki i prebrojivi tipovi, 66
4.2.8 Podintervalni tipovi, 66
4.2.9 Definisanje tipova, 66
4.3 Operatori i izrazi, 67
4.3.1 Aritmeticki operatori, 67
4.3.2 Relacijski operatori, 67
4.3.3 Logicki operatori, 67
4.3.4 Operatori po bitovima, 67
4.3.5 Redosled izvrsavanja operatora, 68
4.3.6 Bibliotecki potprogrami, 68
4.4 Naredbe i upravljacke strukture, 68
4.4.1 Naredba za dodelu vrednosti, 69
4.4.2 Sekvenca, 70
4.4.3 Selekcije, 70
4.4.3.1 Osnovna selekcija, 70
4.4.3.2 Selekcija pomocu skretnice, 71
4.4.4 Ciklusi, 71
4.4.4.1 Ciklus sa izlazom na vrhu, 72
4.4.4.2 Ciklus sa izlazom na dnu, 72
4.4.4.3 Brojacki ciklus, 72
4.4.5 Skokovi, 73
4.4.5.1 Iskakanje iz ciklusa, 73
4.4.5.2 Skok na kraj ciklusa, 73
4.4.5.3 Skok sa proizvoljnim odredistem, 73
4.5 Struktura programa, 74
4.5.1 Glavni program, 74
4.5.2 Potprogrami, 75
4.5.2.1 Definisanje potprograma, 76
4.5.2.2 Pozivanje potprograma, 77
4.5.2.3 Deklarisanje potprograma, 78
4.5.2.4 Argumenti sa podrazumevanim vrednostima, 79
4.5.2.5 Preklapanje imena potprograma, 79
4.5.3 Programski moduli, 80
4.5.4 Doseg identifikatora, 81
4.6 Pokazivaci, 81
4.6.1 Definisanje i upotreba pokazivaca, 81
4.6.2 Pokazivaci na potprograme, 82
4.6.3 Dinamicka dodela memorije, 83
4.7 Strukturirani tipovi podataka, 83
4.7.1 Nizovi, 83
4.7.1.1 Definisanje nizova, 83
4.7.1.2 Koriscenje nizova, 84
4.7.1.3 Otvoreni nizovi, 84
4.7.2 Znakovni nizovi, 85
4.7.3 Znakovni nizovi zavrseni nulom, 87
4.7.4 Zapisi, 87
4.7.5 Skupovi, 89
4.7.6 Datoteke, 90
4.7.6.1 Promenljive tipa datoteka, 90
4.7.6.2 Koriscenje datoteka, 90
4.7.6.3 Tekstualne datoteke, 90
4.7.6.4 Datoteke bez tipa, 92
4.8 Zadaci, 92
4.8.1 Obrada trouglova, 92
4.8.2 Statisticki parametri nizova brojeva, 94
5 Object Pascal kao objektno orijentisani jezik, 97
5.1 Klase, 98
5.1.1 Definisanje klasa, 98
5.1.2 Definisanje primeraka klasa, 100
5.1.3 Koriscenje clanova klasa, 100
5.1.4 Definisanje metoda, 101
5.1.5 Konstruktori i destruktori, 102
5.1.6 Zajednicki clanovi klasa, 103
5.1.7 Pokazivaci na metode, 104
5.1.8 Upucivaci na klase, 105
5.1.9 Svojstva, 105
5.2 Izvedene klase, 106
5.2.1 Nasledjivanje, 106
5.2.2 Kompatibilnost tipova, 107
5.2.3 Virtuelne i dinamicke metode, 108
5.2.4 Apstraktne metode, 109
5.2.5 Osnovna klasa svih klasa: TObject, 109
5.3 Izuzeci, 110
5.3.1 Predstavljanje izuzetaka, 110
5.3.2 Prijavljivanje izuzetaka, 110
5.3.3 Rukovanje izuzecima, 111
5.3.4 Zastita koriscenja resursa, 112
5.4 Zadaci, 113
5.4.1 Obrada polinoma, 113
5.4.2 Obrada kompleksnih brojeva, 117
6 Biblioteka komponenata, 123
6.1 Osnovni pojmovi, 124
6.2 Svojstva, 124
6.2.1 Nacini koriscenja svojstava, 124
6.2.2 Ime komponente, 127
6.2.3 Vlasnistvo komponenata, 127
6.2.4 Sadrzavanje komponenata, 127
6.2.5 Vidljivost i upotrebljivost komponenata, 128
6.2.6 Polozaj i velicina komponenata, 129
6.2.7 Natpis komponente, 131
6.2.8 Izgled komponente, 131
6.2.9 Izgled pokazivaca misa, 132
6.2.10, Boja komponente, 132
6.2.11, Vrsta slova, 133
6.2.12, Redosled pomeranja zize na komponente, 134
6.2.13, Prirucna uputstva, 135
6.3 Metode, 135
6.3.1 Stvaranje i unistavanje komponenata, 135
6.3.2 Upravljanje zizom, 136
6.3.3 Vidljivost komponenata, 136
6.3.4 Polozaj i velicina komponenata, 137
6.3.5 Vlasnistvo i sadrzavanje komponenata, 137
6.4 Dogadjaji, 138
6.4.1 Rukovaoci dogadjajima, 138
6.4.2 Dogadjaji pri pomeranju zize, 139
6.4.3 Dogadjaji sa misem, 139
6.4.4 Dogadjaji sa tastaturom, 140
6.4.5 Dogadjaj pri promeni sadrzaja komponente, 141
6.5 Klase opste namene, 142
6.5.1 Klasa za liste znakovnih nizova, 142
6.5.2 Klase za graficke objekte, 143
6.6 Zadaci, 146
6.6.1 Rastojanje izmedju dve tacke u prostoru, 146
6.6.2 Pascalov trougao, 148
7 Jednostavne komponente, 153
7.1 Prikazivanje teksta, 154
7.1.1 Oznaka (Label), 154
7.1.2 Staticki tekst (StaticText), 155
7.2 Dugmad, 155
7.2.1 Dugme (Button), 155
7.2.2 Dugme sa slikom (BitBtn), 157
7.2.3 Dugme precica (SpeedButton), 158
7.2.4 Okvir za potvrdu (CheckBox), 159
7.2.5 Radio-dugme (RadioButton), 160
7.2.6 Grupa radio-dugmadi (RadioGroup), 160
7.3 Izbor stavki iz spiska, 162
7.3.1 Okvir sa listom (ListBox), 162
7.3.2 Okvir sa potvrdjenom listom (CheckListBox), 164
7.4 Srazmerno prikazivanje velicina, 164
7.4.1 Klizac (ScrollBar), 164
7.4.2 Regulator (TrackBar), 166
7.4.3 Merac (Gauge), 168
7.4.4 Pokazivac napredovanja (ProgressBar), 169
7.5 Kontejnerske komponente, 169
7.5.1 Okvir za grupu (GroupBox), 170
7.5.2 Ploca (Panel), 170
7.5.3 Okvir sa klizacima (ScrollBox), 171
7.6 Trake za oznacavanje, 172
7.6.1 Zaglavlje (Header), 173
7.6.2 Zaglavlje sa dugmadima (HeaderControl), 173
7.6.3 Statusna traka (StatusBar), 175
7.7 Razne komponente, 176
7.7.1 Ram (Bevel), 176
7.7.2 Slika (Image), 177
7.7.3 Casovnik (Timer), 178
7.7.4 Brojac (UpDown), 178
7.7.5 Razdelnik (Splitter), 181
7.8 Zadaci, 182
7.8.1 Kosi hitac, 182
8 Okviri za tekst, 189
8.1 Unosenje teksta preko tastature, 190
8.2 Svojstva, 191
8.3 Metode, 192
8.4 Okvir za tekst (Edit), 192
8.5 Okvir za tekst sa maskom (MaskEdit), 193
8.6 Okvir za tekst sa brojacem (SpinEdit), 196
8.7 Viseredni okvir za tekst (Memo), 196
8.8 Kombinovani okvir za tekst sa listom (ComboBox), 197
8.9 Zadaci, 199
8.9.1 Urednik teksta, 199
9 Meniji, 205
9.1 Vrste menija, 206
9.2 Glavni meni (MainMenu), 206
9.3 Pomocni meni (PopupMenu), 207
9.4 Sastavljanje menija, 208
9.5 Stavka menija, 211
9.5 Stavka menija, 212
9.6 Palete komandi, 214
9.7 Zadaci, 214
9.7.1 Sortiranje brojeva, 214
10 Obrasci, 225
10.1 Rad sa vise obrazaca, 226
10.2 Svojstva obrasca, 229
10.3 Metode obrasca, 232
10.4 Dogadjaji obrasca, 234
10.5 Standardni prozori za dijalog, 235
10.5.1 Bibliotecke funkcije za prozore za dijalog, 235
10.5.2 Komponente za prozore za dijalog, 238
10.5.2.1 Prozori za dijalog otvori i snimi (OpenDialog, SaveDialog, OpenPictureDialog, SavePictureDialog), , 239
10.5.2.2 Prozor za dijalog vrste slova (FontDialog), 240
10.5.2.3 Prozor za dijalog boje (ColorDialog), 241
10.5.2.4 Prozor za dijalog stampaj (PrintDialog), 242
10.5.2.5 Prozor za dijalog podesi stampac (PrinterSetupDialog), , 243
10.5.2.6 Prozori za dijalog nadji i zameni (FindDialog, ReplaceDialog), , 243
10.6 Aplikacija kao komponenta, 244
10.6.1 Svojstva aplikacije, 244
10.6.2 Metode aplikacije, 246
10.6.3 Dogadjaji aplikacije, 247
10.7 Zadaci, 248
10.7.1 Prikazivanje slika, 248
11 Naprednije tehnike, 261
11.1 Crtanje, 262
11.1.1 Platno za crtanje (Canvas), 262
11.1.2 Svojstva platna, 262
11.1.3 Metode platna, 264
11.1.4 Metode drugih komponenata i crtanje, 265
11.1.5 Primer, 265
11.2 Stampanje, 267
11.2.1 Svojstva klase TPrint, 267
11.2.2 Metode klase TPrint, 268
11.2.3 Primer, 268
11.2.4 Stampanje tekstova, 270
11.3 Koriscenje Clipboarda, 271
11.3.1 Svojstva klase TClipboard, 272
11.3.2 Metode klase TClipboard, 272
11.3.3 Primer, 273
11.4 Odvlacenje (Drag & Drop) i odvajanje (Drag & Dock), 275
11.4.1 Svojstva komponenata, 276
11.4.2 Metode komponenata, 276
11.4.3 Komponente i dogadjaji, 277
11.4.4 Primer, 278
11.5 Izbor datoteke, 281
11.5.1 Okvir sa listom datoteka (FileListBox), 282
11.5.2 Okvir sa padajucom listom filtara (FilterComboBox), 282
11.5.3 Okvir sa listom kataloga (DirectoryListBox), 283
11.5.4 Okvir sa padajucom listom jedinica diskova (DriveComboBox), 284
11.5.5 Primer, 284
11.6 Mreze podataka (DrawGrid i StringGrid), 286
11.6.1 Svojstva mreza, 287
11.6.2 Metode mreza, 288
11.6.3 Dogadjaji mreza, 288
11.6.4 Primer, 289
11.7 Grupisanje komponenata u stranice, 291
11.7.1 Sveska (Notebook), 292
11.7.2 Skup jezicaka (TabSet), 293
11.7.3 Sveska sa jeziccima (TabbedNotebook), 294
11.7.4 Kontrolor stranica (PageControl), 295
11.7.5 Kontrolor jezicaka (TabControl), 297
11.7.6 Primer, 298
12 Skladiste objekata, 303
12.1 Upotreba skladista, 304
12.2 Sabloni za projekte, 306
12.3 Sabloni za obrasce, 309
12.4 Dodavanje novih sablona, 311
12.5 Carobnjaci za projekte, 313
12.6 Carobnjaci za obrasce, 316
Literatura, 319
Indeks, 321