Delphi A VB felhasználó barátságát kombinálja a C++ tág lehetőségeivel és sebességével. RAD - Rapid Application Development; „Vizuális nyelv”; 4GL nyelv:

Slides:



Advertisements
Hasonló előadás
Grafikus tervezőrendszerek programozása 10. előadás.
Advertisements

1. WINDOWS BEVEZETÉS.
Programozás és programozás módszertan
Programozás III STRING-XML.
1 Hernyák Zoltán Programozási Nyelvek II. Eszterházy Károly Főiskola Számítástudományi tsz.
JavaScript.
© Kozsik Tamás Tömbök, kollekciók és egyéb alaposztályok.
© 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.
Delphi A VB felhasználó barátságát kombinálja a C++ tág lehetőségeivel és sebességével. A VB felhasználó barátságát kombinálja a C++ tág lehetőségeivel.
Csala Péter ANDN #4. 2 Tartalom  C# - ban előre definiált típusok  Változók  Változókkal műveletek  Elágazás  Ciklus.
Bevezetés a Java programozásba
Programozás II. 3. Gyakorlat C++ alapok.
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Programozás II. 6. Gyakorlat const, static, dinamikus 2D.
A CLIPS keretrendszer CLIPS "C" Language Integration Production System.
Grafika a programban Készítette: Pető László. Bevezetés Valójában nem a célobjektumra rajzolunk, hanem annak festővászon területére (canvas). Csak olyan.
Alapok 2013/2014, őszi szemeszter gyakorlati foglalkozás Automatizálási tanszék.
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
Web-grafika (VRML) 10. gyakorlat Kereszty Gábor. Script típusok Elemi típusok: szám: egész vagy lebegőpontos – int / float – 1 / 1.1 string: ‘Hello World!’
Készítette: Keszthelyi Zsolt
C++ Alapok, első óra Elemi típusok Vezérlési szerkezetek
Kliensoldali Programozás
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.
Vizuális Programozás 2. Előadás Készítette: Sipeky Attila egy. adj. PTE PMMK MIT.
Webszerkesztés Űrlapok a HTML-ben. Űrlap létrehozása Űrlapunk tartalma a … elemek között fog helyetfoglalni Egy lapon több űrlap is elhelyezhető Több.
VFP Form programozás Form szerkesztő elemei vezérlő elemek
Microsoft Access Űrlapok tervezése.
CSS.
Alprogramok deklarációja, definíciója és meghívása Páll Boglárka.
Vizuális alkalmazások a FoxProban Páll Éva Boglárka.
1.4. Fordítás, szerkesztés, az objektumkönyvtár használata.
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ú,
Delphi Készítette: Rummel Szabolcs Elérhetőség:
Turbo Pascal Indítás: C:\LANGS\Turbo Pascal Turbo Pascal.
Visual Basic 2008 Express Edition
Visual Basic 2008 Express Edition
A gyakorlatok munkakörnyezete
Elnevezések, ciklusok, feltételvizsgálat
1. Feladat Hozzunk létre egy olyan programot amely számokat ír ki és a felhasználónak időre be kell gépelni ezeket.
HTML 2. Űrlapok
Embarcadero Rad Studio XE5 3D fények, alakzatok bemutatása
A Visual Basic nyelvi elemei
RAD Studio XE5: menük felépítése
Webprogramozó tanfolyam Űrlapok (form-ok). Űrlapok a HTML-ben Biztosan mindenki találkozott már vele – Űrlap példapélda Felhasználási lehetőségei – Regisztráció,
Első lépések a szövegszerkesztő használatában
Ez az én művem Készítette: Barczi Renáta Felkészítő tanár: PeadDr
Fontos tudnivalók A MATLAB egy fajta objektummal dolgozik (Mátrix)
Számítógépes grafika I. AUTOCAD alapok
A Visual Basic és a programozás oktatása
Bevezetés az Office programozásába
Grafikus programozás Készítette: Csernok László
1. TÖBBABLAKOS APPLIKÁCIÓK
Az 5,6,7 laborok VBA anyagának összefoglalása
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Windows Forms alkalmazás készítése Czigléczky Gábor 2009.
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.
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
A C++ programozás Windows környezetben szöveges vezérlők a programban
Informatikai gyakorlatok 11. évfolyam
Neumann János Informatikai Kar
ListBox CheckedListBox TextBox
Neumann János Informatikai Kar
A CLIPS keretrendszer
Standard párbeszédablakok
FORMOK, ABLAKOK.
Előadás másolata:

