I have a problem with showing my results correctly in a Manipulate in a cdf-file.
My program (for my bachelor thesis) can calculate the income law with a income entered into an input field; the use can also define some other parameters.
When I start this program (klicking on "Berechnen") in a notebook file, all results are shown correctly in the output. However, when I start the program as a demonstration, I only see the code of the "Einkommensteuer" and not the number.
Here is my code:
Manipulate[
Text@TraditionalForm@
Pane[Text[Column[{"Einkommensteuer:", "", Style[Row[{Which[
j == "2013" \[And] p == "alleinstehend",
Floor[Ekst13[a, hilfsy13[a]]],
j == "2013" \[And] p == "verheiratet",
Floor[2*Ekst13[a/2, hilfsy13[a/2]]],
j == "2014" \[And] p == "alleinstehend",
Floor[Ekst[a, hilfsy[a]]],
j == "2014" \[And] p == "verheiratet",
Floor[2*Ekst[a/2, hilfsy[a/2]]]], "\[Euro]"}],
FontColor -> farbe], "", "Solidaritätszuschlag:", "",
Style[Row[{Dynamic[Which[
j == "2013" \[And] p == "alleinstehend",
Soli[Floor[Ekst13[a, hilfsy13[a]]], p],
j == "2013" \[And] p == "verheiratet",
Soli[Floor[2*Ekst13[a/2, hilfsy13[a/2]]], p],
j == "2014" \[And] p == "alleinstehend",
Soli[Floor[Ekst[a, hilfsy[a]]], p],
j == "2014" \[And] p == "verheiratet",
Soli[Floor[2*Ekst[a/2, hilfsy[a/2]]], p]]], " \[Euro]"}],
FontColor -> farbe], "", "Kirchensteuer:", "",
Style[Row[{Dynamic[Which[
j == "2013" \[And] p == "alleinstehend",
Kst[Floor[Ekst13[a, hilfsy13[a]]], k],
j == "2013" \[And] p == "verheiratet",
Kst[Floor[2*Ekst13[a/2, hilfsy13[a/2]]], k],
j == "2014" \[And] p == "alleinstehend",
Kst[Floor[Ekst[a, hilfsy[a]]], k],
j == "2014" \[And] p == "verheiratet",
Kst[Floor[2*Ekst[a/2, hilfsy[a/2]]], k]]], " \[Euro]"}],
FontColor -> farbe], "", "Nettoeinkommen:", "",
Style[Row[{Which[
j == "2013" \[And] p == "alleinstehend",
a - Floor[Ekst13[a, hilfsy13[a]]] -
Soli[Floor[Ekst13[a, hilfsy13[a]]], p] -
Kst[Floor[Ekst13[a, hilfsy13[a]]], k],
j == "2013" \[And] p == "verheiratet",
a - Floor[2*Ekst13[a/2, hilfsy13[a/2]]] -
Soli[Floor[2*Ekst13[a/2, hilfsy13[a/2]]], p] -
Kst[Floor[2*Ekst13[a/2, hilfsy13[a/2]]], k],
j == "2014" \[And] p == "alleinstehend",
a - Floor[Ekst[a, hilfsy[a]]] -
Soli[Floor[Ekst[a, hilfsy[a]]], p] -
Kst[Floor[Ekst[a, hilfsy[a]]], k],
j == "2014" \[And] p == "verheiratet",
a - Floor[2*Ekst[a/2, hilfsy[a/2]]] -
Soli[Floor[2*Ekst[a/2, hilfsy[a/2]]], p] -
Kst[Floor[2*Ekst[a/2, hilfsy[a/2]]], k]], " \[Euro]"}],
FontColor -> farbe]}]], ImageSize -> {200, 300},
ImageMargins -> 10], "Berechnung der Einkommensteuer",
"", {{a, 0, "Zu versteuerndes Einkommen"}, ControlType -> InputField,
ImageSize -> {100, 20}}, {{e, "2013", "Jahr"}, {"2013", "2014"},
ControlType -> PopupMenu}, {{p, "alleinstehend",
"Persönliche Verhältnisse"}, {"alleinstehend", "verheiratet"},
ControlType -> PopupMenu}, {{farbe, White, ""},
ControlType -> None}, {{k, "0 %", "Kirchensteuer"}, {"0 %", "8 %",
"9 %"}, ControlType -> PopupMenu}, Delimiter,
Row[{Spacer[30],
Row[{Button["Berechnen", {farbe = Black}, ImageSize -> {100, 30}]}],
Spacer[10],
Button[
"Zurücksetzen", {a = 0, e = "2013", p = "alleinstehend",
k = "0 %", farbe = White}, ImageSize -> {100, 30}]}
], ControlPlacement -> Left, ContinuousAction -> True,
Initialization :> (Ekst[a_, b_] :=
Floor[Which[a <= 8354, 0,
a > 8354 \[And] a <= 13469, (974.58*b + 1400)*b,
a >= 13470 \[And] a <= 52881, (228.74*b + 2397)*b + 971,
a >= 52882 \[And] a <= 250730, 0.42*a - 8239, a >= 250731,
0.45*a - 15761]];
hilfsy[a_] :=
Which[Floor[a] >= 8355 \[And]
Floor[a] <= 13469, (Floor[a] - 8354)/10000,
Floor[a] >= 13470 \[And] Floor[a] <= 52881, (Floor[a] - 13469)/
10000];
Ekst13[a_, b_] :=
Floor[Which[a <= 8130, 0,
a > 8131 \[And] a <= 13469, (933.70*b + 1400)*b,
a > 13470 \[And] a <= 52881, (228.74*b + 2397)*b + 1014,
a > 52882 \[And] a <= 250730, 0.42*a - 8196, a > 250731,
0.45*a - 15718]];
hilfsy13[a_] :=
Which[Floor[a] >= 8131 \[And]
Floor[a] <= 13469, (Floor[a] - 8130)/10000,
Floor[a] >= 13470 \[And] Floor[a] <= 52881, (Floor[a] - 13469)/
10000];
Soli[a_, p_] :=
If[a < 972, 0,
Which[p == "alleinstehend", Min[0.2*(a - 972), 0.055*a],
p == "verheiratet", Min[0.2*(a - 1944), 0.055*a]]];
Kst[a_, b_] :=
Which[b == "0 %", 0, b == "8 %", 0.08*a, b == "9 %", 0.09*a];)]
How can I fix this problem?
P.S.: Sorry for my english ;-), not my mother tongue.
Einkommensteuer:
is code. $\endgroup$e
byj
where it appears in your code, and it runs fine. And, the cdf runs fine too, at least in preview mode. $\endgroup$