Az előadás letöltése folymat van. Kérjük, várjon

Az előadás letöltése folymat van. Kérjük, várjon

Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.

Hasonló előadás


Az előadások a következő témára: "Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT."— Előadás másolata:

1 Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT

2 2. ELŐADÁS Borland Delphi fejlesztői környezet - Bevezetés Megjegyzés: a ppt-ben található színkódok: forráskód általános szintaxisa példaprogram részlet

3 Történelem Pascal nyelv és fordító 1983 Turbo Pascal 1.0 … 1991 Turbo Pascal Delphi 1.0 … 1998 Delphi 4.0 … 2001 Delphi Delphi 7.0, Delphi.NET 2003 Delphi Delphi Delphi 2006

4 Borland Delphi Objektum orientált nyelvre épül: Object Pascal - IDE: Integrated Development Environment Integrált Fejlesztői Környezet - Eseményvezérelt programozás

5 OOP jellemzői Egységbe zárás - az adatstruktúra és az őt kezelő függvény egy egységet képez: objektum (osztály) Öröklés - meglévő osztályokból levezetett újabb osztályok öröklik a definiálásukhoz használt alaposztályok már létező adatstruktúráit és függvényeit Többrétűség - adott tevékenység (metódus) azonosítója közös lehet egy adott osztályhierarchián belül, ugyanakkor a hierarchia minden egyes osztályában a tevékenységet végrehajtó függvény megvalósítása az adott osztályra nézve specifikus

6 OOP - fogalmak Osztály – felhasználó által megadott adattípus Objektum –osztály példánya Mezők – objektum részét alkotó változók Metódus – függvények, eljárások, melyek valamely osztály vagy ősosztály objektumaira vonatkoznak Tulajdonság – mint egy mező, hatása metódus Öröklődés – egy osztály lehet egy másik osztály leszármazottja – örökli annak mezőit, metódusait, tulajdonságait

7 Állomány neve Interfész szakasz (típusdeklarációkat tartalmaz) Leírja, hogy az alkalmazás többi része mit lát a unitban (változók, konstansok, hívható eljárások definíciói) Ez a rész nem futtatható kódot tartalmaz. Implementációs szakasz A kódot itt írjuk és futtatjuk. (az itt definiált eljárások, függvények csak itt használhatók) Erőforrás fordítási direktíva Állomány vége Egy Delphi program szerkezete unit Unit1; interfaceuses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs;type TForm1 = class(TForm) TForm1 = class(TForm) private private { Private declarations } { Private declarations } public public { Public declarations } { Public declarations } end; end;var Form1: TForm1; Form1: TForm1;implementation {$R *.dfm} end.

8 Osztályok szintaxisa TMyClass = class {osztálydeklaráció} End; TMyClass = class (TObject) {alosztály} End; Alapértelmezetten minden osztály őse a TObject osztály. A TObject osztály rendelkezik egy ClassName osztálymetódus névvel, tehát: ShowMessage(TMyClass.ClassName); megadja az osztály nevét egy ablaküzenetben

9 Példa 1. Állapot leírása: osztály tartalmazza a példányok ‘tervrajzát’ (tulajdonságok) pl.: TKutya osztály tulajdonságai: TKutya = class Szín: TColor; Faj: String; Nem: String; Súly: Double; end;

10 Példa – folyt.1 Szín: TColor; Itt a Szín tulajdonság bármely szín lehet, a TColor egy előre definiált típus (pl.: kék kutya – ami nem szerencsés) Megoldás: új (felsorolásos) típus Type TKutyaSzin = (ksBArna, ksFekete, ksFehér); Majd a Szín attribútum újradefiniálása: Szín = TKutyaSzin;

11 Példa – folyt.2 2. Képességek: osztályok képességeit a metódusok adják meg – mire képes az adott osztály Metódusok: osztályok tagjaiként deklarált eljárások, függvények Pl.: TKutya = class Szín: TColor; Faj: String; Nem: String; Súly: Double; Procedure Ugat; Procedure Fut; end;