Delphi A VB felhasználó barátságát kombinálja a C++ tág lehetőségeivel és sebességével. RAD - Rapid Application Development; „Vizuális nyelv”; 4GL nyelv: rengeteg kódírástól kímél meg (pl. felhasználói felület készítése)

Delphi Eseményvezérelt programozás (Event Drive Programming): a programkód részleteit események aktivizálják (pl. egér, billentyűzet műveletek). A Delphi rendszer nyelve az Object Pascal.

Object Pascal Főbb különbségek a Turbo Pascalhoz képest: Megjegyzés: {…}, (*…*), új: // a sor hátralevő része Globális változóknak kezdeti értéket adhatunk, pl: var sum: integer = 0; Bővített típusválaszték. Integer: 32 bites, több boolean, char, string típus (alapértelmezés szerint 2GB méretű).

Object Pascal Függvény: visszatérési érték megadása: név := érték, vagy result := érték; Függvény, eljárás: lehetséges konstans paraméter. A fordító nem készít lokális másolatot, mint az érték szerintinél, viszont nem lehet megváltoztatni az értékét. Nagy méretű paramétereknél helytakarékosság. Deklarálás pl.: const p: string Rengeteg új függvény: stringkezelő (pl. StrToInt, IntToStr …), matematikai (Power, ArcSin …), tömb (MinValue, MaxValue, Sum, Mean…), üzleti, pénzügyi számítások.

Object Pascal Objektumok Class típus: adatok, metódusok, tulajdonságok. Tulajdonság: elérhető úgy is közvetlenül, hogy nem sérül az adatrejtés elve, pl: Label1.Caption := ’Hello!’; TObject osztály a közös ős

Object Pascal - komponensek olyan objektumok, melyek jellemzői mind tervezési, mind futási időben elérhetők. A vizuális programfejlesztés alapját képezik. Rengeteg komponens áll rendelkezésünkre (VCL: Visual Componenet Library: pl. nyomógombok, címke, gördítősáv, menü, stb.), valamint készíthetünk is azokat, ill. letölthetünk az Internetről.

A komponensek rendelkeznek tulajdonságokkal, (properties) speciális adatmezők, melyek meghatározzák, hogy milyen legyen egy komponens (pl. méret, elhelyezkedés, szín, stb.) futás közben hívható metódusokkal, mit csináljon egy komponens (pl. egy ablak esetén: create, close, show, hide). eseményekkel (spec. tulajdonság, metódus mutató) amelyekre reagál az adott komponens.

Object Pascal Osztály operátorok: is (logikai eredmény), as (típus konverzió), (ld. később, Sender paraméter). Tároló osztályok pl.: TList, TStrings (add, insert, clear, …); TStack, TQueue (push, pop, …).

Delphi, mint a Windows programozás eszköze Form: a formok lesznek a felhasználó által látható ablakok (TForm osztály, TForm1 származtatott osztály). Az ablakba komponensek kerülnek A komponensek egy része vezérlő, azaz a hozzájuk rendelt események (pl. egérkattintás) irányítják a programot. Eseménykezelők: eljárások, melyeket az eseményekhez rendeltünk, és így meghatározzák az eseményre való reagálást.

Project A program elnevezése Delphiben. Egy vagy több unitból áll. Minden formhoz tartozik egy unit. A project mentése: - minden projectet külön könyvtárba mentsünk! a Save All, vagy a Save Project as… pontokat válasszuk első mentéskor először a unit(ok)nak kell nevet adnunk, majd a projectnek megnyitáskor ne a unit, hanem a project fájlt nyissuk meg

Project fájlok .dpr – (Delphi Project) egy fál egy projectnél. A Delphi automatikusan kezeli. (TApplication osztály: alkalmazás – Windows kapcsolat, létrehozás, futtatás, leállítás.) .dfm – (Delphi Form): automatikus .pas – unitok, ide írjuk a kódunkat, rengeteg automatizmus segíti a munkánkat.

Egy Delphi program tervezésének lépései Ablak(ok) testre szabása Annak eldöntése, hogy mely eseményekre reagáljanak az adott ablakban található komponensek. Az eseménykezelő eljárások (és az ezeket kiszolgáló eljárások) megírása.

Delphi IDE Menü, eszköztár Komponens paletta Form tervező ablak Editor (kód) ablak Objektum felügyelő (Object Inspector): tulajdonságok, események.

A tulajdonságok lehetnek szám-, illetve szöveg típusú (pl. Caption, Height) felsorolt típus, logikai (legördülő lista, pl. Align, Enabled) halmaz ( + gomb, pl. BorderIcons) osztály ( + vagy három pont gomb, mely utóbbira egy párbeszédablak nyílik ki, pl. Font)

