Perusrakenne

Tässä vaiheessa huomasimme, että olisi korkein aika saada tallennettua käyttöliittymään syötetyt arvot ja ladata ne aina käynnistettäessä ohjelma. Demossa arvot olisi ollut sinänsä helppo asettaa käsin kontrollereille suoraan koodiin, mutta oikeassa toteutuksessa se ei olisi ollut mahdollista.

Niinpä nappasimme Pasilta taas valmista koodia ja hyödynsimme sitä. Pasin aiemmissa ohjelmissa toteutus oli ollut pienimuotoisemmissa ohjelmissa sellainen, että arvot tallennettiin ja luettiin ihan taulukkomuotoisesta plain text -tiedostosta, eli puhtaasta tekstitiedostosta. Arvoihin viitattiin taulu/taulukkotyyppisesti ja erottimena toimi tolppamerkki.

Koodit ja funktiot olivat tyypillisesti ModuleMain -moduulissa, joten loimme sellaisen myös tähän ohjelmaan. Moduuleissa ollessaanhan koodit ja funktiot ovat käytettävissä kaikkialla projektissa.

 

image10f.png

 

image110.png

 

Nimeksi ehdotteli Module1.vb, se sopii, sillä ei ole varsinaista merkitystä tässä. Sinne sitten laitoimme tarvitsemamme koodit. Lisäsimme muutamia muitakin pikku apuja kopioimastamme ohjelmakoodista. Salaamisen remmasimme siitä tarpeettomana ainakin tässä vaiheessa.

 

image111.png

 

Salaaminen

Jos kyseessä olisi ollut sensitiivinen data, niin Salaa-funktiolla olisi ollut mahdollista salata tiedostot vahvasti.

 

 image112.png

 

Purkamisen osuus sitten seuraavasti:

 

image113.png

 

Käyttö

Nyt määrittelimme asetustiedoston nimen ja että se ladataan heti startissa.

 image114.png

 

image115.png

 

Sitten lähdimme miettimään asetustiedoston rakennetta. Tiedosto oli kätevin luoda Notepad++:lla.

https://notepad-plus-plus.org/

Se on todella monipuolinen editori muutenkin ja kannattaakin laittaa oletuseditoriksi Windowsissa.

Tämän tiedoston sijainti oli järkevintä asettaa ohjelmatiedoston alikansioon. Alikansion nimesimme ytimekkäästi dataksi ja teimme samalla sillekin alakansion bu, jonne tulevat tallentumaan varmuuskopiot asetuksista.

Katsoimme käyttöliittymää ja sen kenttiä, joihin tietoja voi syöttää.

Päädyimme alustavasti viiteen sarakkeeseen ja ainakin aluksi kolme riviä riittäisi. Kuvassa tekstiselitteet.

 image116.png

Tuon jälkeen lisäillessämme toimintoja otimme käyttöön lisäksi:

(1, 4) = viesti kun lämpimässä saunassa oltu liian kauan

(3, 0) = ei liikettä, tyhjäkö

(3, 1) = ei liikettä, mutta joku paikalla

(3, 2) = saunassaoloaikaraja ennen kuin hälytetään

(3, 3) = lämpötilaraja saunassaoloajalle

Annetuilla arvoilla näytti sitten tältä:

 

image117.png

 

Arvot ovat siis testausta varten, jotta saadaan testaus nopeaksi. Lähettävä palvelin on oltava ISP:n lähettävä smtp-postipalvelin, niin saamme postit lähtemään ilman autentikointia.

Nyt sitten saatoimme koodissamme viitata noihin arvoihin.

Sitten sama homma muutosten tallennuksille. Tälle oli järkevää tehdä erillinen tallennusnappi. Samoin tallennuksen yhteyteen oli hyvä rakentaaasetusten varmuuskopiointi.

Tallennuksen koodi:

 

image118.png

 

Ja lomakkeen lataukseen vastaavasti:

 

image119.png

 

Nyt näytti ohjelman startattua tältä:

 

image108.png