12 Példa – folyt.3 Az így megadott eljárásokat az implemen- tációs szakaszban (az osztály nevével ellátva) definiáljuk: Implementation Procedure TKutya.Ugat; Begin//kódEnd;

13 Példa – folyt.4 3.Objektumpéldány létrehozása: a definiált osztály egy példányát létrehozva használhatjuk annak tulajdonságait: változónév:=osztálynév.createPl.: var Dog: TKutya; begin Dog:= TKutya.Create; //memória foglalás Dog.Szín:= ksFehér; … Dog.Free; //memória felszabadítás end;

14 A Self kulcsszó Metódus: eljárások, függvények, és rendelkeznek egy paraméterrel, mely az aktuális objektumra mutat A metóduson belül ere az objektumra a Self kulcsszóval hivatkozhatunk. pl.: futási időben létrehozott komponens esetén a Create-nek meg kell adni a komponens tulajdonosát, szülőjét

15 Példa- Self ProcedureTForm1.FormMouseDown (Sender:Object; Button: TMouseButton; Shift: TShiftState; X,Y:Integer); //ez az esemény paraméterként megkapja akattintás pozícióját is ellentétben az onclick-kel Var Gomb:TButton; BeginGomb:=TButton.Create(Self); Gomb.Parent := Self; Gomb.Left := X; Gomb.Top :=Y; Gomb.Width :=Gomb.Width + 50; Gomb.Caption := Format(‘Button at %d %d’,[X,Y]); End; //beinkludálni StdCtrls (unitba!)

16 Delphi környezet Indítóképernyő: Indítóképernyő: Menu – components Object Inspector – properties, events Object Tree View FormUnit

17 Menü - komponensek - Szokásos menüpontok (file, edit, stb.) - Gyorsbillentyűk - Programfutáshoz szükséges funkciógombok - Komponenspaletta (standard, additional, win32, datacontrols, stb.)

18 Object Inspector „ Objektumvizsgáló” Tervezési módban – adatbeviteli ablak objektumok alapértelmezett értékei részére 1. Properties (tulajdonságok) tervezésnél módosítható adatok 2. Events (események) üzenetekre reagáló szubrutinok

19 Object Tree View „Objektumok fanézete” Objektumok közötti hierarchia alapján navigálhatunk Az objektumokat kapcsolati rendszerben mutatja

20 Ablak és kódszerkesztő Form: (ablak) „külcsíny” ez a felhasználói felület a kapocs a külvilág és a program között Unit: (kódszerkesztő) „belbecs” itt található a tényleges forráskód

21 Munkakörnyezet konfigurálása Tools > Editor Options

22 Project beállítások Project > Options - aktív form beállítás - alkalmazás tulajdonságai - verzió információ

23 Delphi alkalmazások *.resikonállomány (bináris) *.pasforráskód állomány (pascal) *.dfm form és adatmodul állományok *.dprprojectállomány (pascal) *.dofproject, options beállítások - aktuális beállítások *.cfgalkalmazás fordítását érintő konfigurációs állomány ~ backup fájlok –biztonsági másolat

24 Komponensek - Standard Main Menumenüszerkesztés- duplaklikkel menüszerkesztő Popup Menulegördülő menü Label címke, felirat Editszövegdoboz Memoszövegmegjelenítésre Buttongomb CheckBoxjelölőnégyzet RadioButtonválasztógomb (csoportosítás) ListBoxlista ComboBoxlistáról elem kiválasztása ScrollBargördítősáv GroupBoxösszetartozó komponensek csoportosítására RadioGroupválasztógomb csoportosítására Panelpanelterület ActionListműveletlista

25 Komponensek - Additional BitBtn gomb(ikon rendelhető) SpeedButtongombterület(eszköztár) MaskEdit formátumos bekérőmező StringGridszövegtáblázat DrawGridtáblázat Imagesképek Shaperajz Bevelterület ScrollBoxgördíthető terület CheckListBoxjelölőnégyzetes listaablak Splitterfelosztás StaticTextkeretezett szövegsor ControlBarjelölősor Chartgrafika További komponensek: ApplicationEventValueListEditorLabelEditColorBoxActionManagerActiopnMainMenuBarActionToolBarCustomizeDlg

