# Ohjelmointityökalut

Actiweb järjestelmään on mahdollista tehdä sovellusohjelmia monella eri tavalla. Web käyttöliittymä sisältää pienimuoiden ohjelmaeditorin, ja Actiweb-laite on mahdollista liittää verkkolevynä windows tietokoneeseen, tai muokata niitä FTP-ohjelman kautta.

Ohjelmat sijaitsevat laitteessa tavallisesti lähdekooditiedostoina, eli tekstitiedostoina jotka sisältävät lua-kielistä ohjelmakoodia. Kirjastotiedostot suositellaan tallentamaan hakemistoon **/opt/slc/lib/**. Ohjelmakirjastolla tarkoitetaan lähdekooditiedostoa, joka sisältää sellaista uudelleenkäytettävää ohjelmakoodia, jota voidaan käyttää monessa eri projektissa. Muut, eli projekti tai sovelluskohtaiset ohjelmat on ajateltu sijoitettavaksi **/opt/slc/prg/** hakemistoon. Jako ei ole niinkään tekninen, vaan suositus, ja järjestelmä löytää ohjelmatiedostot ihan yhtä helposti molemmista sijainneista.  
Ohjelmat, joiden halutaan käynnistyvän tehtäviksi – eli taskeiksi – sen sijaan pitää tallentaa **/opt/slc/prg/run/** hakemistoon.

#####  

##### **Ohjelmointi Web käyttöliittymän kautta**

Lua-ohjelmien luominen ja muokkaaminen on mahdollista laitteen web-käyttöliittymän kautta. Ohjelmaeditoriin pääsee sisäänkirjautumisen jälkeen lisäämällä selaimen osoitekenttään laitteen URL-osoitteen perään parametri &amp;code. Huomaa, että ohjelma editorin käyttäminen vaatii käyttäjätilin käyttäjätasoksi vähintäin 100.

[![image-1653458285868.png](https://wiki.bithouse.fi/uploads/images/gallery/2022-05/scaled-1680-/image-1653458285868.png)](https://wiki.bithouse.fi/uploads/images/gallery/2022-05/image-1653458285868.png)  
*Ohjelmaeditoriin siirrytään lisäämällä selaimen osoitekenttään &amp;code URL-parametri*

Ohjelma editorin vasemmassa laidassa ovat päällekäin painikkeet:  
 • Avaa (Kansion kuva) Avaa tiedoston laitteen levyltä.  
 • Save (Disketti) Tallentaa avoinna olevan tiedoston levylle.  
 • Viesti-ikkuna (Huutomerkki) Näyttää ohjelmine viestit ja virheilmoitukset  
 • Ohjelmalista (Hammasratas) Näyttää listan käynnissä olevista ohjelmista, sekä niiden tilat, suorituslaskurin ja mahdolliset Slc.echo() kutsulla annetut lisätiedot.

Ohjelman lähdekooditiedoston saa avattua muokattavaksi painamalla ”avaa” -painiketta, ja valitsemalla avautuvasta ikkunasta haluttu tiedosto.

[![image-1653461186290.png](https://wiki.bithouse.fi/uploads/images/gallery/2022-05/scaled-1680-/image-1653461186290.png)](https://wiki.bithouse.fi/uploads/images/gallery/2022-05/image-1653461186290.png)  
*Tiedostonvalintaikkuna ja taustalla muokattavaksi avattu Lua-kielinen ohjelma.*

Laitteessa käynnissä olevien ohjelmien tilaa on mahdollista seurata ikkunasta, joka avautuu ratas-painikkeesta. Avautuvassa listauksessa näkyvät riveittäin käynnissä olevat lua-ohjelmat, ja joitakin tietoja kustakin ohjelmasta.

[![image-1653461475703.png](https://wiki.bithouse.fi/uploads/images/gallery/2022-05/scaled-1680-/image-1653461475703.png)](https://wiki.bithouse.fi/uploads/images/gallery/2022-05/image-1653461475703.png)

Sarakkeiden kuvaukset:  
 **Name**  Ohjelman nimi. voidaan vaihtaa Slc.setTaskName -kutsulla.

**Rounds** Suorituskertojen määrä, laskettuna Actiwebin edellisestä käynnistyksestä.

**Runtime** Aika, jonka taskin suorittaminen kesti edellisellä kerralla.  
   
**Status** Taskin tila, voi olla loading, running tai fault.

Ohjelmaeditorissa huutomerkistä avautuva Output eli tuloste ikkuna näyttää laitteessa käynnissä olevien ohjelmien tulostamat viestit ja virheilmoitukset. Tähän ikkunaan tulevat näkyviin viestit jotka tulostetaan lua-ohjelmassa mm. yksinkertaisella **print()**-käskyllä (standardi tulostevirta) ja **Slc.error()** -käskyllä.

[![image-1653461636016.png](https://wiki.bithouse.fi/uploads/images/gallery/2022-05/scaled-1680-/image-1653461636016.png)](https://wiki.bithouse.fi/uploads/images/gallery/2022-05/image-1653461636016.png)

Itse ohjelman editointi onnistuu kuten normaalisit tekstieditoriohjelmissa. Kun muutokset ohjelmiin on tehty, pitää muokattu tiedosto tallentaa, ja painaa **TODO LAUSE LOPPUUN**