Előadást letölteni
Az előadás letöltése folymat van. Kérjük, várjon
KiadtaAlexandra Patakiné Megváltozta több, mint 10 éve
1
Delphi programozás SRTNB020 2. előadás – a fejlesztőkörnyezet
Nagyváradi Anett
2
Delphi programozás Tematika Pascal alapok - tömbkezelés, függvények, eljárások, fájlkezelés Objektum orientált programozás Delphi környezet – formok, unitok, komponensek Alkalmazás fejlesztése – tulajdonságok, események Adatbáziskezelés – SQL, adathozzáférési komponensek, adat-érzékeny vezérlők Internet-, webes-alkalmazások 2D-, 3D-grafika
3
Történelem 1968-70 Pascal nyelv és fordító 1983 Turbo Pascal 1.0 …
Delphi programozás Történelem Pascal nyelv és fordító 1983 Turbo Pascal 1.0 … 1991 Turbo Pascal 6.0 1995 Delphi 1.0 … 1998 Delphi 4.0 … 2001 Delphi 6.0 2002 Delphi 7.0, Delphi .NET 2003 Delphi 8.0 2004 Delphi 2005 2005 Delphi 2006 2006 Turbo termékcsalád 2008 Delphi 2009
4
Használt verzió 2006 Turbo termékcsalád
Delphi programozás Használt verzió 2006 Turbo termékcsalád Turbo Delphi 2006 Explorer (full, english)
5
Borland Delphi Objektum orientált nyelvre épül: Object Pascal
Delphi programozás 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
6
OOP jellemzői Egységbe zárás
Delphi programozás 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
7
OOP - fogalmak Osztály – felhasználó által megadott adattípus
Delphi programozás 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
8
Egy Delphi program szerkezete
Delphi programozás Egy Delphi program szerkezete Á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 unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs; type TForm1 = class(TForm) private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} end.
9
Delphi programozás Osztályok szintaxisa TMyClass = class {osztálydeklaráció} End; TMyClass = class (TObject) {alosztály} 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
10
Delphi programozás Példa 3 lépcsőben (3/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;
11
Type TKutyaSzin = (ksBArna, ksFekete, ksFehér);
Delphi programozás Példa - folytatás 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; TKutya = class Szín: TKutyaSzin; Faj: String; Nem: String; Súly: Double; end;
12
Delphi programozás Példa - folytatás (3/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: TKutyaSzin; Faj: String; Nem: String; Súly: Double; Procedure Ugat; Procedure Fut; end;
13
Delphi programozás Példa - folytatás 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ód End;
14
Delphi programozás Példa - folytatás (3/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.create Pl.: var Dog: TKutya; begin Dog:= TKutya.Create; //memória foglalás Dog.Szín:= ksFehér; … Dog.Free; //memória felszabadítás end;
15
Delphi programozás Self kulcsszó Metódus: eljárások, függvények; 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
16
Delphi programozás 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; Begin Gomb:=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!)
17
Delphi környezet Indítóképernyő: Menu – components Object Inspector
Delphi programozás Delphi környezet Indítóképernyő: Menu – components Object Inspector – properties, events Object Tree View Form Unit
19
Menü - komponensek - Szokásos menüpontok (file, edit, stb.)
Delphi programozás Menü - komponensek - Szokásos menüpontok (file, edit, stb.) - Gyorsbillentyűk - Programfutáshoz szükséges funkciógombok - Komponenspaletta (standard, additional, win32, datacontrols, stb.)
20
Object inspector „Objektumvizsgáló”
Delphi programozás 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
21
Object Structura/ Tree View
Delphi programozás Object Structura/ Tree View „Objektumok fanézete” Objektumok közötti hierarchia alapján navigálhatunk Az objektumokat kapcsolati rendszerben mutatja
22
Ablak és kódszerkesztő
Delphi programozás 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
23
Munkakörnyezet konfigurálása
Delphi programozás Munkakörnyezet konfigurálása Tools > Options> Editor Options
24
Project beállítások Project > Options - aktív form beállítás
Delphi programozás Project beállítások Project > Options - aktív form beállítás - alkalmazás tulajdonságai - verzió információ
25
Delphi alkalmazások *.res ikonállomány (bináris)
Delphi programozás Delphi alkalmazások *.res ikonállomány (bináris) *.pas forráskód állomány (pascal) *.dfm form és adatmodul állományok *.dpr projectállomány (pascal) *.dof project, options beállítások - aktuális beállítások *.cfg alkalmazás fordítását érintő konfigurációs állomány ~ backup fájlok –biztonsági másolat
26
Komponensek - Standard
Delphi programozás Komponensek - Standard Main Menu menüszerkesztés- duplaklikkel menüszerkesztő Popup Menu legördülő menü Label címke, felirat Edit szövegdoboz Memo szövegmegjelenítésre Button gomb CheckBox jelölőnégyzet RadioButton választógomb (csoportosítás) ListBox lista ComboBox listáról elem kiválasztása ScrollBar gördítősáv GroupBox összetartozó komponensek csoportosítására RadioGroup választógomb csoportosítására Panel panelterület ActionList műveletlista
27
Komponensek - Additional
Delphi programozás Komponensek - Additional BitBtn gomb(ikon rendelhető) SpeedButton gombterület(eszköztár) MaskEdit formátumos bekérőmező StringGrid szövegtáblázat DrawGrid táblázat Images képek Shape rajz Bevel terület ScrollBox gördíthető terület CheckListBox jelölőnégyzetes listaablak Splitter felosztás StaticText keretezett szövegsor ControlBar jelölősor Chart grafika
28
Komponensek – Win32 TabControl fül komponens (lapozáshoz)
Delphi programozás Komponensek – Win32 TabControl fül komponens (lapozáshoz) PageControl füles lapok ImageList képsorozat RichEdit szövegszerkesztő TrackBar csúszka ProgressBar folyamatjelző UpDown léptető (nyílgombokra kattintva – tovább előre) HotKey vezérlőgomb Animate animáció – néma videoklipp DateTimePicker dátum idő komponens MonthCalendar naptár TreeView fa (adatokat rajzos fa szerkezetben jeleníti meg) ListView adatokat oszlopba rendezve jeleníti meg HeaderControl mozgatható fejléc StatusBar állapotsor (a munkaterület aljára) ToolBar eszközsor CoolBar görgethető eszközsor PageScroller lapozható eszközpaletta
29
Komponensek - System Timer stopper időtartam mérésére
Delphi programozás Komponensek - System Timer stopper időtartam mérésére PaintBox rajzterület MediaPlayer multimé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ó DdeServerItem kiszolgálóadat
30
Komponensek – DataAccess
Delphi programozás Komponensek – DataAccess DataSource adatforrás (összefűző komponens) ClientDataSet egyéni többfelhasználós adatbázis DataSetProvider adatbáziskérő (szervertről) XMLTransform XMLTransformProvider XMLTransformClient
31
Komponensek – DataControls
Delphi programozás Komponensek – DataControls DBGrid adatbázis tábla DBNavigator navigátorgombok DBText szövegsor adat DBEdit adatbekérő DBMemo szövegsorok adat DBImages kép adat DBListBox lista adat DBComboBox bekérő lista adat DBCheckBox jelölőnégyzet adat DBRadioGroup választógomb adat DBLookUpListBox táblaoszlop DBLookUpComboBox táblaoszlop szerkesztés DBRichEdit formázott szöveg DBCtrGrid táblakészítő DBChart grafika adat
32
Komponensek – BDE Table bázistábla Query lekérdezés (SQL)
Delphi programozás Komponensek – BDE Table bázistábla Query lekérdezés (SQL) StoreProc műveletek DataBase adatbázis Session adatbázis csoport BatchMove táblamásoló UpdateSQL frissítő NestedTable visszaíró
33
Események - Events duplaklikk : ObjectInspector>Events>…
Delphi programozás Események - Events duplaklikk : ObjectInspector>Events>… OnActivate aktiválás hatására OnClick ráklikkelés hatására OnCreate létrehozás hatására OnDbClick duplaklikk hatására OnDestroy megszűntetés hatására OnMouseDown egéglenyomás hatására OnMouseMove egér áthaladás hatására OnKeyPress billentyűzet lenyomására OnKeyUp billentyűzet felengedésére
34
Metódusok Application.Terminate; - az alkalmazás leállítása
Delphi programozás Metódusok Application.Terminate; - az alkalmazás leállítása Close; - az aktuális ablak bezárása Hide; - az ablak elrejtése Show; - ablak előhozása ShowModal; - ablak előhozása Create; - objektum létrehozása
35
Még két apróság View>Toolbars >Customize
Delphi programozás 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)
36
Feladatok Ismerkedés a kezelőfelülettel, komponensekkel.
Delphi programozás 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). 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.
37
Feladatok Az elkészítet alkalmazás objektumainak eseményeit vizsgálja.
Delphi programozás 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 – használja a súgót!
Hasonló előadás
© 2024 SlidePlayer.hu Inc.
All rights reserved.