You are on page 1of 10

Gyakorlatok

1. Ksztsk el a 3. fejezetben lert Els programunkat.


2. Prbljunk meg klnfle komponenseket elhelyezni az ablakunkban, majd futtassuk le a
programot s figyeljk, hogyan jelennek meg, ill. milyen rtkeket tudunk megadni nekik.
3. Hozzunk ltre egy alkalmazst, amelyen kt gomb lesz (Kirs, Kilps) s egy cmke. Az
egyik megnyomsakor trja a cmke feliratt (ezt a programkdban:
Label1.Caption := Uj felirat; formban adhatjuk meg), a msik gomb megnyomsra
kilp a programbl.
4. Ksztsnk programot, amely egy cmkt s egy nyomgombot tartalmaz (Sorsols). A
gomb megnyomsakor a szmtgp a cmke feliratba rjon ki 5 vletlenszer
lottszmot 1-tl 90-ig (ilyen vletlenszmokat a random(90)+1 fggvnnyel tudunk
generlni, majd a szmot az IntToStr() fggvnnyel tudjuk szvegg alaktani). Ne
felejtsk el eltte belltani a vletlenszm genertort (randomize;), hogy minden indts
utn ne kapjuk ugyanazokat a szmokat. A program tervezsekor lltsuk be az Objektum
felgyelben, hogy a cmke betmrete nagyobb legyen (ezt a cmke Font.Size
tulajdonsgval tehetjk meg).
5. Prbljunk meg kszteni egy alkalmazst, amelyen hrom gomb (Pros, Pratlan,
Fibonacci) s egy cmke szerepel. Az els gomb megnyomsakor a cmke feliratt trja
az els 10 pros szmra (2, 4, 6, ), a msodik megnyomsakor az els 10 pratlan
szmra (1, 3, 5, ), a harmadik megnyomsakor kirja az els 10 Fibonacci szmot (0, 1,
1, 2, 3, 5, 8, - mindegyik szm az elz kett sszege). A szmokat ciklus segtsgvel
prbljuk meg generlni.
6. Jelenjen meg a kpernyn kt nyomgomb Belevgok! s Kilps felirattal. A belevgok
gombra val kattints utn jelenjen meg az dvzllek a programozs vilgban! zenet.
(tulajdonsg: Caption, esemny: OnClick, metdus: Form1.Close)
7. Jelenjen meg a kpernyn egy res cmke s egy gomb Kilps felirattal. Ha a
felhasznl rkattint a gombra, jelenjen meg a cmkben egy zenet Meggondolta?
krdssel. Majd ha jra rkattint a gombra, egy msik zenet Biztos benne? krdssel,
stb. Ez folytatdjon mindaddig, amg a felhasznl nem kattintott tszr egyms utn a
gombra. Az tdik kattintsnl zrdjon be az alkalmazs ablaka. (ismtls Turbo
Pascalbl: egy i vltoz deklarlsa a unit implementation rszben, case elgazs
hasznlata)
8. Bvtsk ki az elz feladatot gy, hogy az ablak helye minden gombnyoms utn mshol
legyen a kpernyn vletlenszeren kivlasztva. (j tulajdonsgok: Left, Top, Width,
Height, Screen.Width, Screen.Height, esemnyek: OnCreate, ismtls Turbo
Pascalbl: random, randomize)
9. Prbljuk meg a programot gy trni, hogy ha a felhasznl mshogy (X-szel a jobb fels
sarokban, ALT+F4-gyel, stb.) akarja bezrni az alkalmazst, akkor se tudja s jelenjen
meg neki ebben az esetben az gy nem fog menni, csak a gombbal! felirat. (j esemny:
Form1.OnCloseQuery, ennek CanClose paramtere)
10. A kpernyn jelenjen meg egy adatlap (bra). Ha az Edit1 beviteli mezbe berjuk a
nevnket, akkor a Label3 cmkbe kerljn be a bevitt adat! (j tulajdonsgok: Edit1.Text,
Font.Style halmaz)

