Text in anderer Hintergrundfarbe
Hallo zusammen ich möchte den Hindergrund jeweils andersfarbig anzeigen und habe das mit - styled(vText, "", "warn") - probiert! imme in der IF Anweisung. Es kommt immer ein leeres Feld heraus?! So zeigt er wenigstens den WErt an :-(
Kann mir jemand helfen?
Gruß
Michael
let vText := "--";
let vWert := SummeAuftragsstatus;
if vWert = 0 then
vText := "Beleg abgeschlossen"
else
if vWert > 9 then
vText := "Abholbereit"
else
if vWert > 999 then
vText := "Werkstatt"
else
if vWert > 99999 then
vText := "am Lager"
else
if vWert > 9999999 then
vText := "Lieferant"
else
if vWert > 999999999 then
vText := "Bestellbereit"
else
if vWert > 99999999999 then
vText := "Warensammlung"
end
end
end
end
end
end
end;
vText
9 Antworten
-
Hallo, grundsätzlich würde ich für eine solche Auswertung statt verschachtelter if-Abfragen eine switch-case-Konstruktion empfehlen. Innerhalb dieser lassen sich der jeweilige Text, die Hintergrundfarbe und (optional) das Icon festlegen. Wobei die Farben hier natürlich nur beispielhaft eingesetzt sind:
let vText := "--";
let vIcon := "warn";
let vWert := SummeAuftragsstatus;
switch vWert >= 0 do
case vWert > 99999999999:
vText := "Warensammlung";
vColor := "Darkred"
case vWert > 999999999:
vText := "Bestellbereit";
vColor := "Red"
case vWert > 9999999:
vText := "Lieferant";
vColor := "Orange"
case vWert > 99999:
vText := "Am Lager";
vColor := "Gold"
case vWert > 999:
vText := "Werkstatt";
vColor := "Yellow"
case vWert > 9:
vText := "Abholbereit";
vColor := "Lightgreen"
default:
vText := "Beleg abgeschlossen";
vColor := "Green"
end
styled(vText, vColor, "", vIcon)
Nicht getestest, deshalb: Nach bestem Wissen und Gewissen, aber ohne Gewähr.
-
oh super! Vielen Dank für deine Mühe. Das werde ich gleich ausprobieren und einfügen!
-
jetzt bekomme ich den Fehler das die Funktion keine Datenänderung durchführen darf?
-
Dann probiere es lieber mit diesem Code (oben fehlen vColor-Definition und Klammern):
let vText := "--";
let vIcon := "warn";
let vColor := "White";
let vWert := SummeAuftragsstatus;
switch vWert >= 0 do
case vWert > 99999999999:
(
vText := "Warensammlung";
vColor := "Darkred"
)
case vWert > 999999999:
(
vText := "Bestellbereit";
vColor := "Red"
)
case vWert > 9999999:
(
vText := "Lieferant";
vColor := "Orange"
)
case vWert > 99999:
(
vText := "Am Lager";
vColor := "Gold"
)
case vWert > 999:
(
vText := "Werkstatt";
vColor := "Yellow"
)
case vWert > 9:
(
vText := "Abholbereit";
vColor := "Lightgreen"
)
default:
(
vText := "Beleg abgeschlossen";
vColor := "Green"
)
end;
styled(vText, vColor, "", vIcon)
Immer noch ohne Gewähr, aber mit größerer Wahrscheinlichkeit des Gelingens. ;)
-
Hat sich überschnitten. Hast du noch weiteren Code in dem Script als den, der da oben abgebildet ist?
-
Habe den um 12:23 Uhr geposteten Code eben noch mal getestet. Auf dem Mac und im Web funktioniert er.
-
Guter Versuch, aber so geht es nicht. Es ist nicht möglich in einen Switch-Case-Konstrukt Größer oder Kleiner abzufragen.
Es sollte also heißen:
–––
let vText := "--";
let vIcon := "warn";
let vWert := round(log(SummeAuftragsstatus))+1;
switch vWert do
case 7:
(vText := "Warensammlung";
vColor := "Darkred")
case 6:
(vText := "Bestellbereit";
vColor := "Red")
case 5:
(vText := "Lieferant";
vColor := "Orange")
case 4:
(vText := "Am Lager";
vColor := "Gold")
case 3:
(vText := "Werkstatt";
vColor := "Yellow")
case 2:
(vText := "Abholbereit";
vColor := "Lightgreen")
default:
(vText := "Beleg abgeschlossen";
vColor := "Green")
end
styled(vText, vColor, "", vIcon)
–––
Birger
-
Du hast fast immer recht, Birger, aber in diesem Fall erlaube ich mir Widerspruch: Doch, das geht. Man muss bei Kleiner-/Größer-Abfragen aber noch mal die Variable nennen. "case > 9:" würde also nicht funktionieren, wohl aber "case VARIABLE > 9:"
Auf diese Weise lassen sich sogar mehrere Bedingungen verknüpfen, z. B.:
switch case VARIABLE > 0 do
case VARIABLE > 9 and VARIABLE < 20: ...
Steht übrigens auch so in der Referenz, die du schon so oft lobend ewähnt hast. ;)
-
jetzt habt ihr euch so ins Zeug gelegt! Vielen Dank ich probiere nochmal
Grüße
Michael
Content aside
- vor 5 JahrenZuletzt aktiv
- 9Antworten
- 1651Ansichten