Stap 5: De FormFunction]
Nu gebruiken we voor de gebruiker om invoer van de waarden, de [FormFunction]. Laten we breken deze coderegel.
Het eerste deel "fo" duidt het formulierobject die wij eerder had vastgesteld.
Het tweede deel bevat de DatabinAdd-functie waarin de gegevens die moet worden toegevoegd aan onze Databin, "efficiëntie". We hebben gebruikt "#" dat wil zeggen een sleuf vlak voor de variabelen die zijn gedefinieerd in het formulierobject evenals de Databin. Dit vertelt het programma dat de code naar dezelfde variabele in het programma verwijst.
Na dat, rasteren [], worden stijl [] functies met FontSize en FontFamily gebruikt om de stijl van de output te wijzigen. "PNG" betekent dat de uiteindelijke uitvoer zal een afbeelding in de PNG-indeling.
Tot slot hebben we het laatste deel, waarin het thema van het formulier met behulp van FormTheme. Meer opties voor FormTheme kunnen worden gevonden hier - http://reference.wolfram.com/language/ref/FormThe....
Houd er rekening mee dat hebben wij dit alles in onze gedefinieerde functie, "formFunc" met vertraagde evaluatie (met behulp van :=) zodat de code voor de laatste regel gemakkelijker zullen te begrijpen. Vanwege de vertraagde evaluatie, deze lijn van code zal niet hebben van een uitgang.
Code:
formFunc: = FormFunction [fo, (DatabinAdd [efficiëntie, < | " Thermostaat"-> #thermostat,"isolatie"-> #insulation,"verlichting"-> #lighting,"energyStar"-> #energyStar,"koelkast"-> #fridge,"draftyWindows"-> #draftyWindows,"beluchters"-> #aerators,"lowFlow"-> #lowFlow,"schaduw"-> #shade,"insDucts"-> #insDucts| >]; Rasteren [Style ["dank u voor het indienen van uw efficiëntie ratings! Uw \ energie-efficiëntie-score is: "<> TextString [totaal [waarden [efficiëntie]] [[-1]]], FontSize -> 20, FontFamily ->"Aparajita"]]) &,"PNG", FormTheme ->"Blue"]