Komponentit ja tapahtumat - Viikkotehtävä 2

Tee seuraavista haluamasi tehtävä käyttäen Visual Studiota (tai vastaavaa) ja Windows Formsia. Ohjelma ei saa kaatua esim. virheellisten syötteiden takia.

Tehtävä on palautettava 16.2. klo 10:00 mennessä

Kannattaa lukea tehtävänantoon liittyvä keskustelu postituslistalta.

Taso 1

Mallikuva kalorilaskimesta

Kirjoita ohjelma, joka arvio henkilön päivittäisen kalorikulutuksen. Toteutetaan poikkeuksellisesti koko ohjelma tekstikentillä vaikka radiobuttonit olisivat paikotellen parempi valinta.

Luo ohjelma omilla komponenteilla. Tee seuraavat komponentit ja peri jokainen TextBox-luokasta:

Painoksi kelpuutetaan arvot väliltä 20 - 300.

Jokainen komponentti ilmoittaa mahdollisesta väärästä syötteestä ErrorProviderin avulla.

Jos syötetty päivämäärä on tulevaisuudessa niin ohjelma varoittaa tästä messageboksilla eikä suostu laskemaan kalorikulutusta. Toteuta tämä kuuntelemalla PaivamaaraTextBoxin Tulevaisuus-tapahtumaa.

Jos kenttiin on syötetty kelvolliset arvot niin Laske kulutus -painike laskee arvioidun kalorikulutuksen. Tarvittava kaava on dokumentissa: Daily Calorie Needs. Syötetyistä tiedoista pieni, keskiverto ja suuri vastaavat tietoja sedentary, moderately active ja very active.

Ohjelman lomaketta ei voida sulkea jos kentissä on epävalideja syötteitä.

vinkki: c# days elapsed from DateTime, c# datetime examples, C# TimeSpan Examples

Taso 3

Tee keittiöajastinohjelma, joka antaa halutun ajan jälkeen hälytyksen.

Mallikuva ajastimesta

Toteuta ohjelma seuraavilla omilla komponenteilla:

Varsinaisella lomakkeella on kenttä jossa näkyy pienevä aika, joka päivittyy sekunnin välein. Kentän alapuolella näkyy Stop- tai Start-painike sen mukaan onko ajastus päällä vai ei. Lomakkeella on myös kenttä jolla voidaan asettaa uusi aika. Uuden ajan saa käyttöön lomakkeen Reset-painikkeella. Reset-painikkeella voi asettaa uuden ajan milloin tahansa riippumatta siitä onko ajastus päällä tai ei. Reset-painike ei kuitenkaan toimi jos kenttään syötetty kellonaika on epävalidi.

Ajan loppuessa ohjelma avaa messageboksin, joka ilmoittaa, että aika loppui.

Lomaketta ei voida sulkea jos kentissä on epävalideja syötteitä tai ajastin on käynnissä.

Taso 5

Muuta ja laajenna tason 3 ohjelmaa ja komponentteja seuraavilla ominaisuuksilla:

Käyttäjien kommentit

Kommentoi tätä sivua Lisää uusi kommentti
Kurssimateriaalien käyttäminen kaupallisiin tarkoituksiin tai opetusmateriaalina ilman lupaa on ehdottomasti kielletty!
http://appro.mit.jyu.fi/gko/vt/vt2/
© Antti Ekonoja (antti.j.ekonoja@jyu.fi) <http://users.jyu.fi/~anjoekon/>
Tommi Lahtonen (tommi.j.lahtonen@jyu.fi) <http://hazor.iki.fi/>
2012-03-22 14:06:19
Informaatioteknologia - Jyväskylän yliopiston informaatioteknologian tiedekunta