App Lab
studio.code.org
studio.code.org
Link til værktøj: App Lab.
Videoer med mere: educate applab
Worked examples (forløb My App):
Nedenstående kode bidder viser hvordan en bestemt funktion kan laves. Koden kan indsættes i applab, men skal naturligvis tilpasses konteksten. Man skal skifte til vis tekst når koden indsættes.
F.eks. viser de fleste kun hvordan værdier udskrives på skærmen, ikke hvordan de lægges i en variabel eller skrives i et tekstfelt.
(overskrift)
(kode)
Afrunding
// én decimal
bmi = math.round(bmi*10) / 10;
// to decimaler
bmi = math.round(bmi*100) / 100;
// generelt, to decimaler
bmi = bmi.toFixed(2)
Dato
// Hente elementer i dato
var d = new Date(); // Variable med dags dato
write(d.valueOf()); // Dato som tal
write(d.getFullYear()); // Årstal
write(d.getMonth()); // Måned (0-11)
write(d.getDate()); // Dato (1-31)
write(d.getDay()); // Ugedag (0-6)
write(d.toDateString()); // Dato som tekst
// Ugedag (tekst) ud fra dato
weekday = [ "Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday" ];
var d = new Date();
var day = weekday[d.getDay()];
Hente og slette tilfældigt element i liste
// Lave en liste med elementer, udvælg et tilfældigt element og udskriv dette.
// Slet derefter elementet fra listen
var retter = ["tarteletter", "bøf m løg", "fiskefillet"];
var retNr;
retNr = randomNumber(0, retter.length-1);
write(retter[retNr]);
removeItem(retter, retNr);)
Timeout
// Når man trykker på en knap, skiftes til skærm 2.
// Efter 2 sekunder skiftes automatisk tilbage til skærm 1.
onEvent("button1", "click", function( ) {
setScreen("screen2");
setTimeout(function() {
setScreen("screen1");
}, 2000);
});
Valutakurser
startWebRequest("http://api.exchangeratesapi.io/v1/latest?access_key=65087321457dac27f3fe86c008c205f7&symbols=USD,DKK&format=1",
function(status, type, content) {
//console.log(content);
var jsonContent = JSON.parse(content);
console.log(jsonContent.rates.USD);
console.log(jsonContent.rates.DKK);
});
// Kilde: https://manage.exchangeratesapi.io/dashboard (PFA's login)
Password
Gemme liste i database
Man kan ikke direkte gemme en liste i databasen. Det kræver at den laves om til tekst.
Se eksempel: drive.google.com/file/d/11js-TAl8TJ2MCdiQ2VL9HAapJrcrfaS1/view
Sortere en liste af objekter
// En liste med objekter
var liste = [
({ navn: "Hans", knap: "hans1", stem:1 }),
({ navn: "Ole", knap: "ole1", stem:0 }),
({ navn: "Jens", knap: "jens1", stem:2 }),
({ navn: "Esben", knap: "esben1", stem:3 })
];
// Listen sorteres efter feltet 'stem' største først
liste.sort(
function(a, b){return b.stem - a.stem}
);