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 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:

Hasonló előadás


Az előadások a következő témára: "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:"— Előadás másolata:

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

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

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

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

5 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

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

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

8 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, …).

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

10 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

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

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

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

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

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

16 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

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

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

19 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?

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

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

22 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ő

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

24 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

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

26 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

27 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

28 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

29 Párbeszédablakok (Dialogs unit)

30 Ü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;

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

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

33 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

34 Á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.

35 Á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

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

37 Ú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.

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

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

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

41 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


Letölteni ppt "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:"

Hasonló előadás


Google Hirdetések