Unit szintaxisa Unit név; Interface Más unitokból is elérhető részek deklarációi (elj., fv.-ek fejlécei) Uses Const Type Var … Implementation Unit szintű deklarációk, elj., fv.-ek részletezései Initialization Induláskor egyszer lefut Finalization Befejezéskor egyszer lefut End.

A vezérlők (form) fontosabb tulajdonságai Name: A vezérlők nevét tárolja, amely megegye-zik a programban a vezérlőt tároló változó nevével. A Delphi automatikusan értéket ad a Name tulaj-donságnak, valamint elvégzi a deklarációt. Vigyázzunk, hogy ne töröljük ki (ne keverjük össze a Caption tulajdonsággal)! Top, Left, Width, Height, Align Visible, Enabled Color, Font

A vezérlők (form) fontosabb tulajdonságai TabStop, TabOrder Hint, ShowHint Caption, (ne keverjük össze a Name-mel!) FormStyle (fsNormal, fsMDIChild, fsMDIForm, fsStayOnTop) Beállításuk: tervezési időben (Objektum felügyelő) futási időben (programban pl.: width:=400;)

Néhány esemény OnClick, OnDblClick, OnMouseMove, OnMouseDown, OnMouseUp, OnKeyDown, OnKeyUp, OnKeyPress, OnEnter, OnExit, OnChange. Alapértelmezett esemény (komponensre dupla kattintás)

Fontosabb komponensek A komponensek hatékony felhasználásához az alábbi kérdésekre kell ismernünk a választ: Milyen tulajdonságokkal (properties) rendelkezik a vezérlő? Milyen metódusok (methods) segítik a vezérlő használatát? Mely eseményekkel (events) avatkozhatunk be a vezérlőelem működésébe?

Menü Főmenü (ablakmenü), felbukkanó menü. TMainMenu, TPopupMenu vezérlőhalmaz, melynek elemei TMenuItem típusúak (OnClick) Menütervező (dupla katt. a menü komponensre) Főbb tulajdonságok: Caption (&, -); ShortCut; Enabled; Checked; GroupIndex (ha azonos, a menü tételek rádiógomb szerűen működnek) Almenü: jobb egér gomb, majd értelemszerűen.

Vezérlőgombok Nyomógomb (Button), Caption, OnClick Jelölő négyzet (CheckBox) Ha rákattintunk a Checked tulajdonsága változik. Általában két állapotú gomb (, de ha az AllowGrayed tulajdon-sága igaz, akkor 3 állapotú). Állapotát a State tulajdonság tárolja automatikusan. Alapeseménye: OnClick. Választógomb (RadioButton), Checked (true/false).

Választógomb Általában csoportokba szervezve használjuk, egy csoportban csak egy lehet bekapcsolt állapotú. Csoportokba szervezés: - GroupBox-ban: minden gomb külön eseménykezelővel rendelkezik (OnClick) - RadioGroup-ban: Items: nyomógombok feliratai ItemIndex: melyik van bekapcsolva (0, 1, 2, …) OnClick: egy eseménykezelő

ScrollBar Position, Min, Max, SmallChange, LargeChange, OnChange

Szövegmegjelenítők Label (címke): Caption Edit: egysoros szöveg szerkesztése. Text, ReadOnly, OnChange, Clear Memo: többsoros szöveg szerkesztése

Memo A Lines tulajdonság, mely TStrings típusú, soronként teszi elérhetővé a szöveget (tervezési időben is). A Lines tulajdonság LoadFromFile, ill. SaveToFile metódusait használhatjuk be- és kivitelre. (A Text tulajdonság futás közben elérhető) Clear, Modified, CutToClipboard, CopyToClipboard, PasteFromClipboard metódusok segítik az egyszerű edit funkciók megvalósítását.

Listás vezérlők ListBox: Items (ez a tulajdonság TString típusú, tehát használhatók az Add, Delete, Clear, Insert metódusok), Items.Count, MultiSelect, ItemIndex, Selected, OnClick, Clear. ComboBox: Edit + ListBox kombinációja. Style tulajd. pl: csDropDown, csDropDownList

Egyéb vezérlők Csoportosító vezérlők GroupBox Panel: három dimenziós megjelenésű csoportosító keret. Időzítő - Timer: System panel, nem vizuális vezérlő. Az Interval tulajdonságban megadott időközönként megtörténik az OnTimer esemény. Enabled

Egyéb vezérlők BitBtn: kép (Glyph tulajdonság) is van a nyomógombon SpeedButton: eszköztár-gomb (Glyph) TrackBar: megjelenésében különbözik a ScrollBar-tól ProgressBar MaskEdit RichEdit: jobban támogatja a szövegek formázá-sát, mint a memo