11. Bvtsk az elz feladatot egy jabb krdssel (letkora:), ami csak akkor jelenjen meg,
amikor a felhasznl vlaszolt az elz krdsre. (j tulajdonsg: Visible)
12. Jelenjen meg a kpernyn kt beviteli mez s egy Csere felirat gomb. A gombra
kattintskor a kt beviteli mez tartalma cserldjn meg.
13. Zldsges standunkon hromfle termket rulunk: burgonyt, rpt s kposztt.
Egysgrukat egy-egy cmke jelenti meg, a vsrolt mennyisget egy-egy beviteli
mezbe rjuk. Egy gomb megnyomsa utn szmtsuk ki s jelentsk meg a fizetend
sszeget! (j tulajdonsg: Font.Size, fggvnyek: StrToFloat, FloatToStr, Round)
14. A programablak bal fels sarkban jelenjen meg egy nyomgomb. Ha a felhasznl
rkattint, menjen a gomb a jobb fels sarokba, majd a jobb als, bal als, vgl jra a bal
fels sarokba, stb. (j tulajdonsgok: Form1.ClientWidth, Form1.ClientHeight)
15. Talljuk ki a gp ltal gondolt egsz szmot tippelssel, ha a gp minden tipp utn
megmondja, hogy az kicsi vagy nagy! (j tulajdonsgok: Button1.Default,
Button1.Cancel, j metdus: Edit1.SelectAll)
16. Ksztsnk programot pizza elektronikus rendelshez! A krt sszetevket
jellngyzetekkel lehessen megadni. A program ezek alapjn automatikusan a jells
kzben jelentse meg a pizza rt! (j tulajdonsgok: CheckBox1.Checked, sajt eljrs
ltrehozsa, az sszes CheckBox OnClick esemnyre ugyannak az eljrsnak a
megadsa, mint az CheckBox1-nek)
17. Ksztsnk szoftvert kv automathoz! Rdigombokkal lehessen megadni az italt (kv,
tea, kaka), jellngyzetekkel a hozzvalkat (citrom, cukor, tej, tejszn). A szoftver
szmolja ki s jelentse meg a fizetend sszeget! Tehoz ne lehessen tejsznt, kvhoz
citromot, kakahoz se citromot, se tejsznt krni! (bra) (j tulajdonsgok: Enabled,
RadioButton1.Checked)

18. Sznkevers RGB sznmodell alapjn. A kpernyn jelenjen meg hrom grgetsv,
amely az RGB sznmodell hrom alapsznt lltja be 0 s 255 kztt. A kikevert szn egy
cmke htterben jelenjen meg! (bra) (j tulajdonsgok: ScrollBar1.Min,
ScrollBar1.Max, ScrollBar1.Position, Form1.DoubleBuffered, j esemny: OnChange,
j Windows API fggvny: RGB)

19. Ksztsnk csszks szmolgpet! A krt szmot egy-egy vzszintes grgetsv
tologatsval lehessen bevinni, majd a megfelel nyomgombra (feliratuk: sszeads,
Kivons, Szorzs, Oszts) val kattintskor jelenjen meg egy cmkben az eredmny!
20. Ksztsnk programot, amely egy ListBox-ot tartalmaz. Ha rkattintunk a form-ra egrrel,
dupln rkattintunk, vagy megnyomunk egy billentyt, rassuk ki a ListBox-ba az
OnMouseDown, OnClick, OnMouseUp, OnDblClick, OnKeyDown, OnKeyPress, OnKeyUp
esemnyek neveit olyan sorrendben, ahogy bekvetkeznek. (tulajdonsg:
Form1.KeyPreview, metdus: ListBox1.Items.Add)
21. Verem demonstrlsa: ksztsnk egy alkalmazst, amely tartalmaz egy listt s egy
beviteli mezt. A beviteli mez adata a Push gomb hatsra kerljn a lista tetejre, mg a
Pop gomb hatsra a lista fels eleme kerljn a beviteli mezbe, s trldjn a listrl
(bra). A lista legfeljebb 10 elem lehet. Ha a lista tele van (Full) vagy res (Empty), akkor
a megfelel gomb hatsra kapjunk hibajelzst (zenet ablak)! (j tulajdonsg:
ListBox1.Items[0], j metdusok: ListBox1.Items.Insert, ListBox1.Count,
ListBox1.Items.Delete)

22. Sor bemutatsa: a kpernyn jelenjen meg egy lista s egy beviteli mez. A Push gomb
hatsra a beviteli mez tartalma kerljn a lista tetejre, a Pop gomb hatsra a lista
als eleme kerljn a beviteli mezbe. A lista legfeljebb 10 elem lehet. Ha a lista tele van
vagy res, akkor a megfelel gomb generljon hibajelzst!
23. Olvassunk be az InputBox fggvny segtsgvel egy 3*4-es mtrixot, melyet egy
StringGrid komponensbe jelentsnk meg. Szmoljuk ki az elemek tlagt s szorzatt.

24. rjuk ki a Sin fggvny rtkeit tblzatosan egy StringGrid komponensbe elre megadott
intervallumban fokonknt. Ne engedjk, hogy az intervallum als rtke nagyobb legyen,
mint a fels.

25. Olvassunk be egy 3*3-as mtrixot, majd ellenrizzk, hogy a mtrix bvs ngyzet-e,
azaz sorainak, oszlopainak s tlinak sszege azonos-e (az eredmnyt egy
MessageBox segtsgvel jelentsk meg). Az albbi pldban szerepl mtrix bvs
ngyzet.

26. Programunk rja ki mely billentyt kell lenyomni, s rja ki a megtalls idejt.
Folyamatosan rtkelje sebessgnket (tlagos sebessg egy billenty lenyomsra).
27. Ksztsnk programot, amely egy nyomgomb megnyomsakor kirajzol egy sakktblt
egy image komponensre.

28. Ksztsnk egy alkalmazst, amely egy nyomgomb megnyomsakor kirajzolja egy image
komponensbe a sin(x) fggvny grafikonjt.

