A Delphi programozási nyelv

Szabványos könyvtárak

A Delphihez nagy mennyiségű előre megírt unit/modul tartozik. Ezeket könyvtárakba szervezve kapjuk a fejlesztő környezettel együtt. Ez is gyorsítja, illetve hatékonyabbá teszi a fejlesztést. A Delphiben korábban megkülönböztették az RTL-t (futási idejű könyvtár), a VCL-t (vizuális komponenskönyvtár) és a CLX-et (platformfüggetlen komponenskönyvtár). Az újabb verziókban a Delphi összes könyvtárát egységesen VCL-nek nevezik.

A szükséges unitokat a uses kulcsszó segítségével kapcsolhatjuk a programunkhoz. Ez automatikusan bekerül, ha használunk egy Delphi komponenst.

A Delphi támogatja a DLL (Dynamic Link Library) készítését, valamint csomagokat is összeállíthatunk, amelyekkel az IDE-t bővíthetjük ki komponensekkel és egyéb funkciókkal.

A könyvtári egységek

A leggyakrabban használt könyvtári egységek a következők:

System

A System egység speciális, mivel minden egység és főprogram implicit hivatkozik rá, így a benne levő szolgáltatások mindig elérhetők. Ebben az egységben találhatók a különleges nyelvi elemek, pl. a TObject osztály, az IInterface interfész, valamint számos konverziós függvény.

SysUtils

Lehetővé teszi a kivételkezelést. Tartalmazza az alapvető kivételosztályokat, számos fájlokkal, könyvtárakkal és dátumokkal kapcsolatos függvényt, valamint a string és más típusok között konvertáló függvényeket. Az utóbbiak közé tartozik a Format függvény, amely hasonlít a C-ből ismert printf-re, viszont nem írja ki az eredményt, hanem stringként visszaadja, így rugalmasabban használható.

Types

Tartalmaz néhány típusdeklarációt, pontokkal és téglalapokkal kapcsolatos műveleteket.

Windows

A C-ben használatos windows.h-nak felel meg, így tartalmazza a Windows API függvények deklarációját és a hozzájuk kapcsolódó típusokat.

Messages

Windows-üzenetek kódjait és a hozzájuk tartozó rekordokat tartalmazza, hasznos lehet üzenetkezelő metódusok írásakor.

Classes

Hasznos osztályokat tartalmaz: TThread - szál, TList - tömb alapú lista, TStringList - tömb alapú string+objektum lista, különféle Stream osztályok, TPersistent - egymás közti értékadást és sorbafejtést (szerializáció) támogató osztályok alaposztálya, TComponent - hierarchiát, tulajdonosi viszonyt, értékadást és sorbafejtést támogató alaposztály.

Fájlkezelés

A fájlok támogatását a Delphiben három pontba lehet szétosztani:

Object Pascalból eredő fájltámogatás

Fájlokkal kapcsolatos leggyakrabban használt parancsok:

Megjegyzés: a Read, ReadLn, Write, WriteLn fájlparaméter nélkül is meghívható, ekkor konzol alkalmazás esetén a konzolról olvas vagy oda ír.

Példa:

A Pascalban használt parancsszavak a Delphiben továbbra is használhatóak, csak a System modullal kell hivatkozni rájuk. Például az Assign(F) helyett a System.Assign(F) parancsot használhatjuk. (Ennek az az oka, hogy a legtöbb komponens rendelkezik Assign metódussal, amelynek teljesen más a feladata.)

Ha más, nem szöveges fájllal szeretnénk dolgozni, hanem valamilyen típusos állománnyal, akkor használhatjuk a file of "type" formát a deklaráláshoz. Például: file of Integer.

További fájltámogatás

Általában rövid és egyszerű megoldást szeretnénk használni a fájlkezelésre, és nem szeretnénk mindig használni a hosszadalmas Object Pascalból eredő fájltámogatást. Erre is van lehetőségünk Delphiben. A legismertebb metódusok a LoadFromFile és a SaveToFile, melyek adatokat beolvasnak illetve elmentenek egy fájlba. A szövegek tárolására alkalmas TStringList osztály pl. rendelkezik ezekkel a metódusokkal:

Memo1.Lines.LoadFromFile('data.txt');

További fájlokkal kapcsolatos parancsok

Néhány fájlokkal kapcsolatos függvény a SysUtils egységből:

Komponensek

A Delphi erősen támogatja a komponens alapú szoftverfejlesztést. Ha egy GUI alkalmazást készítünk, az IDE tervezőjében vizuálisan tervezhetjük meg az alkalmazás kinézetét. Az Object Inspector segítségével megváltoztathatjuk az egyes komponensek tulajdonságait, és az eredményt azonnal szemügyre vehetjük. A komponensek továbbá lehetnek nem vizuálisak, ám ilyenkor is hasznos, hogy a tervezővel állíthatjuk be a tulajdonságaikat a sok kódsorból álló inicializálás helyett.

Az ablaknak megfelelő komponens a form. A Delphi IDE segítségével egyszerűen adhatunk hozzá formokat az alkalmazáshoz, ekkor létrejön egy forrásfájl, amely egy TForm-ból származtatott osztályt tartalmaz, valamint egy .dfm kiterjesztésű erőforrás, amely a form komponenseit írja le. Az Object Inspectorban az eseményekhez is egyszerűen rendelhetünk eseménykezelőt: listából választhatók ki a megfelelő szignatúrájú metódusok, valamint a tervező létre is tud hozni üres metódust.

A VCL komponenseit az alábbi kategóriákba sorolhatjuk:

A Delphi orientációját jelzi, hogy a komponenspaletta nagy része adatbázisokkal és hálózattal kapcsolatos komponensekből áll. Továbbá beszerezhetők mások által fejlesztett komponensek (akár pénzért) és beilleszthetők az IDE-be.

Általános komponensek bemutatása

Ebben a részben szeretném bemutatni az általános Delphi komponenseket, illetve azok fontosabb jellemzőit és eseményeit.

TLabel (címke)

TEdit (szerkesztődoboz)

TMemo (többsoros szerkesztődoboz)

TBtton (gomb), TBitBtn (gomb képpel)

TCheckBox (jelölőnyégyzet)

TRadioGroup (választógomb-csoport)

TListBox (listaboboz)

TComboBox (kombinált lista)

TSpeedButton (eszköztár gomb)

TMainMenu (főmenü)

TPopupMenu (gyorsmenü)