Borland Delphi - vizuális alkotóelemek - VCL Mint már említettük a Delphi programozás n e m más mint e g y form k o m p o n e n s e k k e l , alkotóelemekkel való betelepítése, illetve az ide tartozó e s e m é n y e k kezelése. Az alkotóelemeket a komponenspaletta tartalmazza. A háttérben ezek a komponensek Delphi-objektumok és a vizuális a l k o t ó e l e m e k könyvtára (Visual Component Library - VCL) tartalmazza őket. Minden alkotóelem a TComponent osztálytól származik. A k o m p o n e n s e k tulajdonságait a objektumfigyelővel (Object Inspector) állíthatjuk b e . Szintén itt adhatjuk meg azt, h o g y bizonyos e s e m é n y milyen eljárásokat, függvényeket hívjon meg. Az eljárások kódját pedig a Delphi szövegszerkesztőjében írhatjuk meg. Az a l k o t ó e l e m e k l e h e t n e k láthatók (megjelennek futás k ö z b e n is a formon) illetve nem láthatók (futás k ö z b e n nem láthatók a formon). A komponenspalettán az alkotóelemek csoportosítva j e l e n n e k meg. Lássuk tehát a csoportokat, illetve a k o m p o n e n s e k fontosabb tulajdonságait:
Standard komponensek
(Standard)
A TMainMenu (Menus unit - nem látható) k o m p o n e n s m a g á b a n foglalja a formhoz tartozó főmenüt és a legördülő menüket. Segítségével könnyen, dinamikusan szerkeszthetjük a menüpontokat. Az obejktumfigyelővel beállított Caption tulajdonság lesz a m e n ü p o n t n e v e , e b b e n bárhol szerepelhet a & jel, e k k o r a jel után írt karakter aláhúzva jelenik meg. A Delphi automatikusan hozzárendel e g y Name tulajdonságot, a m e l y a m e n ü p o n t programbeli neve lesz, és az e h h e z tartozó függvényt hívja meg. A TPopupMenu (Menus unit - nem látható) a jobboldali egérklikkre m e g j e l e n ő menüt építi b e a programba. Használata h a s o n l ó a TMainMenuhöz, csak most nem jelenik meg a vízszintes főmenü. A TLabel (StdCtrls unit - látható) k o m p o n e n s statikus szöveg definícióját segíti elő. Ez a szöveg általában egy másik Windows-kontrollt címkéz meg. A Caption tulajdonsággal megadható a címke szövege, a Name pedig a címke programbeli nevét jelenti. A címke átlátszóvá t e h e t ő a Transparent tulajdonság true-ra állításával: Label1.Transparent := true; A TEdit (StdCtrls unit - látható) egysoros editort valósít meg. A Text tulajdonságot felhasználva max. 255 karakterből álló sorozatot lehet beolvasni. Ha a komponenst jelszó beolvasására akarjuk használni, a k k o r a PasswordChar tulajdonságban megadhatjuk, hogy milyen karaktert írjon ki (pl. *) a jelszó beolvasásakor. A T M e m o (StdCtrls unit - látható) többsoros szövegszerkesztőt valósít meg. A háttérben egy Lines nevű TStrings objektum áll, amelyik a sorokat, mint stringek tartalmazza. A MaxLength tulajdonsággal az editor maximálisan elfogadott karakterszámát állíthatjuk be, a Modified tulajdonsággal pedig azt lehet lekérdezni, hogy módosult-e a szerkesztett szöveg. A TButton (StdCtrls unit - látható) k o m p o n e n s a d i a l ó g u s d o b o z o k b a n megszokott n y o m ó g o m b o t valósítja meg. A g o m b feliratát a Caption
Firka 1 9 9 7 - 9 8 / 3
99
tulajdonsággal, a lenyomásához tartozó eseményt pedig az OnClick-kel lehet megadni. A g o m b visszatérő értéke a ModalResult lesz. A T C h e c k B o x (StdCtrls unit - látható) k o m p o n e n s a szintén d i a l ó g u s d o b o z o k b a n megszokott o p c i ó k választógombját kínálja fel. A g o m b feliratát a Caption, a típusát pedig a State tulajdonsággal lehet beállítani. Ha a g o m b ki van választva, a k k o r a C h e c k e d tulajdonsága true. A TRadioButton (StdCtrls unit - látható) k o m p o n e n s a T C h e c k B o x - h o z h a s o n l ó . Közöttük a k ü l ö n b s é g annyi, h o g y ha rádiógombok közül egyet kiválasztunk, a k k o r a többi már n e m lesz szelektálható. Ezt a k o m p o n e n s t tehát alternatívák kiválasztására használjuk. A TListBox (StdCtrls unit - látható) a Windows-ban megszokott listákat építi b e a programba. A lista sorait a TStrings típusú Items tulajdonság adja meg. A listával az Add, Insert, Delete műveleteket lehet végrehajtani: ListBox1.Items.Add('New item');. Ha a listaelemeket rendezni akarjuk, a k k o r a Sorted tulajdonságot kell true-ra állítani. A lista t ö b b o s z l o p o s is lehet, e k k o r a Colums számát kell növelni. T ö b b listaelem kiválasztható, ha a MultiSelect tulajdonság true. A T C o m b o B o x (StdCtrls unit - látható) k o m p o n e n s e g y egysoros editort összeköt e g y listával. A felhasználó így bizonyos előre megadott értékeket választhat ki a listából, ezeket szerkeztheti, vagy újakat gépelhet b e . A k o m p o n e n s tulajdonságai és eseménykezelője megegyezik tehát az editoréval és a listáéval. A TScrollBar (StdCtrls unit - látható) k o m p o n e n s vízszintes vagy függőleges scroll bar-okat rendel hozzá valamilyen W i n d o w s kontrollhoz vagy ablakhoz. Az OnScroll eseménnyel írható le az ablak viselkedése a felhasználó által kiváltott mozgatáskor. A T G r o u p B o x (StdCtrls unit - látható) több, k ü l ö n b ö z ő vagy a z o n o s típusú k o m p o n e n s csoportosítását teszi lehetővé. A W i n d o w s ezeket a k o m p o n e n s e k e t e g y s é g e s e n kezeli. A csoporthoz e g y felirat rendelhető hozzá a Caption tulajdonsággal. A TRadioGroup (StdCtrls unit - látható) k o m p o n e n s Radio box-okat csoportosít. A g o m b o k megadása és csoportosítása a listákhoz hasonlít. A T P a n e l (ExtCtrls unit - látható) grafikus panellek elhelyezését teszi lehetővé a formon. A panellek szintén k o m p o n e n s e k e t csoportosíthatnak vagy a form design-ját alakíthatják.
Járulékos komponensek
(Additional)
A TBitBtn (Buttons unit - látható) komponens a TButton-hoz h a s o n l ó a n e g y n y o m ó g o m b megjelenését é s kezelését segíti elő. A különbség csupán annyi, h o g y a g o m b o n a felírat mellett egy k é p (Glyph) is megjelenhet.
100
Firka 1 9 9 7 - 9 8 / 3
A TSpeedButton (Buttons unit - látható) a Windows alkalmazásokban megszokott, a parancsok gyors elérését elősegítő button bar megjelenítését teszi lehetővé. A TTabSet (Tabs unit - látható), a TNotebook (ExtCtrls unit - látható) illetve a TTabbedNotebook (TabNotBk unit - látható) komponensek többlapos dialógus dobozok készítését teszik lehetővé. Ilyen dialógus dobozokat használ pl. a Word 6.0. A TMaskEdit (Mask unit - látható) komponens hasonló a TEdit-hez, csak most a szöveget egy, az EditMask tulajdonság által megadott beolvasási maszk szerint lehet módosítani. Pl. Amerikai telefonszámokat olvashatunk be a következőképpen: MaskEdit1.EditMask := '!\(999\)000-0000;l'; A TOutline (Outline unit - látható) komponens segítségével fahierarchiába szervezhetjük adatainkat. Ilyen hierarchiákat használhatunk pl. a directory bejegyzések kilistázására. Az Items tulajdonság által megadott szöveg elé a rendszer ikonokat tesz. A TStringGrid illetve a TDrawGrid (Grids unit - látható) komponens szövegek, képek vagy más adatstruktúrák táblázatos formába való megjelentetését segítik elő. A TImage (StdCtrls unit - látható) komponensképek, graphikus objektumok megjelentetését teszi lehetővé. A grafikus objektumok bittérképek, ikonok, Windows Metafile-ok formájában jeleníthetők meg. Ezt a formát a Picture tulajdonsággal adhatjuk meg. A grafikus objektumokat tetszés szerint méretezhetjük, ha a Stretch tulajdinság true-ra van állítva. A grafikus objektumokat kimenthetjük és beolvashatjuk a SaveToFile illetve a LoadFromFile metódusokkal. A TShape (ExtCtrls unit - látható) segítségével egy geometriai kitöltőmintát adhatunk meg. A minta színét, kitöltési módját és hátterét a Color, Style és Brush tulajdonságokkal állíthatjuk be. A THeader (ExtCtrls unit - látható) az egér segítségével újraméretezhető, szekciókra osztott, a TPanel-hez hasonló komponens. A szekciók szövegeit a Sections tulajdonságban adhatjuk meg. A TBevel (ExtCtrls unit - látható) két- vagy háromdimenziós, téglalap vagy vonal alakú elválasztok beillesztését teszi lehetővé. A TScrollBox (StdCtrls unit - látható) scroll-ozási felületet biztosít valamely form, ablak vagy kontroll számára. Beállíthatók mind függőleges, mind a vízszintes gördítősávok.
Firka 1 9 9 7 - 9 8 / 3
101
Adatelérési komponensek (Data Access) A TDataSource (DB unit - n e m látható) k o m p o n e n s híd a n e m látható adattábla jellegű k o m p o n e n s e k és a látható adatkezelő k o m p o n e n s e k között. A Dataset tulajdonságon keresztül kapcsolódik az adattáblához. Az a d a t k e z e l ő k o m p o n e n s e k pedig a DataSource tulajdonságon keresztül k a p c s o l ó d n a k hozzá. Az adatállomány aktuális állapotáról a State tulajdonság tájékoztat. Az adatokon végrehajtott változásokat az O n D a t a C h a n g e , O n S t a t e C h a n g e , OnUpdateData e s e m é n y e k kezelik le. A TTable (DBTables unit - nem látható) a fizikai adatállomány jelenti. A l e m e z e n l é v ő adatokhoz a Borland Database Engine-en keresztül kapcsolódik. Tulajdonságokkal megadhatók az indexek nevei, az adatbázis n e v e , az adatállomány állapota. Osztott adatbázisok esetén az Exclusive tulajdonságot kell true-ra állítani. A rekordok között a First, Prior, Next, Last, M o v e B y metódusokkal lehet navigálni. A T Q u e r y (DBTables unit - nem látható) k o m p o n e n s SQL utasítások beépítését teszi lehetővé. Az utasításokat e g y SQL vagy e g y B D E szerver hajtja végre: Query1.SQL.Add('SELECT * FROM TABLE1'); A TStoredProc (DBTables unit - nem látható) k o m p o n e n s e g y SQL szerver által már lefordított és tárolt ún. Stored Procedures eljárások futtatását teszi lehetővé. A TDatabase (DB unit - nem látható) valamilyen szerver által kezelt adatbázisok elérését teszi lehetővé. A k o m p o n e n s biztosítja a bejelentkezést (Login) és az adatbázishoz tartozó jogrendszer ellenőrzését. A k o m p o n e n s l e h e t ő v é teszi a felhasználó által adott bizonyos rövidítések, álnevek (Alias) kezelését. A T B a t c h M o v e (DBTables unit — nem látható) k o m p o n e n s l e h e t ő v é teszi, h o g y egyszerű m ó d o n tudjunk rekordokat másolni egyik adattáblából a másikba. A forrás adattáblát a Source, a célt pedig a Destination tulajdonsággal kell megadni. A TReport (Report unit - nem látható) k o m p o n e n s interfész a delphi alkalmazás és a Borland ReportSmith jelentésgenerátor között. A jelentés nevét a Report tulajdonságban kell megadni, futtatásához, nyomtatásához a Run illetve a Print metódust kell használni.
Adatkontrollok (Data Controls) A TDBGrid (DBGrids unit - látható) k o m p o n e n s TTable vagy T Q u e r y k o m p o n e n s e k h e z kapcsolódik és az abban lévő rekordokat egy táblázatban jelenteti meg.
102
Firka 1 9 9 7 - 9 8 / 3
A TDBNavigator (DBCtrls unit - látható) kapcsolótábla, amely segítségével mozoghatunk az adattábla rekordjai között, illetve b i z o n y o s utasításokat (szerkesztés, kimentés, törlés, stb.) adhatunk ki. A TDBText (DBCtrls unit - látható) k o m p o n e n s megjelenítésére szolgál, amelyet egy adattáblából vesz.
statikus
szöveg
A TDBEdit (DBCtrls unit - látható) k o m p o n e n s egyszerű egysoros szerkesztő, amely e g y adattábla mezőjéhez kapcsolódik, megjeleníti azt, illetve lehetővé teszi a módosítását. Az e l ő b i e k h e z h a s o n l ó k a. TDBMemo, TDBImage, TDBListBox, TDBComboBox, TDBCheckBox, T D B R a d i o G r o u p (DBCtrls unit - látható) illetve a TDBLookupList, T D B L o o k u p C o m b o (DBLookup unit - látható) k o m p o n e n s e k , amelyek valamilyen vizuális kontrollt kapcsolnak össze e g y adattábla valamilyen mezőjével, és lehetővé teszik a m e z ő megjelenítését és módosítását.
Dialógusok (Dialogs) A T O p e n D i a l o g (Dialogs unit n e m látható) e g y modális dialógusdobozt jelentet meg. A dialogusdoboz állományok beolvasására szolgál. A d i a l ó g u s d o b o z b ó l ki lehet választani az állomány nevét, elérési útvonalát, a lemezegységet. A Filter tulajdonság segítségével egy megjelenítési maszkot lehet definiálni. A dialógusdobozt az E x e c u t e metódus meghívásával lehet aktívvá tenni. Az O p e n g o m b lenyomása után a FileName tulajdonságban visszakapjuk a kinyitandó állomány nevét. A TSaveDialog (Dialogs unit - nem látható) a T O p e n D i a l o g h o z h a s o n l ó . Az E x e c u t e metódus segítségével megjelenítetett d i a l o g u s d o b o z b ó l beolvasásra megnyitható állománynevet olvashatunk b e . Az E x e c u t e metódus, itt is, true-t vagy false-ot ad vissza, attól függően, h o g y az Save vagy a Cancel g o m b o t nyomtuk meg. A TFontDialog (Dialogs unit nem látható) a Windows alkalmazásokból megszokott font kiválasztási modális dialógus dobozt jelenteti meg. Az E x e c u t e metódussal meghívott és az OK g o m b b a l lezárt d i a l ó g u s d o b o z a Font tulajdonságban tárolja a kiválasztott fontot.
A TColorDialog (Dialogs unit - nem látható) színek kiválasztását segíti e l ő . A Color tulajdonságban megkapjuk a kiválasztott színt. A TPrintDialog és a TPrinterSetupDialog (Dialogs unit - n e m látható) k o m p o n e n s e k a nyomtatóbeállításhoz szükséges d i a l ó g u s d o b o z o k a t jelenítik meg. A nyomtatás ezután a Printers unit-ban definiált Printer o b j e k t u m segítségével valósul meg.
Firka 1 9 9 7 - 9 8 / 3
103
A TFindDialog és a TReplaceDialog (Dialogs unit - n e m látható) a szövegszerkesztőkből megszokott mintakeresési és kicserélési d i a l ó g u s d o b o z o k a t jeleníti meg az E x e c u t e metódus segítségével. A FindText tulajdonságban a keresett mintát, a ReplaceText tulajdonságban pedig a k i c s e r é l ő mintát adhatjuk meg.
Rendszerelemek (System) A T T i m e r (ExtCtrls unit - nem látható) k o m p o n e n s e g y logikai időmérőt valósít meg. Az i d ő m é r ő az Interval tulajdonságban megadott ( e z r e d m á s o d p e r c ) időegység elteltekor e g y O n T i m e r eseményt generál és meghívódik a hozzátartozó eljárás. A T P a i n t B o x (ExtCtrls unit - nem látható) a TImage k o m p o n e n s h e z h a s o n l ó , a k ü l ö n b s é g az, h o g y míg a TImage e g y metafile, ikon vagy bittérkép jellegű képet jelenít meg, a T P a i n t B o x e g y eseményt kezel le, a m e l y dinamikusan rajzolja meg a képet. Ez az e s e m é n y az OnPaint. A TFileListBox, TDirecioryListBox, T D r i v e C o m b o B o x é s T F i l t e r C o m b o B o x (FileCtrl unit - látható) k o m p o n e n s e k segítségével felépíthetjük az állománykezeléshez szükséges dialógusdobozokat. E z e k az elemek találhatók meg a T O p e n D i a l o g és a TSaveDialog típusú d i a l ó g u s d o b o z o k b a n is. Segítségükkel megkaphatjuk vagy beállíthatjuk e g y á l l o m á n y elérési útvonalát, nevét, valamint a lemezegységet é s e g y megjelenítési maszkot is. A TMediaPlayer (MPlayer unit - látható) k o m p o n e n s e g y multimédia lejátszót helyez a formra. A lejátszón beállíthatók a szokásos (play, pause, stop, next, prev, step, back, record, és eject) g o m b o k . A T O L E C o n t a i n e r (OLECtnrs unit - n e m látható) k o m p o n e n s az OLE (Object Linking and E m b e d i n g ) filozófiára é p ü l ő Windows alkalmazások közötti adatcserét segíti elő. A TDDEClientConv, TDDEClientItem, TDDEServerConv, TDDEServer-Item (DDEMan unit nem látható) k o m p o n e n s e k segítségével a dinamikus adatátvitelt valósíthatjuk m e g W i n d o w s alkalmazások között (DDE - Dynamic Data E x c h a n g e ) . A D D E filozófia kliens-szerver alkalmazásokra épül a szerver adatokkal szolgálja ki a klienst.
Háttérkomponensek A Delphi s z á m o s olyan háttérkomponenst használ, amelyek a VCL szerves részeit képezik é s a színfalak mögött elősegítik az adatátvitelt, az alkalmazás nemlátható részei közötti kommunikációt. Ezek a k o m p o n e n s e k n e m találhatók m e g a komponenspalettán. Minden adatbázismezőnek megfelel tulajdonképpen egy-egy ilyen k o m p o n e n s , amely valamilyen típust ír le. Magát az alkalmazást a TApplication (Forms unit - n e m látható) h á t t é r k o m p o n e n s valósítja meg. Az osztály metódusai és mezői a W i n d o w s magjával biztosítják az állandó kommunikációt é s az e s e m é n y - illetve az
104
Firka 1 9 9 7 - 9 8 / 3
üzenetcsatornák folytonosságát. Elősegítik az alkalmazás felépítését, futtatását és végül az alkalmazás teljes leépítését. Az alkalmazásunk tulajdonképpen e n n e k az osztálynak e g y példánya. Ezt a példányt a Delphi deklarálja é s az Application nevet viseli. Az Icon tulajdonság segítségével e g y ikont, a HelpFile tulajdonság segítségével pedig egy W i n d o w s h e l p állományt rendelhetünk hozzá az alkalmazásunkhoz. A T S c r e e n (Forms unit - n e m látható) k o m p o n e n s az alkalmazás „képernyőjét", vagyis futási képét határozza meg. Információkat tartalmaz az aktív formról (ActiveForm tulajdonság), az egérkurzorról (Cursor), a k é p e r n y ő felbontásáról (PixelsPerInch). Metódusai segítségével a komponensek megjelenítését (InsertComponent) és felszabadítását ( D e s t r o y C o m p o n e n t s , R e m o v e C o m p o n e n t ) valósítja meg. A Delphi mindig deklarálja a T S c r e e n típusú Screen változót. A T M e n u I t e m (Menus unit - nem látható) k o m p o n e n s a m e n ü e l e m e k tulajdonságait, metódusait és eseményeit tartalmazza. A TMainMenu és a TPopupMenu használja fel. A T S e s s i o n (DB unit - n e m látható) komponest nem lehet explicit m ó d o n deklarálni, a z o n b a n minden további nélkül használhatjuk a metódusait é s a tulajdonságait. A k o m p o n e n s lehetővé teszi az alkalmazás számára az adatbázisok fölötti globális felügyeletet. A Delphi automatikusan k é p e z minden alkalmazás számára e g y Session n e v ű példányt. A TDataset (DB unit - n e m látható) az effectiv adatokat tartalmazza e g y T Q u e r y , T T a b l e vagy más adatbázis jellegű k o m p o n e n s e k számára. Struktúrája a TTable-hoz hasonlít. A lekérdezések mindig e g y ilyen típusú adathalmazzal térnek vissza. A TDBGrid is ilyen adathalmazokat jelentet meg. A TField (DB unit - n e m látható) alkotóelemeket a rekord m e z ő i n e k elérésére használjuk. Alapértelmezés szerint az adathalmaz minden egyes aktiválásakor automatikusan létrejön a TField a l k o t ó e l e m e k halmaza. A rekord mezőit k ü l ö n b ö z ő típusú k o m p o n e n s e k képviselik. Ezek a k o m p o n e n s e k n e m láthatók, és a DBTables unitban vannak definiálva. Ilyen k o m p o n e n s e k a TDateTimeField (dátumot és időt reprezentáló értéket ábrázol), T B C D F i e l d ( B C D értéket tartalmazhat 18 számjegy pontossággal), TBlobField (a m e z ő tetszőleges adatokat tartalmazhat), TFloatField ( l e b e g ő p o n t o s értéket ábrázol), TSmallIntField (egész számot ábrázol), T B o o l e a n F i e l d (logikai mező, értéke true vagy false lehet), TGraphicField (grafikus adatokat, pl. bittérképet tartalmazhat), TStringField (255 karakter hosszú sort tárolhat), TBytesField (határozatlan méretű byte-ok halmazát tartalmazhatja), TIntegerField (hosszú egész számokat ábrázol), TTimeField (időt reprezentáló értéket ábrázol), TCurrencyField (pénznemet reprezentáló értéket ábrázol), TMemoField (a m e z ő határozatlan hosszúságú s z ö v e g e s adatokat tárol), TVarBytesField (maximum 65535 byte-ból álló tetszőleges értéket tartalmazhat, az e l s ő két byte a byte-sor aktuális hosszát tartalmazza), TDateField (dátumot reprezentáló értéket ábrázol), TWordField (előjel nélküli e g é s z számokat tartalmazhat).
Más VCL objektumok A Delphi számos olyan objektumtípust deklarál, amelyek n e m vesznek részt az alkalmazás tényleges deklarációiban, h a n e m mint osztálymezők, elsősegítik, felépítik az adat- és programstruktúrákat, eszközökként használhatók. Ezek az o b j e k t u m o k csak futás k ö z b e n érhetők el. Az alkalmazásban explicit m ó d o n kell őket deklarálni, g o n d o s k o d n i a Create konstruktor meghívásáról, és használat után a lefoglalt memóriát a Free m e t ó d u s segítségével fel kell szabadítani. Minden ilyen n e m látható objektum a T O b j e c t absztrakt őstől származik. Ilyen objektumok a következők: A T B i t m a p (Graphics unit) bittérképes grafikát tartalmaz. Hozzá h a s o n l ó k az ikonokat illetve a Windows metafile-kat tároló T I c o n é s TMetafile
Firka 1 9 9 7 - 9 8 / 3
105
(Graphics unit) objektumok. Számukra alaposztály a TGraphics k é p e z . A T B l o b S t r e a m (DBTables unit) objektum a Read, Write, S e e k metódusai segítségével lehetővé teszi az adatbázismezők stream-eknél és file-oknál megszokott m ó d o n történő írását és olvasását. A TBrush (Graphics unit) objektumot színezett alakzatok befestésekor használjuk. A Color és a Style tulajdonság segítségével megadhatjuk a festési színt és a kitöltőmintát. A TCanvas (Graphics unit) e g y rajzolási felület. Segítségével rajzolhatunk a formra é s a nyomtatóra, valamint szöveget jelentethetünk meg a TextOut m e t ó d u s a segítségével. A szöveg betűtípusát a TFont (Graphics unit) o b j e k t u m segítségével állíthatjuk b e . A T P e n (Graphics unit) objektumot vonalak rajzolására használjuk. A TPen, T F o n t és TBrush o b j e k t u m o k számára. a TGraphicsObject (Graphics unit) képez: alaposztályt. A TIniFiles (IniFiles unit) engedélyezi az alkalmazásnak az .INI á l l o m á n y o k írását é s olvasását. A ReadSection metódus segítségével e g y Iniszekciót, a ReadString-gel pedig egy sort lehet kiolvasni. A TList (Classes unit) objektumot az o b j e k t u m o k és osztályok listájának k e z e l é s é h e z használjuk. F ő metódusai az Add, Delete, Insert, Remove, Move és az E x c h a n g e . A W i n d o w s Clipboardot vagyis a vágóasztalt is közvetlenül elérhetjük a TClipboard (Clipbrd unit) o b j e k t u m segítségével. A unit automatikusan deklarál e g y Clipboard n e v ű változót. A görgetősávok (scroll bar) megjelenítésére é s k e z e l é s é r e a TControlScrollBar (Forms unit) objektumot használjuk. A görgetősávok lehetnek vízszintesek (HorzScrollBar) és függőlegesek (VertScrollBar). Fizikai adatmezők elérésére illetve az adattáblákhoz tartozó i n d e x e k k e z e l é s é r e használjuk a TFieldDef, TFieldDefs (DB unit) és a T I n d e x D e f , T I n d e x D e f s (DBTables unit) objektumokat. Az adatlekérdezések a TParam é s TParams (DBTables unit) o b j e k t u m o k felhasználásával valósulnak meg. Sztringek, sztringlisták kezelésére a TStrings é s a TStringList (Classes unit) o b j e k t u m o k a t használják fel az alkotóelemek. A W i n d o w s nyomtató interface-ét a TPrinter (Printers unit) objektum teszi elérhetővé.
A VCL eljárásai, függvényei A Delphi rendszer tartalmaz olyan eljárásokat é s függvényeket is, a m e l y e k a VCL szerves részét képezik, de n e m tartoznak egyetlen o b j e k t u m h o z vagy a l k o t ó e l e m h e z sem. Használatuk szerint e z e k lehetnek az ü z e n e t e k d i a l ó g u s a b l a k o k b a n való megjelenítéséhez használt eljárások, függvények ( I n p u t B o x , InputQuery, MessageDlg, MessageDlgPos - Dialogs unit), grafikus e l e m e k , p o n t o k , téglalapok létrehozásához szükséges rutinok ( B o u n d s , Point, Rect - Classes unit), az alkotóelemek, osztályok, o b j e k t u m o k szülő formjának, osztálytípusáriak a meghatározására szolgáló függvények (GetParentForm, ValidParentForm, FindClass, GetClass - Classes unit), és m é g s o k a n mások. Lássuk most az oly szerteágazó Delphi Visual Component Library osztályhierarchiájának e g y részét:
Kovács Lehel
106
Firka 1 9 9 7 - 9 8 / 3