26 Komponensek – win32 TabControlfül komponens (lapozáshoz) PageControlfüles lapok ImageListképsorozat RichEditszövegszerkesztő TrackBarcsúszka ProgressBarfolyamatjelző UpDownléptető (nyílgombokra kattintva – tovább előre) HotKeyvezérlőgomb Animateanimáció – néma videoklipp DateTimePickerdátum idő komponens MonthCalendarnaptár TreeViewfa (adatokat rajzos fa szerkezetben jeleníti meg) ListViewadatokat oszlopba rendezve jeleníti meg HeaderControlmozgatható fejléc StatusBarállapotsor (a munkaterület aljára) ToolBareszközsor CoolBargörgethető eszközsor PageScrollerlapozható eszközpaletta

27 Komponensek – System Timerstopper időtartam mérésére PaintBoxrajzterület MediaPlayermultimédia (video) OleContainerügyfélterület létrehozása DdeClientConvügyfél-kiszolgáló kapcsolat felépítésére DdeClientItemügyféladat (elküldésére a kiszolgálónak) DdeServerConvügyfélkommunikáció DdeServerItemkiszolgálóadat

28 Komponensek – DataAccess DataSourceadatforrás (összefűző komponens) ClientDataSetegyéni többfelhasználós adatbázis DataSetProvideradatbáziskérő (szervertről) XMLTransformXMLTransformProviderXMLTransformClient

29 Komponensek – DataControls DBGridadatbázis tábla DBNavigatornavigátorgombok DBTextszövegsor adat DBEditadatbekérő DBMemoszövegsorok adat DBImageskép adat DBListBoxlista adat DBComboBoxbekérő lista adat DBCheckBoxjelölőnégyzet adat DBRadioGroupválasztógomb adat DBLookUpListBoxtáblaoszlop DBLookUpComboBoxtáblaoszlop szerkesztés DBRichEditformázott szöveg DBCtrGridtáblakészítő DBChartgrafika adat

30 Komponensek – BDE Tablebázistábla Querylekérdezés (SQL) StoreProcműveletek DataBaseadatbázis Sessionadatbázis csoport BatchMovetáblamásoló UpdateSQLfrissítő NestedTablevisszaíró

31 Események (events) duplaklikk : ObjectInspector>Events>… OnActivateaktiválás hatására OnClickráklikkelés hatására OnCreatelétrehozás hatására OnDbClickduplaklikk hatására OnDestroymegszűntetés hatására OnMouseDownegéglenyomás hatására OnMouseMoveegér áthaladás hatására OnKeyPressbillentyűzet lenyomására OnKeyUpbillentyűzet felengedésére

32 Metódusok Application.Terminate; - az alkalmazás leállítása Close; - az aktuális ablak bezárása Show; - ablak előhozása ShowModal; - ablak előhozása Create; - objektum létrehozása

33 Még két apróság View>Toolbars >Customize Show tooltips beállítása a könnyebb tanulás érdekében. Delphi súgó használata! (kulcsszón:F1)

34 Feladatok Ismerkedés a kezelőfelülettel, komponensekkel. Készítsen formot komponensekkel – változtassa azok tulajdonságait – form neve, fejléce, mérete, a rajta lévő objektumok tulajdonságai (ObjectInspector>Properties). (ObjectInspector>Properties). Vizsgálja meg az ObjectTreeView segítségével az osztályhierarchiát az adott alkalmazáson. Mentse el az alkalmazást – porjektként – vizsgálja az elmentett állományokat.

35 Feladatok Az elkészítet alkalmazás objektumainak eseményeit vizsgálja. Nézze át a 1delphi_tesztsor mappában található példaprogramot (az ott használt komponenseket, eseményeket, függvényeket, stb.) Készítsen alkalmazást, mely nyomógomb segítségével valamilyen eseményt vált ki (pl. egy szöveg, gombfelirat, panelszín megváltozik az onclick esemény hatására). Vizsgálja meg a MessageDlg függvényt a Delphi helpben, alkalmazza egy saját példán.


Letölteni ppt "Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT."

Hasonló előadás


Google Hirdetések