Delphi programozás SRTNB előadás – a fejlesztőkörnyezet

Slides:



Advertisements
Hasonló előadás
MICROSOFT OFFICE ACCESS 2003.
Advertisements

Operációs Rendszerek I.
Microsoft Office Programcsalád
C++ programozási nyelv Gyakorlat hét
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
Adatbányászati technikák (VISZM185)
© Kozsik Tamás Beágyazott osztályok A blokkstrukturáltság támogatása –Eddig: egymásba ágyazható blokk utasítások Osztálydefiníciók is egymásba.
Programozás alapjai.
Bevezetés a Java programozásba
Osztályok Garbage collection.  általában minden osztálynak vannak adattagjai és/vagy metódusai ◦ adattagok megadása:  [láthatóság] [static] [final]
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
Tömbök ismétlés Osztályok Java-ban Garbage collection
Windows XP ismeretek és mappaműveletek
Alapok 2013/2014, őszi szemeszter gyakorlati foglalkozás Automatizálási tanszék.
A Java programozási nyelvSoós Sándor 1/17 Java programozási nyelv 4. rész – Osztályok II. Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai.
Java programozási nyelv 3. rész – Osztályok I.
Adatbázis-kezelés ACCESS program:
A C++ programozási nyelvSoós Sándor 1/12 C++ programozási nyelv Gyakorlat - 8. hét Nyugat-Magyarországi Egyetem Faipari Mérnöki Kar Informatikai Intézet.
Delphi programozás alapjai
WEB Technológiák Dr. Pance Miklós – Kolcza Gábor Miskolci Egyetem.
VFP programozása report készítése menü készítése dinamikus elemek
Önálló laboratórium december 19.1 Fejlesztő rendszer kialakítása SYMBIAN operációs rendszerű GSM terminálokhoz Hegedűs Iván Mihály Pázmány Péter.
Készítette: Keszthelyi Zsolt
Delphi programozás Delphi programozás SRTNB előadás - Borland Delphi – fontosabb komponensek tárgyalása Nagyváradi Anett.
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
Adatbázis kezelés Delphiben
Delphi programozás 8. ELŐADÁS ADO ActiveX Data Objects.
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
Delphi programozás alapjai Nagyváradi Anett PTE PMMK MIT.
VFP Form programozás Form szerkesztő elemei vezérlő elemek
1 Operációs rendszerek Az NT folyamatok kezelése.
Programozás alapismeretek
Microsoft Office Programcsalád
Egyéb erőforrás-kezelési képességek Készítette: Szentirmai Róbert (minden jog fenntartva)
Szoftvertechnológia alapjai Java előadások Förhécz András, doktorandusz tárgy honlap:
Vizuális alkalmazások a FoxProban Páll Éva Boglárka.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
PHP oktatási tapasztalatok
Hernyák Zoltán Programozási Nyelvek II.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
1 Hernyák Zoltán Web: Magasszintű Programozási Nyelvek I. Eszterházy.
Javascript Microsoft által készített kiegészítése Statikus típusosság Nagy projektek Windows 8 fejlesztésénél WinRT egy részét ebben írták Nyílt forráskódú,
Objektumorientált programozás
Delphi Készítette: Rummel Szabolcs Elérhetőség:
APEX BMF, II. félév.
Objektumorientált tervezés Út az objektumig Az objektum fogalma, jellemzői Objektummal kapcsolatos fogalmak Hardverfogalmak A rendszer modell nézetei Objektumorientált.
Visual Basic 2008 Express Edition
Visual Basic 2008 Express Edition
Generics Krizsán Zoltán. Bemutató A.NET 2.0 verziótól. A.NET 2.0 verziótól. Típusparaméter Típusparaméter Más nyelvben ez a template (sablon). Más nyelvben.
Áttérés egy vizuális/grafikus program- fejlesztői környezetre (minimális tudnivalók) Szlávi Péter ELTE Informatika Szakmódszertani Csoport
A Visual Basic nyelvi elemei
Szoftverek.
RAD Studio XE5: menük felépítése
Ez az én művem Készítette: Barczi Renáta Felkészítő tanár: PeadDr
Objektumorientált alapjai ISZAM III.évf. részére Bunkóczi László.
Számítógépes grafika I. AUTOCAD alapok
Ficsor Lajos CPP2 / 1 Származtatási mechanizmus a C++ nyelvben Ficsor Lajos Miskolci Egyetem Általános Informatikai Tanszék.
A Visual Basic és a programozás oktatása
Java web programozás 5..
DLL használata és készítése Feladat
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
Informatikai gyakorlatok 11. évfolyam
TÁMOP /1-2F JAVA programozási nyelv NetBeans fejlesztőkörnyezetben I/13. évfolyam Osztályok, objektumok definiálása és alkalmazása. Saját.
Alapok Gyakorlat 2015/16 őszi szemeszter Automatizálási tanszék.
Erőforrások strukturálása Készítette: Szentirmai Róbert (minden jog fenntartva)
LA C++ programozás Windows környezetben Alkalmazott Informatikai Tanszék MŰSZAKI INFORMATIKA dr.Dudás László 24./0. lA menü elkészítése lA programkód megírása.
Alkalmazásfejlesztés gyakorlat
Hernyák Zoltán Programozási Nyelvek II.
Hernyák Zoltán Magasszintű Programozási Nyelvek I.
Előadás másolata:

Delphi programozás SRTNB020 2. előadás – a fejlesztőkörnyezet Nagyváradi Anett

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

Történelem 1968-70 Pascal nyelv és fordító 1983 Turbo Pascal 1.0 … Delphi programozás Történelem 1968-70 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

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) http://cc.codegear.com/free/turbodelphi

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

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

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

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.

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

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;

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;

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;

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;

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;

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

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

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

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

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

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

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

Munkakörnyezet konfigurálása Delphi programozás Munkakörnyezet konfigurálása Tools > Options> Editor Options

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ó

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

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

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

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

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

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

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

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ó

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

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

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)

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.

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!