29. Ksztsnk egy alkalmazst, amely tartalmaz egy nagyobb mret res Image
komponenst s ngy kisebb Image komponenst, melyekben klnbz httrmintkat
jelentnk meg. Ha valamelyik httrmintra rkattintunk egrrel, a program tltse ki a
megadott mintval a nagyobb Image komponenst.
A feladathoz a kpek itt tlthetk le: http://www.prog.ide.sk/delphi/29gyak-kepek.zip

30. Ksztsnk egy "pecstel programot". A program tartalmazzon nhny kp kicsinytett
vltozatt. Ha valamelyik kpre rkattintunk egrrel, majd a rajzlapra kattintunk (nagyobb
mret Image komponens), akkor minden egyes kattints helyre a program "pecstelje
oda" a kivlasztott rajzot. A rajzot gy rakjuk ki a rajzlapra, hogy a kattints helye
(koordinti) a kirajzoland kp kzepn legyen. Az alkalmazsunk tartalmazzon mg egy
nyomgombot is, mellyel letrlhetjk a rajzlapot.
A feladathoz a kpek itt tlthetk le: http://www.prog.ide.sk/delphi/30gyak-kepek.zip

31. Ksztsnk alkalmazst, amely szemllteti a vletlen szmok eloszlst. A szmtgp 0
s 19 kztti vletlen szmokat generljon ki s szmolja az egyes szmok elfordulst,
melyet oszlopokkal szemlltessen. Mindegyik oszlop fl rja oda, hogy mennyiszer volt
az adott szm kigenerlva. Amelyik szm(ok) az adott pillanatban a legtbbszr fordulnak
el, azokat zld oszlop helyett mindig pirossal szemlltessk. A szmok generlst egy
nyomgomb segtsgvel lehessen elindtani. Ha jra megnyomjuk a nyomgombot, a
szmok generlsa ellrl kezddjn. A program teht a nyomgomb megnyomsa utn
minden szm oszlopnak magassgt belltja nullra, majd:
Kigenerl egy 0-19 kztti vletlen szmot.
Az adott szm oszlopnak magassgt megnveli egy pixellel s fl kir eggyel
nagyobb szmot.
Figyeli, melyik szmok elfordulsa a legnagyobb, ezeket piros oszloppal
szemllteti, a tbbit zlddel.
Kigenerlja a kvetkez vletlen szmot
A program a nyomgomb megnyomsa utn automatikusan mkdjn s nvelje
bizonyos idkznknt (pl. 0,01 sec-knt) a kigenerlt szm oszlopnak magassgt
mindaddig, amg valamelyik nem ri el a 99-et. Ekkor a szmok generlsa lljon le.

32. Ksztsnk programot, amely tartalmazni fog egy Memo komponenst s hrom
nyomgombot. Az els nyomgomb egy dialgusablak segtsgvel vlasszon ki egy TXT
fjlt, majd olvassa be a program a Memo komponensnkbe a fjl tartalmt. A msodik
nyomgomb mentse el a fjlt (dialgusablakkal lehessen megadni a fjl nevt s helyt),
a harmadik nyomgomb segtsgvel lehessen megvltozatni a Memo komponens
bettpust. Az alkalmazst bvtsk ki menvel (MainMenu), ahonnan szintn elrhet
legyen ez a hrom funkci.
33. Ksztsnk telefonknyvet. Az alkalmazs tartalmazzon egy ListBox-ot, melyben nevek
tallhatk ABC sorrendben. Ha valamelyik nvre rkattintunk (kijelljk), a jobb oldalon
jelenjen meg a nv s a hozz tartoz telefonszm.
Az j szm nyomgombra kattintskor egy j (modlis) ablakban krjnk be egy nevet
s egy telefonszmot, melyet helyezznk el a nvsorban a megfelel helyre (gy, hogy a
nevek ABC sorrendben maradjanak). A Trls gombra kattintskor a kijellt nevet
trljk a nvsorbl. Ilyenkor a jobb oldalon a trlt elem utn kvetkez (ha nincs akkor
az eltte lev) nv jelenjen meg (ha nincs eltte lev sem, akkor a jobb oldalon ne
jelenjen meg semmilyen nv s telefonszm).
Az sszes nevet s telefonszmot a programbl val kilpskor mentsk el egy kls
llomnyba. A program indtsakor olvassuk be ebbl a fjlbl a neveket.


34. Ksztsnk alkalmazst, amely megjelenti s folyamatosan mutatja (frissti) az aktulis
idt.

35. Ksztsnk csigk versenye jtkot. A csigk valamelyik gomb megnyomsval
induljanak el. Mindegyik csiga vletlenszer hellyel menjen jobbra mindaddig, amg
valamelyik nem ri el az ablak jobb szlt. Ha az a csiga nyert, amelyre tippeltnk, akkor a
pontszmunk nvekedjen 3-mal, klnben cskkenjen 1-gyel. A nyertes csiga sznt egy
MessageBox segtsgvel rjuk ki, majd a csigk lljanak jra a rajtvonalra, s jbl
lehessen tippelni valamelyik nyomgomb megnyomsval!
A feladathoz a kpek itt tlthetk le: http://www.prog.ide.sk/delphi/35gyak-kepek.zip

You might also like