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

Hasonló előadás


Az előadások a következő témára: "Delphi programozás alapjai"— Előadás másolata:

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

2 Borland Delphi fejlesztői környezet
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 1968-70 Pascal nyelv és fordító 1983 Turbo Pascal 1.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

4 Borland Delphi 7.0 - 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 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.

8 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

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 Type TKutyaSzin = (ksBArna, ksFekete, ksFehér);
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ód End;

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.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;

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; 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!)

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

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 *.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

24 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

25 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 További komponensek: ApplicationEvent ValueListEditor LabelEdit ColorBox ActionManager ActiopnMainMenuBar ActionToolBar CustomizeDlg

26 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

27 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

28 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

29 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

30 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ó

31 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

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). 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"

Hasonló előadás


Google Hirdetések