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.

Slides:



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

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:
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.
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. 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) 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). 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. 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 Megjegyzés: {…}, (*…*), új: // a sor hátralevő része Globális változóknak kezdeti értéket adhatunk, pl: var sum: integer = 0; 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ű). 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: 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 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. 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 Objektumok Class típus: adatok, metódusok, tulajdonságok. 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!’; 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 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. 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. 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.), 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. 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.) 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). 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. 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). 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, …). 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). 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. 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. 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 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 project mentése: - minden projectet külön könyvtárba mentsünk! a Save All, vagy a Save Project as… pontokat válasszuk 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 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 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.).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.dfm – (Delphi Form): automatikus.pas – unitok, ide írjuk a kódunkat, rengeteg automatizmus segíti a munkánkat..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 Ablak(ok) testre szabása Annak eldöntése, hogy mely eseményekre reagáljanak az adott ablakban található komponensek. 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. Az eseménykezelő eljárások (és az ezeket kiszolgáló eljárások) megírása.

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

A tulajdonságok lehetnek szám-, illetve szöveg típusú (pl. Caption, Height) szám-, illetve szöveg típusú (pl. Caption, Height) felsorolt típus, logikai (legördülő lista, pl. Align, Enabled) felsorolt típus, logikai (legördülő lista, pl. Align, Enabled) halmaz ( + gomb, pl. BorderIcons) halmaz ( + gomb, pl. BorderIcons) osztály ( + vagy három pont gomb, mely utóbbira egy párbeszédablak nyílik ki, pl. Font) 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) UsesConstTypeVar…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)! 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 Top, Left, Width, Height, Align Visible, Enabled Visible, Enabled Color, Font Color, Font

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

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

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

Menü Főmenü (ablakmenü), felbukkanó menü. TMainMenu, TPopupMenu vezérlőhalmaz, melynek elemei TMenuItem típusúak (OnClick) 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. 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 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. 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 (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) - GroupBox-ban: minden gomb külön eseménykezelővel rendelkezik (OnClick) - RadioGroup-ban: - RadioGroup-ban: Items: nyomógombok feliratai Items: nyomógombok feliratai ItemIndex: melyik van bekapcsolva (0, 1, 2, …) ItemIndex: melyik van bekapcsolva (0, 1, 2, …) OnClick: egy eseménykezelő OnClick: egy eseménykezelő

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

Szövegmegjelenítők Label (címke): Caption Label (címke): Caption Edit: egysoros szöveg szerkesztése. Text, ReadOnly, OnChange, Clear Edit: egysoros szöveg szerkesztése. Text, ReadOnly, OnChange, Clear Memo: többsoros szöveg szerkesztése 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 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ő) (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. 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), 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. Items.Count, MultiSelect, ItemIndex, Selected, OnClick, Clear. ComboBox: Edit + ListBox kombinációja. Style tulajd. pl: csDropDown, csDropDownList ComboBox: Edit + ListBox kombinációja. Style tulajd. pl: csDropDown, csDropDownList

Egyéb vezérlők Csoportosító vezérlők Csoportosító vezérlők GroupBox GroupBox Panel: három dimenziós megjelenésű csoportosító keret. 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 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 BitBtn: kép (Glyph tulajdonság) is van a nyomógombon SpeedButton: eszköztár-gomb (Glyph) SpeedButton: eszköztár-gomb (Glyph) TrackBar: megjelenésében különbözik a ScrollBar-tól TrackBar: megjelenésében különbözik a ScrollBar-tól ProgressBar ProgressBar MaskEdit MaskEdit RichEdit: jobban támogatja a szövegek formázá- sát, mint a memo 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. 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'); ShowMessage('Push this button');end;

MessageDlg függvény: egyszerű dialógusablak. MessageDlg függvény: egyszerű dialógusablak. function MessageDlg(const Msg: string; AType:TMsgDlgType; AButtons: TMsgDlgButtons; AType:TMsgDlgType; AButtons: TMsgDlgButtons; HelpCtx: Longint): Word; HelpCtx: Longint): Word; A függvény paraméterei: Msg: a megjelenített üzenet, Msg: a megjelenített üzenet, AType: az üzenet doboz külalakját határozza meg. Lehet: AType: az üzenet doboz külalakját határozza meg. Lehet: mtWarningfigyelmeztetés mtWarningfigyelmeztetés mtErrorhiba mtErrorhiba mtInformationinformáció mtInformationinformáció mtConfirmationmegerősítés mtConfirmationmegerősítés mtCustomfelhasználó által definiált. mtCustomfelhaszná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). 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. HelpCtx: akkor szükséges, ha programunk tartalmaz help- et. Egyébként: 0.

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?', if MessageDlg('Welcome. Exit now?', mtInformation, [mbYes, mbNo], 0) = mrYes then mtInformation, [mbYes, mbNo], 0) = mrYes then Close; 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 InputBox function InputBox(const ACaption, APrompt, ADefault: string): string 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. 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): APrompt: string, var Value: string): Boolean Boolean

Általános párbeszédablakok A Dialogs paletta lapon találhatók (OpenDialog, SaveDialog, FontDialog, ColorDialog, PrintDialog, PrinterSetupDialog, FindDialog, ReplaceDialog, OpenPictureDialog, SavePictureDialog). 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. 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 begin //jóváhagyással történt a kilépés //jóváhagyással történt a kilépés end endelse begin begin //jóváhagyás nélküli kilépés //jóváhagyás nélküli kilépés end end

Példa - OpenDialog procedure TForm1.SpeedButton1Click(Sender: TObject); begin if OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName); 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), 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). 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. 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, 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), 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). 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, 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. 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: Brush: Color (clBlack, clGreen, …) Color (clBlack, clGreen, …) Style (bsSolid, bsClear, bsCross, …) Style (bsSolid, bsClear, bsCross, …) Pen: Pen: Color Color Width (integer) Width (integer) Style (psSolid, psDash, …) Style (psSolid, psDash, …) Mode (pmCopy, pmXor, …) Mode (pmCopy, pmXor, …) Pixels (TColor típusú tömb), pl: pixels[100,100]:=clBlack; Pixels (TColor típusú tömb), pl: pixels[100,100]:=clBlack;

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