Delphi - PowerPoint PPT Presentation

About This Presentation
Title:

Delphi

Description:

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). – PowerPoint PPT presentation

Number of Views:83
Avg rating:3.0/5.0
Slides: 42
Provided by: nyf
Category:

less

Transcript and Presenter's Notes

Title: Delphi


1
Delphi
  • A VB felhasználó barátságát kombinálja a C tág
    lehetosé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, billentyuzet muveletek).
  • A Delphi rendszer nyelve az Object Pascal.

3
Object Pascal
  • Fobb különbségek a Turbo Pascalhoz képest
  • Megjegyzés , (), új // a sor hátralevo
    része
  • Globális változóknak kezdeti értéket adhatunk,
    pl var sum integer 0
  • Bovített típusválaszték. Integer 32 bites, több
    boolean, char, string típus (alapértelmezés
    szerint 2GB méretu).

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éretu
    paramétereknél helytakarékosság. Deklarálás pl.
    const p string
  • Rengeteg új függvény stringkezelo (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érheto ú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 os

6
Object Pascal - komponensek
  • olyan objektumok, melyek jellemzoi mind
    tervezési, mind futási idoben elérhetok.
  • 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ítosáv, menü, stb.),
  • valamint készíthetünk is azokat, ill.
    letölthetünk az Internetrol.

7
A komponensek rendelkeznek
  • tulajdonságokkal, (properties) speciális
    adatmezok, 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ésobb, 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érlo, azaz a hozzájuk rendelt események
    (pl. egérkattintás) irányítják a programot.
  • Eseménykezelok 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
  • elso mentéskor eloszö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énykezelo eljárások (és az ezeket
    kiszolgáló eljárások) megírása.

13
Delphi IDE
  • Menü, eszköztár
  • Komponens paletta
  • Form tervezo ablak
  • Editor (kód) ablak
  • Objektum felügyelo (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ülo 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érheto részek deklarációi
    (elj., fv.-ek fejlécei)
  • Uses
  • Const
  • Type
  • Var
  • Implementation
  • Unit szintu deklarációk, elj., fv.-ek
    részletezései
  • Initialization
  • Induláskor egyszer lefut
  • Finalization
  • Befejezéskor egyszer lefut
  • End.

16
A vezérlok (form) fontosabb tulajdonságai
  • Name A vezérlok nevét tárolja, amely megegye-zik
    a programban a vezérlot 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érlok (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 idoben (Objektum felügyelo)
  • futási idoben (programban pl. width400)

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érlo?
  • Milyen metódusok (methods) segítik a vezérlo
    használatát?
  • Mely eseményekkel (events) avatkozhatunk be a
    vezérloelem muködésébe?

20
Menü
  • Fomenü (ablakmenü), felbukkanó menü. TMainMenu,
    TPopupMenu vezérlohalmaz, melynek elemei
    TMenuItem típusúak (OnClick)
  • Menütervezo (dupla katt. a menü komponensre)Fobb
    tulajdonságok Caption (, -) ShortCut Enabled
    Checked GroupIndex (ha azonos, a menü tételek
    rádiógomb szeruen muködnek)Almenü jobb egér
    gomb, majd értelemszeruen.

21
Vezérlogombok
  • Nyomógomb (Button), Caption, OnClick
  • Jelölo 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énykezelovel rendelkezik (OnClick)
  • - RadioGroup-ban
  • Items nyomógombok feliratai
  • ItemIndex melyik van bekapcsolva (0, 1, 2, )
  • OnClick egy eseménykezelo

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

24
Szövegmegjelenítok
  • 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érhetové a szöveget (tervezési
    idoben is). A Lines tulajdonság LoadFromFile,
    ill. SaveToFile metódusait használhatjuk be- és
    kivitelre.
  • (A Text tulajdonság futás közben elérheto)
  • Clear, Modified, CutToClipboard, CopyToClipboard,
    PasteFromClipboard metódusok segítik az egyszeru
    edit funkciók megvalósítását.

26
Listás vezérlok
  • 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érlok
  • Csoportosító vezérlok
  • GroupBox
  • Panel három dimenziós megjelenésu csoportosító
    keret.
  • Idozíto - Timer System panel, nem vizuális
    vezérlo. Az Interval tulajdonságban megadott
    idoközönként megtörténik az OnTimer esemény.
    Enabled

28
Egyéb vezérlok
  • 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 egyszeru ü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 egyszeru dialógusablak.
  • function MessageDlg(const Msg string
  • ATypeTMsgDlgType 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 megerosí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 szintu függvény, a MessageBox. Ez
    a Windows API része. Bovebben ld. help.

33
Egyszeru 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.LoadFromF
    ile(OpenDialog1.FileName)
  • end

37
Új formként megjeleno párbeszédablakok
  • Használhatjuk az eloké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 megjeleno 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 elore elkészített
    párbeszédablak mintáknál ezt már beállították).

39
Grafika
  • A Delphi grafikai lehetosé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.ColorclRed MoveTo(100,100)
LineTo(200,100) endend
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
    pixels100,100clBlack

41
Canvas - metódusok
  • MoveTo
  • LineTo
  • TextOut, TextHeight, TexWidth
  • Arc, Chord, Ellipse, Pie
  • Rectangle, RoundRect
  • FloodFill
  • Procedure FloodFill(x,yinteger, ColorTColor,
    FillStyleTFillStyle)
  • TFillStyle fsSurface, fsBorder
Write a Comment
User Comments (0)
About PowerShow.com