|
Telefon: 375-1564, 375-3591
E-mail: info@computerbooks.hu
Kuzmina Jekatyerina - Dr.Tamás Péter-Tóth
Bertalan:
Windows alkalmazások fejlesztése
C++Builder 6 rendszerben
e-könyv CD-n
Megjelenés: 2004 november
3.900,- Ft
ISBN: 963 618 326 0
|
A könyv előszava
Előszó
A ComputerBooks kiadó gondozásában ez a mű
e-könyvként (elektronikus könyvként) jelenik
meg. Ez napjainkban még szokatlan formája az informatikai
szakkönyveknek, azonban a jövőben egyre inkább
ez a papírtakarékos megoldás kerülhet
előtérbe.
A Borland C++ Builder gyors alkalmazásfejlesztő környezet (RAD Rapid Application Development) a hazánkban
rendkívüli népszerűségnek örvendő Delphi (Kylix) rendszer "ikertestvérének"
tekinthető. A C++ Builder szerencsésen egyesíti magában Windows és a Linux alkalmazások készítését
segítő grafikus fejlesztői környezetet és a C++ nyelvre alapozott, teljesen objektum-orientált
programnyelvi fordítót. A rendszer támogatja a legújabb technológiákat, az Internet-alkalmazások
készítését, a multimédiás megjelenítést, az ügyfél-kiszolgáló adatbázis-kezelést stb.
Joggal állíthatjuk, hogy a C++ Builder az egyik leghatékonyabb alkalmazásfejlesztő eszköz,
amely C++ alapú forrásnyelvi fordítóprogrammal, komponensalapú felépítéssel (VCL),
és testre szabható adatbázis-hozzáférési lehetőséggel rendelkezik. A rendszer része
egy másik komponenskönyvtár is (CLX), mellyel Windows környezetben Linux operációs rendszerre
fejleszthetünk. A CLX-re alapozott forrásnyelvű programból a Linux renszerben működő
Kylix fordító segítségével Linux alkalmazást készíthetünk.
A könyvben a Windows alatti programozás tanítását tűztük célként magunk elé, ezért
csak a VCL-komponensekkel foglalkoztunk. Mivel a CLX-építőelemek sokban hasonlítanak a VCL-beli párjukra, a Windows
programozásban jártasságot szerzett Olvasó gyorsan megismerkedhet a Linux alatti fejlesztés eszközeivel.
A programozóknak készült könyvünk elsősorban középhaladó szintű
ismereteket tartalmaz. Az egyes témakörök tárgyalásakor feltételeztük a C++ nyelvben való jártasságot.
Az e-könyv, melyet az Olvasó a számítógépén fellapozott, elsősorban a középhaladó
programozók igényeinek megfelelően, programozási megoldásokkal és alapvető Windows alkalmazásfejlesztési
kérdésekkel foglalkozik. A fejezetek között található néhány olyan is, amely inkább
a haladó programozók érdeklődésére tarthat számot, mint a komponensalapú modellek,
az Internet, a kiszolgáló-ügyfél megoldások, a speciális térbeli grafikai lehetőségek
stb.
Röviden tekintsük át, mi található a könyvben!
Bevezetésként - elsősorban a kezdő felhasználók igényeit szem előtt tartva
- bemutatja, hogyan lehet MS-DOS- és Windows-alapú alkalmazásokat készíteni a C++ Builder segítségével.
Az alkalmazáskészítés lépéseit tárgyaló fejezet egyúttal felveti a könyvben megválaszolt kérdéseket is.
A könyv súlypontját a C++ Builder Windows programozási lehetőségeit bemutató fejezetek képezik.
Az Olvasó megismerkedhet a Windows programozás eszköztárával: a Windows programok működésével, a formmal
(űrlappal), mint a Windows alkalmazások alapobjektumával. A Windows alkalmazásokban az ún. vezérlők
tartják a kapcsolatot a felhasználó és a program között. A C++ Builder rendszerben az újrafelhasználható
programelemek, a komponensek biztosítják a vezérlők objektum-orientált kezelését. Ez a fejezet
az alapvezérlők (menük, gombok, szövegszerkesztők, listák, időzítő) és a speciális
célra használható komponensek használatára vonatkozó ismeretek tárháza. A fejezetet
néhány haladó szintű Windows programozási megoldás zárja, mint például a futás közbeni komponens-létrehozás.
Külön fejezet foglalkozik az alkalmazás- és a párbeszédablakok kialakításának
lehetőségeivel, ahol megismerteti az Olvasót a C++ Builder többablakos alkalmazások létrehozását
segítő eszközeivel.
Mivel a Windows grafikus felhasználói felületű
operációs rendszer, alapvető szerepe van
a grafika megjelenítésének. Bemutatjuk a
rendszerben használható alapvető grafikus
megoldásokat, a grafikus vezérlőket és
a Canvas objektumot.A Windows kétdimenziós periféria-független
grafikus alprogramrendszerének (GDI) programozásához
a C++ Builder jelentős támogatást nyújt.
Egy fejezet áttekinti az újrafelhasználható
programelemekkel kapcsolatos megoldásokat. Megismerkedhetünk
a dinamikusan szerkeszthető könyvtárak (Dynamic
Link Library) használatával és létrehozásával.
A fejezet második témakörét a (natív)
komponensek készítéséhez és
kezeléséhez szükséges tudnivalók
képezik, majd a harmadik rész fókuszában
a COM (Component Object Model) technológia áll.
Az ehhez kapcsolódó Microsoft megoldások,
mint az OLE és az ActiveX témakörei, messze
túlnyúlnak könyvünk keretein. Az alapok
áttekintése azonban segítséget nyújthat
az Olvasónak a további tájékozódáshoz.
Könyvünk a C++ Builder adatkezelési lehetőségeit
is csokorba gyűjti, a napjainkban egyre terjedő adatbázis-szemléletű
megoldásokra helyezve a hangsúlyt. Jelen könyvben
a helyi (asztali) relációs adatbázis-kezelési
megoldásokkal ismerkedhet meg az Olvasó. Az adatbázisokkal
való kapcsolattartás eszközei közül
a fejezet bemutatja a Borland Database Engine (BDE) adatbázismotort,
míg a C++ Builder 6 további lehetőségeit
csak áttekinti.
A C++ Builder programozással foglalkozó könyvünk
a speciális alkalmazásfejlesztési megoldások
leírását tartalmazza. A multimédia
napjaink egyik legdinamikusabban fejlődő informatikai
területe. A C++ Builder rendszer több szinten támogatja
a multimédiás alkalmazások kialakítását.
A fejezet megismerteti az Olvasót az alapvető képmegjelenítő
és hangfelvétel-lejátszó vezérlők
kezelésével és használatával.
Ma már egyetlen alkalmazás sem piacképes
esetérzékeny súgó nélkül.
A Windows rendszerben használt súgóállományok
készítésének sajátos technológiája
is a fejezet témája. A Windows rendszer egyéb
lehetőségeinek használata is bemutatásra
kerül, mint például a többszálú
alkalmazások készítése, vagy a rendszeradatbázis
programból történő kezelése.
A C++ Builder a C++ nyelvre épülő fejlesztőeszköz,
melynek rokonai a Borland Delphi és a Borland C++ rendszerek.
A Builder a Delphi - Object Pascal nyelven készült
- Vizuális komponenskönyvtárát (VCL
- Visual Component Library) használja. Ehhez azonban a
C++ nyelv lehetőségeit felhasználva kapcsolatot
kellett teremteni az Object Pascal nyelvvel. Az utolsó
fejezet a nyelvi kapcsolat kialakításának
olyan részleteivel foglalkozik, melyek ismerete feltétlenül
szükséges ahhoz, hogy komolyabb alkalmazásokat
fejlesszünk. A fejezet áttekinti a Delphi-típusoknak
megfelelő C++ Builder típusokat, a Delphi modulok
elérésének lehetőségeit, a
VCL osztály-hierarchiájának használatát,
a kivétel-kezelési megoldásokat és
a VCL komponensek adattároló osztályait.
A könyv függeléke, amely tartalmazza a 3D-s Open
GL grafikus alprogramrendszer ismertetését, valamint
az SQL nyelv lehetőségeinek bemutatását,
PDF-formátumban került az adathordozóra.
Könyvünk elkészítésekor a C++
Builder 6 Enterprise verzióra támaszkodtunk, azonban
a példaprogramok többsége a Professional és
a Standard, illetve a régebbi verziók alatt is működőképes.
A Borland Magyarország Kft jóvoltából
a CD-re a Borland C++ Builder 6 Enterprise próbaverziója
is felkerült.
Vissza a lap tetejére
A könyv tartalomjegyzéke
Előszó
1. Bevezetés
2. Ismerkedés a C++ Builder rendszerrel
2.1. Konzolalkalmazások készítése
2.2. Vizuális alkalmazás-fejlesztés
2.2.1. A felhasználói felület kialakítása
2.2.2. Az eseményvezérelt kód megírása
3. A C++ Builder mint a Windows programozás eszköze
3.1. Eseményvezérelt programépítés
3.1.1. A Windows alkalmazások szerkezete
3.1.2. A projekt
3.1.3. A TApplication osztály
3.1.4. A TApplicationEvents osztály
3.1.5. Az üzenetek szerkezete
3.1.6. Az alkalmazások környezete
3.1.6.1. A TScreen osztály lehetőségei
3.1.6.2. A TMouse osztály használata
3.2. Az alkalmazások ablaka
3.2.1. Az ablakok eseményeinek kezelése
3.2.1.1. Az ablak létrehozása, zárása,
lebontása
3.2.1.2. Az ablak megjelenése és aktiválása
3.2.1.3. Billentyű- és egérkezelés
az ablakban
3.2.1.4. További ablakesemények
3.2.2. Ablakok tulajdonságai
3.2.2.1. Az ablakok elhelyezkedése
3.2.2.2. Az ablakok megjelenése
3.2.2.3. Az ablakok "működése"
3.2.3. Ablakkezelő metódusok
3.2.3.1. Metódusok az ablakok létrehozására
és lebontására
3.2.3.2. Ablak-megjelenítő metódusok
3.2.3.3. Egyéb ablakkezelő metódusok
3.2.4. A keret, mint a vezérlők tárolója
3.3. A vezérlőkről röviden - alapvezérlők
3.3.1. Menük használata
3.3.1.1. Az ablakmenü és a felbukkanó menü
3.3.1.2. Menük létrehozása a menütervezővel
3.3.1.3. A menü és a C++ Builder program
A főmenük
A felbukkanó menü
A menüelemek
3.3.1.4. Menük kezelése a programból
3.3.2. Vezérlőgombok
3.3.2.1. A Button (nyomógomb) vezérlő
3.3.2.2. A CheckBox (jelölőnégyzet) vezérlő
3.3.2.3. A RadioButton (választógomb) vezérlő
3.3.3. A ScrollBar vezérlő
3.3.4. Szövegmegjelenítők
3.3.4.1. A Label (címke) vezérlő
3.3.4.2. Az Edit (szövegszerkesztő szövegmező)
vezérlő
3.3.4.3. A Memo (többsoros szövegszerkesztő)
3.3.5. Listás vezérlők
3.3.5.1. A ListBox (lista) vezérlő
3.3.5.2. A ComboBox (kombinált lista) vezérlő
3.3.6. Csoportosító vezérlők
3.3.6.1. A GroupBox (csoportablak) vezérlő
3.3.6.2. Panel (tábla) vezérlő
3.3.7. Az időzítő
3.4. Speciális vezérlők
3.4.1. Grafikus vezérlőgombok, billentyűzetgyorsítók
3.4.2. Görgetősáv jellegű különleges
vezérlők
3.4.3. Speciális szövegmegjelenítők
és -szerkesztők
3.4.4. Lista típusú különleges vezérlők
3.4.5. Speciális vezérlőtároló
komponensek
3.4.6. Információk táblázatos megjelenítése
3.4.7. Speciális naptárvezérlők
3.5. Formok és vezérlők programból
történő létrehozása
3.5.1. Formok dinamikus kezelése
3.5.2. Vezérlők futás közben történő
létrehozása
3.5.3. A dinamikusan létrehozott elemek eseményei
3.5.4. Dinamikusan létrehozott elemek tömbje
4. Többablakos alkalmazások kialakítása
4.1. Párbeszédablakok
4.1.1. Modális és nem modális párbeszédablakok
4.1.2. Egyszerű szerkezetű párbeszédablakokhasználata
4.1.2.1. Az üzenetablakok
4.1.2.2. Egyszerű adatbeviteli párbeszédablakok
4.1.3. Általános párbeszédablakokhasználata
4.1.3.1. Fájlkezelő általános párbeszédablakok
4.1.3.2. Betűtípus beállító általános párbeszédablak
4.1.3.3. Színbeállító általános párbeszédablak
4.1.3.4. Nyomtatással kapcsolatos általános párbeszédablakok
4.1.3.5. Szövegkezelő általános párbeszédablakok
4.1.4. Párbeszédablakok speciális vezérlői
4.1.4.1. A regiszterfül (TabControl) vezérlő
4.1.4.2. A regiszter (TPageControl) vezérlő
4.1.5. Előkészített párbeszédablak-minták
4.1.6. Az objektumraktár (Object Repository)
4.1.6.1. Az ablakminták használata
4.1.6.2. Az objektumraktár használata
4.2. Speciális felépítésű alkalmazások
4.2.1. SDI alkalmazások
4.2.2. MDI alkalmazások
4.2.2.1. MDI-form és MDI-gyermek készítése
4.2.2.2. Az MDI gyermekablakok kezelése és elrendezése
4.2.2.3. Menük MDI ablakban
4.2.2.4. Az ablakok bezárása
4.2.3. Alkalmazáskészítő varázslók
5. Grafikus megjelenítés a C++ Builder programokban
5.1. Alapvető grafikus eszközök
5.1.1. Színek
5.1.2. Rajzolási módok
5.1.3. Alapeszközök
5.1.3.1. A toll (TPen)
5.1.3.2. Az ecset (TBrush)
5.1.3.3. A betűtípus (TFont)
5.1.3.4. A képek (TPicture)
5.2. Grafikus vezérlők használata
5.2.1. Geometriai alakzatok megjelenítése
5.2.2. Képek megjelenítése
5.2.3. Képlisták
5.2.4. Grafikonok megjelenítése
5.3. A Canvas tulajdonság használata
5.3.1. A TCanvas típusú objektumok alapjellemzői
5.3.1.1. Objektumok kirajzolásának határai
(ClipRect)
5.3.1.2. Az eszközkapcsolat-leíró
5.3.1.3. Koordináta-rendszerek
5.3.2. Rajzolás a TCanvas típusú objektum
felhasználásával
5.3.2.1. Képpontgrafika
5.3.2.2. Rajzolás tollakkal
5.3.2.3. Festés a rajzvásznon
5.3.2.4. Írás a rajzvászonra
5.3.2.5. Bitképek megjelenítése
5.4. Kirajzolás és újrafestés Windows
alkalmazásokban
5.5. Nyomtatás
6. Újrafelhasználható programelemek
készítése
6.1. Dinamikusan szerkeszthető könyvtárak
(DLL)
6.1.1. DLL készítése
6.1.2. A DLL felhasználása
6.1.2.1. Statikus és dinamikus importálás
6.1.2.2. A DLL-projekt futtatható alkalmazáshoz
való kapcsolása
6.1.3. A DLL használatának további lehetőségei
6.1.3.1. A DLL működésének felügyelete
6.1.3.2. A DLL és a memória
6.1.3.3. Form tárolása DLL-ben
6.1.3.4. Erőforrások tárolása DLL-ben
6.2. Komponensek készítése
6.2.1. A package programmodul
6.2.2. A komponenskészítés alapismeretei
6.2.2.1. A komponensek származtatása
6.2.2.2. A komponensek építőelemei
6.2.2.3. A komponensek tesztelése
6.2.3. Komponensek létrehozásának lépései
6.2.4. Komponenskészítés lépésről-lépésre
6.3. COM technológia, OLE megoldások és ActiveX-vezérlők
6.3.1 A COM technológia alapjai
6.3.1.1. Kapcsolat COM-objektumokkal - az interfész
6.3.1.2. A COM-kiszolgálók típusai
6.3.1.3. A típuskönyvtár és az aktív
sablonkönyvtár
6.3.1.4. Az osztálygyár
6.3.1.5. A COM-objektumok és programszálak
6.3.1.6. A COM-objektumok és regisztrációs
adatbázis
6.3.2. A COM használata a C++ Builder-ben
6.3.3. ActiveX-, ActiveForm-vezérlő készítése
és használata
6.3.4 Kiszolgálók (az Excel és a Word) kezelése
6.3.4.1 Az Excel és az OLE-automatizmus
6.3.4.2 A Word kezzelése TOleServer típusú
komponenssel
6.3.5. Dokumentumok csatolása és beágyazása
6.3.5.1. Az OLEContainer komponens által kezelt dokumentum
6.3.5.2. Az OLEContainer komponens működése
6.3.5.3. Az OLEContainer és az alkalmazás menüi
7. Adatkezelés C++ Builder-ben
7.1. Fájlkezelés
7.1.1. Állománytípusok
7.1.1.1. Szöveges állományok
7.1.1.2. Bináris állományok
7.1.1.3. A fájlkezelés lépései
7.1.2. Szabványos C/C++ fájlkezelés
7.1.3. A szabványos C++ fájlkezelése
7.1.3.1. Adatbeviteli műveletek végzése az
istream tagfüggvényekkel
7.1.3.2. Adatkiviteli műveletek végzése az
ostream tagfüggvényekkel
7.1.4. Windows szintű fájlkezelés
7.1.5. Lemezek és könyvtárak használata
7.1.5.1. Lemezadatok lekérdezése
7.1.5.2. Könyvtárak használata
7.1.5.3. Állományok adatai
7.2. VCL adatfolyamok (streams) kezelése
7.2.1. Lemazállomány-adatfolyam (FileStream)
7.2.2. Sztring-adatfolyam (StringStream)
7.2.3. Memória-adatfolyam (MemoryStream)
7.3. Lokális adatbázisok kezelése C++ Builder
alkalmazásokból
7.3.1. A BDE (Borland Database Engine)
7.3.2. A relációs adatbázisokról röviden
7.3.3. Logikai nevek (alias) létrehozása a BDE Administrator
segítségével
7.3.4. A C++ Builder adatbázisok kezelését
segítő vezérlőelemei
7.3.4.1. Adatkészletező (DataSet) vezérlőelemek
7.3.4.2. Az adatforrás vezérlőelem: DataSource
7.3.4.3. A Data Access palettalapon található további
vezérlőelemek
7.3.4.4. Adatmegjelenítő komponensek (Data Controls
palettalap)
7.3.4.5. Adatbázisform-varázsló
7.3.5. Jelentések készítése (QReport)
8. A Borland C++ Builder további lehetőségei
8.1. Multimédiás alkalmazások készítése
8.1.1. A MessageBeep(), a PlaySound() és az MCI-függvények
8.1.2. Hang nélküli AVI fájlok lejátszása:
TAnimation
8.1.3. Animációk készítése
hagyományos módszerrel
8.1.4. A médialejátszó: TMediaPlayer
8.2. Vidd és dobd, vagy csatlakoztasd!
8.2.1. A vezérlők "megfogása"
8.2.2. A "vidd és dobd" művelet
8.2.3. A "vidd és csatlakoztasd" művelet
8.3. A vágólap használata
8.4. Többszálú alkalmazások készítése
8.4.1. Programszál-objektumok létrehozása
és megszüntetése
8.4.1.1. Programszál-objektumok létrehozása
8.4.1.2. Programszál-objektumok megszüntetése
8.4.2. A programszálak indítása, felfüggesztése
és leállítása
8.4.3. Programszálak kezelése
8.4.3.1. A VCL- szinkronizálás
8.4.3.2. A __thread változók
8.4.3.3. A szálak adatkezelése
8.4.3.4. A szálak szinkronizálása
8.5. Rendszerkonfiguráció
8.5.1 A regisztrációs adatbázis kezelése
8.5.2 Az .INI állományok használata
8.6. Súgórendszer készítése
C++ Builder alkalmazásokhoz
8.6.1. Súgófájl (.hlp) írása
8.6.1.1. Tematikus állomány létrehozása
8.6.1.2. A projektálomány létrehozása,
és a súgófájl fordítása
8.6.1.3. A tartalomfájl létrehozása
8.6.1.4. Tematikus állományok készítése
bonyolultabb súgókhoz
8.6.2. Súgófájlok megjelenítése
C++ Builder alkalmazásokból
8.6.2.1. A súgófájl nevének megadása
8.6.2.2. A "Mi ez?" kontextmenük és -gombok
8.6.2.3. A súgó párbeszédablakának
megjelenítése
8.6.3. Súgóbuborékok, állapotsorok
és névjegyek
8.6.4 A HTML-súgó használata
9. A Borland C++ Builder programozási nyelve
9.1. A C++ nyelv bővítése
9.1.1. A Delphi típusainak megfelelő Borland C++
típusok
9.1.1.1. Új egész típusok
9.1.1.2. A Currency és a Comp típusok
9.1.1.3. A TDateTime típus
9.1.1.4. A Set (halmaz) típus
9.1.1.5. A SmallString típus
9.1.1.6. Az AnsiString típus
9.1.1.7. A WideString típus
9.1.1.8. A Variant típus
9.1.1.9. Dinamikus tömbök használata
9.1.1.10. Nyitott tömb paraméterek
9.1.1.11. A DelphiInterface típus
9.1.1.12. Típuskonverziós függvények
9.1.2. Deklarációk és a Delphi modulok elérése
9.1.2.1. Függvényhívási konvenciók
9.1.2.2. Változó-deklarációk
9.1.2.3. Általános __declspec bővítések
9.1.2.4. Delphi modulok elérése
9.1.2.5. A beépített assembler használatar
9.1.3. Az osztályok értelmezésének
kiterjesztése
9.1.3.1. Tulajdonságok (property) az osztályokban
9.1.3.2. Események (event) az osztályokban
9.1.4. Strukturált kivételkezelés Win32 alatt
9.1.4.1. A __try - __except kivételkezelés
9.1.4.2. A __try - __finally szerkezet
9.2. A vizuális komponensek könyvtára (VCL)
9.2.1. A VCL-hez kapcsolódó nyelvi bővítések
9.2.1.1. VCL-specifikus __declspec bővítések
9.2.1.2. További VCL-specifikus kulcsszavak
9.2.2. VCL-objektumok kezelése
9.2.2.1. Objektumok létrehozása, megszüntetése
9.2.2.2. A VCL-objektumok, mint függvény-argumentumok
- RTTI
9.2.2.3. Üzenetkezelő metódusok
9.2.2.4. VCL-szintű kivételkezelés
9.2.3. Az objektum-orientált adattárolási
lehetőségek áttekintése
9.2.3.1.Sorok és vermek
9.2.3.2. Adatok listás tárolása
9.2.3.3. A TCollection objektumgyűjtemény
Függelék 1: OpenGL garfika (pdf)
Függelék 2: Local SQL összefoglaló
(pdf)
Irodalomjegyzék
Vissza a lap tetejére
|