Modul 3
Indtil nu har du bestemt alting på forhånd. Nu skal brugeren have lov at skrive noget.
En prisberegner. Brugeren taster en pris uden moms, trykker på en knap og ser, hvad prisen er med moms.
Fire blokke i to par: to der henter, og to der viser.
Design
Læg et Text Input ind med id prisFelt, en
Button med id beregnKnap og en
Label med id svaret.
Hent tallet ind i en variabel
Lav en onEvent for knappen. Indeni: en
var x = __;, hvor variablen hedder
pris. I hullet lægger du
getNumber("id"); med prisFelt.
Her ligger variablen inde i onEvent. Det er med vilje: den skal have en frisk værdi ved hvert klik. Modsat tælleren i modul 2.
Regn momsen ud
Moms er 25 %, så prisen med moms er prisen gange 1,25. Brug gange-blokken
fra Math. Bemærk, at der skrives 1.25 med punktum, ikke komma.
Computeren læser komma som en adskillelse mellem to ting.
Vis svaret
Byg en sætning med plus-blokke og skriv den ud.
Kør og prøv med 400. Der skal stå Med moms: 500 kr.
Ryd op i decimalerne
Prøv med 399. Nu står der 498.75, og andre tal giver endnu flere decimaler. Læg Math.round(x) fra Math uden om udregningen, så der rundes af.
Math.round ligger uden om regnestykket. Parenteserne bestemmer, hvad der rundes af.
Et program har tre dele, og du har nu bygget alle tre:
Opdelingen passer på næsten alle programmer, og du skal kunne pege på de tre dele i din egen kode.
Brugeren skriver altid tekst, også når der tastes 400. Forskellen er, hvad App Lab afleverer til dig:
"400". Det kan du ikke regne med.Prøv fejlen med vilje. Byt getNumber ud med getText i din app, og kør igen med 400.
Nu står der Med moms: 4001.25. Plus-blokken fik to tekststumper og klistrede dem sammen i stedet for at regne. Samme fælde som i modul 2.
NaN. Taster brugeren bogstaver i et felt, du læser med
getNumber, står der NaN i resultatet. Det betyder Not a
Number. I modul 4 lærer du at fange det.
Alt det, du kan aflæse i App Lab, kan du også sætte:
getText og setText: teksten i et elementgetNumber og setNumber: tallet i et elementgetProperty og setProperty: farve, størrelse, synlighedDu behøver altså ikke lære dem to og to. Har du styr på get-varianten, giver set-varianten næsten sig selv.
Opgave
navnFelt) og ét til beløb
(beloebFelt). En knap og en label.Du bruger begge get-blokke i samme app: én til tekst og én til tal.
Udfordring
Lav en enhedsomregner: brugeren taster et antal kilometer, og appen viser både miles og meter. To udregninger, to labels, én knap.
Byggeklods: tag den med videre