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 docase 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"endstyled(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 docase 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 docase 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")endstyled(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 docase 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 6 JahrenZuletzt aktiv
- 9Antworten
- 1651Ansichten