Párbeszédablakok (Dialogs unit)

Üzenetablakok ShowMessage eljárás: egyszerű üzenet megjelenítése. Megjelenik a paraméterként megadott üzenet egy kis ablak-an, egy OK gombbal. A szintaktikája: (ld. Delphi help): Declaration procedure ShowMessage(const Msg: string); A használatára egy példa (ld. Delphi help): procedure TForm1.Button1Click(Sender: TObject); begin ShowMessage('Push this button'); end;

A függvény paraméterei: MessageDlg függvény: egyszerű dialógusablak. function MessageDlg(const Msg: string; AType:TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: Longint): Word; A függvény paraméterei: Msg: a megjelenített üzenet, AType: az üzenet doboz külalakját határozza meg. Lehet: mtWarning figyelmeztetés mtError hiba mtInformation információ mtConfirmation megerősítés mtCustom felhasználó által definiált. AButtons: egy halmaz, mely meghatározza, hogy milyen nyomógombok legyenek a boxban. Elemei lehetnek: mbYes, mbNo, mbOk, mbCancel,… (ld. help). HelpCtx: akkor szükséges, ha programunk tartalmaz help-et. Egyébként: 0.

A használatára egy példa (ld. Delphi help): A függvény visszatérési értéke a leütött gombtól függ. Lehet: mrYes, mrNo, mrOk, mrCancel,… (ezek nevesített konstansok). A használatára egy példa (ld. Delphi help): procedure TForm1.Button1Click(Sender: TObject); begin if MessageDlg('Welcome. Exit now?', mtInformation, [mbYes, mbNo], 0) = mrYes then Close; end; Megj. Van egy a ShowMessage eljáráshoz hasonló, de alacsonyabb szintű függvény, a MessageBox. Ez a Windows API része. Bővebben ld. help.

Egyszerű adatbeviteli párbeszédablakok InputBox function InputBox(const ACaption, APrompt, ADefault: string): string InputQuery: Ha szükség van arra az informá-cióra is, hogy a felhasználó az OK v. a Cancel gom-bot nyomta-e meg. function InputQuery(const ACaption, APrompt: string, var Value: string): Boolean

Általános párbeszédablakok A Dialogs paletta lapon találhatók (OpenDialog, SaveDialog, FontDialog, ColorDialog, PrintDialog, PrinterSetupDialog, FindDialog, ReplaceDialog, OpenPictureDialog, SavePictureDialog). A tulajdonságok beállításával paramé-terezhetjük az ablakok megjelenítését.

Általános párbeszédablakok Az execute metódussal jelenítjük meg pl.: if Párbeszédablak.Execute then begin //jóváhagyással történt a kilépés end else //jóváhagyás nélküli kilépés

Példa - OpenDialog procedure TForm1.SpeedButton1Click(Sender: TObject); begin if OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName); end;

Új formként megjelenő párbeszédablakok Használhatjuk az előkészített párbeszéd-ablak mintákat (File/New Dialogs fül), vagy egy üres formot adhatunk hozzá a projecthez (New Form). A párbeszédablak általában modális, azaz be kell zárni az aktivizáló ablakhoz való visszatéréshez.

Új formként megjelenő párbeszédablakok A formot a ShowModal metódusával jelenítjük meg, visszatérési értéke a form bezárásakor a form ModalResult tulajdonsága lesz, amit általában a bezáró nyomógombtól kap (pl. mrOK, mrCancel), tehát tervezéskor a gombok ModalResult tulajdon-ságát állítjuk be (az előre elkészített párbeszédablak mintáknál ezt már beállították).

Grafika A Delphi grafikai lehetőségeit a Canvas objek-tum testesíti meg, pl. az Image objektum rendelkezik ilyen tulaj-donsággal: pl. Image1.Canvas . procedure TForm1.Button1Click(Sender: TObject); begin with Image1.Canvas do begin Pen.Color:=clRed; MoveTo(100,100); LineTo(200,100); end; end;

Canvas - tulajdonságok Brush: Color (clBlack, clGreen, …) Style (bsSolid, bsClear, bsCross, …) Pen: Color Width (integer) Style (psSolid, psDash, …) Mode (pmCopy, pmXor, …) Pixels (TColor típusú tömb), pl: pixels[100,100]:=clBlack;

Canvas - metódusok MoveTo LineTo TextOut, TextHeight, TexWidth Arc, Chord, Ellipse, Pie Rectangle, RoundRect FloodFill Procedure FloodFill(x,y:integer, Color:TColor, FillStyle:TFillStyle); TFillStyle: fsSurface, fsBorder