GKO 2007

Demo 5 / Ma 8.10

1. Omat tapahtumat

Katso vclclx\comps\laskuri\laskuri.pas
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.