1 / 41

Delphi

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.

tamika
Download Presentation

Delphi

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  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ülnekA 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. 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 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 begin //jóváhagyás nélküli kilépés end

  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);beginwith Image1.Canvas dobeginPen.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

More Related