delphi programozás alapjai
DESCRIPTION
Delphi programozás alapjai. Nagyváradi Anett [email protected] http://morpheus.pte.hu/~anettn PTE PMMK MIT. 3. ELŐADÁS. Borland Delphi – fontosabb komponensek tárgyalása Megjegyzés: a ppt-ben található színkódok: forráskód általános szintaxisa példaprogram részlet. - PowerPoint PPT PresentationTRANSCRIPT
Delphi programozás Delphi programozás alapjaialapjai
Nagyváradi AnettNagyváradi [email protected]@morpheus.pte.hu
http://morpheus.pte.hu/~anettnhttp://morpheus.pte.hu/~anettn
PTE PMMK MITPTE PMMK MIT
3. ELŐADÁS3. ELŐADÁS
Borland Delphi – Borland Delphi –
fontosabb komponensek tárgyalásafontosabb komponensek tárgyalásaMegjegyzés: Megjegyzés:
a ppt-ben található színkódok:a ppt-ben található színkódok:
forráskód általános szintaxisaforráskód általános szintaxisa
példaprogram részletpéldaprogram részlet
Fontosabb komponensekFontosabb komponensek
A komponensek hatékony felhasználása:A komponensek hatékony felhasználása:
1. Milyen tulajdonságokkal (properties) 1. Milyen tulajdonságokkal (properties) rendelkezik a komponens?rendelkezik a komponens?
2. Milyen metódusok (methods) segítik a 2. Milyen metódusok (methods) segítik a komponens használatát?komponens használatát?
3. Mely eseményekkel (events) 3. Mely eseményekkel (events) avatkozhatunk be az adott komponens avatkozhatunk be az adott komponens működésébe?működésébe?
Szövegmegjelenítő Szövegmegjelenítő komponensekkomponensek
Label (Standard)Label (Standard)
Edit (Standard)Edit (Standard)
Memo (Standard)Memo (Standard)LinesLines tulajdonság (TString) soronként teszi tulajdonság (TString) soronként teszi
elérhetővé a szöveget (tervezési időben is). elérhetővé a szöveget (tervezési időben is). Be és kivitelre: Lines tulajdonság Be és kivitelre: Lines tulajdonság
LoadFromFile, ill. SaveToFile metódusai LoadFromFile, ill. SaveToFile metódusai használatosak használatosak
Lista komponensekLista komponensek
ListBoxListBoxElemkiválasztás Elemkiválasztás ItemsItems tulajdonság segítségével tölthető fel tulajdonság segítségével tölthető fel
a kiválasztandó elemekkela kiválasztandó elemekkel
ComboBoxComboBoxLegördülő menü – elemkiválasztásLegördülő menü – elemkiválasztása kiválasztandó elemeket az a kiválasztandó elemeket az ItemsItems
tulajdonság segítségével tölthetjük fel tulajdonság segítségével tölthetjük fel
Csoportosító komponensekCsoportosító komponensek
GroupBox (Standard)GroupBox (Standard)Egyszerű feliratozható csoportosítóEgyszerű feliratozható csoportosító
RadioGroup (Standard)RadioGroup (Standard)Összetartozó rádió gombok Összetartozó rádió gombok
csoportosításáracsoportosításáraItems tulajdonsággal feltölthetőItems tulajdonsággal feltölthető
Panel (Standard)Panel (Standard)Csoportosító keretCsoportosító keret
PageControl (Win32)PageControl (Win32)Füles, lapozható panelekFüles, lapozható panelekJobb egér > New Page segítségével Jobb egér > New Page segítségével
bővíthetőbővíthető
Időzítő komponensIdőzítő komponens
Timer (System)Timer (System) nem vizuális vezérlőnem vizuális vezérlő Interval tulajdonságban megadott Interval tulajdonságban megadott
időközönként megtörténik az időközönként megtörténik az OnTimer eseményOnTimer esemény
Láthatatlan elem!Láthatatlan elem!
Egyéb hasznos Egyéb hasznos komponensekkomponensek
MainMenu (Standard)MainMenu (Standard)Több sorból álló szöveg kezeléseTöbb sorból álló szöveg kezeléseAz ItemIndex tulajdonság segítségével Az ItemIndex tulajdonság segítségével
tölthető fel a menüsortölthető fel a menüsorItt definiálhatók az TMenuItem osztály Itt definiálhatók az TMenuItem osztály
példányai, melyeknek saját tulajdonságaik példányai, melyeknek saját tulajdonságaik és eseményeik vannakés eseményeik vannak
Párbeszédablakok Párbeszédablakok (eljárásokkal)(eljárásokkal)
ShowMessageShowMessageEgyszerű üzenet megjelenítése ablakbanEgyszerű üzenet megjelenítése ablakbanA szöveget paraméterként adhatjuk megA szöveget paraméterként adhatjuk megDeklarálás:Deklarálás:procedure ShowMessage(const Msg: string);procedure ShowMessage(const Msg: string);Szintaktika:Szintaktika:ShowMessage(‘Halihó!');ShowMessage(‘Halihó!');
Pl.:Pl.:procedure TForm1.Button1Click(Sender: procedure TForm1.Button1Click(Sender: TObject);TObject);
beginbegin ShowMessage(‘Halihó!');ShowMessage(‘Halihó!');end;end;
Párbeszédablakok Párbeszédablakok (függvényekkel)(függvényekkel)
MessageDlgMessageDlgEgyszerű dialógusablakEgyszerű dialógusablakDeklarálásDeklarálásfunction MessageDlg(const Msg: string; function MessageDlg(const Msg: string;
AType:TMsgDlgType; AType:TMsgDlgType; AButtons: TMsgDlgButtons;AButtons: TMsgDlgButtons;
HelpCtx: Longint): Word;HelpCtx: Longint): Word;
Paraméterek:Paraméterek: MsgMsg: a megjelenített üzenet: a megjelenített üzenet ATypeAType: az üzenet doboz külalakját határozza meg. Lehet: : az üzenet doboz külalakját határozza meg. Lehet:
mtWarningmtWarning figyelmeztetésfigyelmeztetés mtErrormtError hibahiba mtInformationmtInformationinformációinformáció mtConfirmationmtConfirmation megerősítésmegerősítés mtCustommtCustom felhasználó által definiáltfelhasználó által definiált
PárbeszédablakokPárbeszédablakok (függvényekkel)(függvényekkel) folyt.folyt.
AButtonsAButtons: egy halmaz, mely meghatározza, hogy : egy halmaz, mely meghatározza, hogy milyen milyen nyomógombok legyenek a boxban. nyomógombok legyenek a boxban.
Elemei lehetnek: mbYes, mbNo, mbOk, Elemei lehetnek: mbYes, mbNo, mbOk, mbCancel,… mbCancel,… (ld. help).(ld. help).HelpCtxHelpCtx: akkor szükséges, ha programunk tartalmaz : akkor szükséges, ha programunk tartalmaz
help-help- et. Egyébként: 0.et. Egyébként: 0.
A függvény visszatérési értéke a leütött gombtól függ. Lehet: 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 mrYes, mrNo, mrOk, mrCancel,… (ezek nevesített konstansok).konstansok).
Pl:Pl:procedure TForm1.Button1Click(Sender: TObject);procedure TForm1.Button1Click(Sender: TObject);beginbegin if MessageDlg(‘Kilépsz a programból?',if MessageDlg(‘Kilépsz a programból?', mtInformation, [mbYes, mbNo], 0) = mrYes mtInformation, [mbYes, mbNo], 0) = mrYes
thenthen Close;Close;end;end;
Dialógus komponensekDialógus komponensek használatos dialógulsablakok: (Dialogs)használatos dialógulsablakok: (Dialogs)
OpenDialogOpenDialog - fájl kiválasztása- fájl kiválasztásaSaveDialogSaveDialog - fájl mentése- fájl mentéseFontDialogFontDialog - betűtulajdonság- betűtulajdonságColorDialogColorDialog - szín- színPrintDialogPrintDialog - nyomtató ablak- nyomtató ablakFindDialogFindDialog - kereső- keresőStb.Stb.
A párbeszédablakokat az A párbeszédablakokat az executeexecute metódussal jeleníthetjük metódussal jeleníthetjük megmeg
Az ablakokat a tulajdonságaik segítségével Az ablakokat a tulajdonságaik segítségével paraméterezhetjükparaméterezhetjük
A párbeszédablakok modális alakok: be kell zárni az adott A párbeszédablakok modális alakok: be kell zárni az adott ablakot, hogy visszatérhessünk az őt aktivizáló formraablakot, hogy visszatérhessünk az őt aktivizáló formra
Dialógus komponensek - Dialógus komponensek - OpenDialogOpenDialog
Tulajdonságok:Tulajdonságok:Title - címsorFilename - a kiválasztott file neve (lekérdezhető)Filter -a megjelenítendő file típusa:
Filter Editor - Name: gyűjtőnév pl. képek - Filter : pl. *.bmp; *.jpg
InitialDir - kezdeti keresés útvonalaOption - a file attributuma (readonly, stb.)
MetódusaMetódusa:LoadFromFile
Dialógus komponensek - Dialógus komponensek - SaveDialogSaveDialog
Tulajdonságok:Tulajdonságok:Title - címsorFilename - a kiválasztott file neve (lekérdezhető)Filter -a megjelenítendő file típusa:
Filter Editor - Name: gyűjtőnév pl. képek - Filter : pl. *.bmp; *.jpg
InitialDir - kezdeti keresés útvonalaOption - a file attributuma (readonly, stb.)
MetódusaMetódusa:SaveToFile
Dialógus komponensekDialógus komponensek
Példa:Példa:
procedure TForm1.Button1Click(Sender: TObject);procedure TForm1.Button1Click(Sender: TObject);
beginbegin
if OpenDialog1.Execute then if OpenDialog1.Execute then Memo1.Lines.LoadFromFile(OpenDialog1.FileName);Memo1.Lines.LoadFromFile(OpenDialog1.FileName);
end;end;
Dialógus komponensekDialógus komponensek
Példa:Példa:
procedure TForm1.save1Click(Sender: TObject);procedure TForm1.save1Click(Sender: TObject);beginbegin if SaveDialog1.Execute thenif SaveDialog1.Execute then beginbegin RichEdit1.Lines.SaveToFile(SaveDialog1.FileRichEdit1.Lines.SaveToFile(SaveDialog1.FileName);Name);
end;end;end;end;
FeladatokFeladatok
Ismerkedjünk az új komponensekkel.Ismerkedjünk az új komponensekkel.
Az eddigi alkalmazásainkat egészítsük ki Az eddigi alkalmazásainkat egészítsük ki menüsorral, a szokásos funkciókkal (menüsorral, a szokásos funkciókkal (file, edit, .. file, edit, .. HelpHelp, stb.). , stb.).
Definiáljuk is ezen funkciók némelyikét! Definiáljuk is ezen funkciók némelyikét! (pl. a kilépés gombbal egyenérfékű (pl. a kilépés gombbal egyenérfékű file>closefile>close menüpont, vagy a menüpont, vagy a help > abouthelp > about tartalmazzon tartalmazzon programunkról információkat – új ablakban! - Új programunkról információkat – új ablakban! - Új ablak létrehozása után a Show metódussal ablak létrehozása után a Show metódussal jeleníthető meg – ld. 2. előadás.)jeleníthető meg – ld. 2. előadás.)
Alkalmazzuk a párbeszédablakokat és Alkalmazzuk a párbeszédablakokat és dialogusablakokat! (pl. megnyitunk egy fájlt, stb.)dialogusablakokat! (pl. megnyitunk egy fájlt, stb.)