Demo 5 / Ma 8.10
1. Omat tapahtumat
1.
Lisää laskuriin
OnBeforeChange - tapahtuma, joka suoritetaan ennen kuin arvoa muutetaan. Parametrina tapahtumalle on mm.
var Accept:boolean, johon tapahtuman käsittelijän tulee sijoittaa arvo sen mukaan sallitaanko muutos vaiko ei.
2. Piirtäminen
2.
Kirjoita ohjelma, joka piirtää funktion
sin(x) kuvaajan välillä
[-2*pi,2*pi]
(käytä vaikka komponenttia
TPaintBox
).
3&4.
Kirjoita aliohjelma tai komponentti (mieti tarvitaanko enemmän parametreja)
koordinaatisto(x,y, /* Akseleiden leikkauspiste */
xstep,ystep, /* Viivojen ja num. väli */
xmin,ymin,xmax,ymax) /* minimit ja maksimit */
3. Dialogit
5.
Kirjoita "Matti Meikäläisen" mittakaava- ohjelma. Ohjelmointi-kurssin vastaava DOS- versio toimi seuraavasti:
C:\OMA\MATKAAJA>matka[RET]
Lasken 1:200000 kartalta millimetreinä mitatun matkan
kilometreinä luonnossa.
Anna matka millimetreinä>35[RET]
Matka on luonnossa 7.0 km.
C:\OMA\MATKAAJA>matka[RET]
Lasken 1:200000 kartalta millimetreinä mitatun matkan
kilometreinä luonnossa.
Anna matka millimetreinä>352[RET]
Matka on luonnossa 70.4 km.
C:\OMA\MATKAAJA>
6.
Mitä omia komponentteja olisi kannattanut tehdä?
4. Bonus
7.
Käytä
vclclx/korttipe/raahattava.pas (listaus jaettiin luennolla) komponenttia Autolaskurissa olevien laskureiden siirtämiseksi paikasta toiseen. Yhdellä rivillä saadaan aikaan versio, jossa siirto voidaan tehdä paneelin sisällä (tai ainakin pudotuksen pitää tapahtua paneelin päälle, ei formin). Tämä riittää tässä demossa.