Heyho Hidiho.
Bin IT-Techniker und habe vor knapp nem Monat bei einer neuen Firma angefangen.
Die haben vor paar Monaten ein ERP-Programm gekauft in dem man mit Python kleine Scripts einfügen kann in Druckmustern.
Jetzt hab ich die Variable Stückpreis mit der Nummer 13.
Diese soll leer ausgegeben werden wenn die Variable Menge mit der Nummer 186 leer ist.
Ansonsten soll die Variable 13 ganz normal gedruckt werden.
Das Prob:
Ich war nie so der Coder. Wie gesagt IT-Techniker..
Das müsste also so ca aussehen oder?
if var186=empty
print nothing
else
print var13
Hoffe ihr könnt mir noch helfen
If var is empty, stay empty
@dinemuatta: die Wahrscheinlichkeit, dass jemand bei der Angabe "ein ERP-Programm" spontan weiß, um welches es sich handelt und sich damit auskennt, dürfte wohl sehr gering sein. Das Programm wird zudem wohl eine bestimmte API haben, mit dem man etwas in ein Druckmuster einfügen kann. Leer kann dann auch vieles sein. Solange man nicht zwischen leer und der Zahl 0 unterscheiden muß, geht die Prüfung aber per "if not var186:".
-
- User
- Beiträge: 6
- Registriert: Freitag 9. Oktober 2015, 14:00
Das funktioniert schon mit Angabe von der Variabelnummer. Und ich glaube man kann hier auch mit "0" arbeiten.
Es wurden schon einige Scripts angelegt nur gerade nicht so eines wie ich es brauche.
Problem eben ich bin ein totaler Kacknoob was Python angeht.
Somit wie genau müsste ich "if not var186:" jetzt benutzen?
Danke für die rasche Antwort
Es wurden schon einige Scripts angelegt nur gerade nicht so eines wie ich es brauche.
Problem eben ich bin ein totaler Kacknoob was Python angeht.
Somit wie genau müsste ich "if not var186:" jetzt benutzen?
Danke für die rasche Antwort
So ungefähr? :Kdinemuatta hat geschrieben: Problem eben ich bin ein totaler Kacknoob was Python angeht.
Somit wie genau müsste ich "if not var186:" jetzt benutzen?
Code: Alles auswählen
if var186:
print var13
Zuletzt geändert von Kebap am Freitag 9. Oktober 2015, 14:44, insgesamt 1-mal geändert.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
-
- User
- Beiträge: 6
- Registriert: Freitag 9. Oktober 2015, 14:00
So bis jetzt habe ich:
Jedoch spuckt er mir diesen Fehler aus:
Er mag glaube ich das Leerzeichen nicht?
Code: Alles auswählen
menge1 = GetVarAsString (186)
preis1 = GetVarAsString (13)
if menge1 == 0:
SaveString preis1 = (" ")
elif menge1 > 0:
SaveString preis1
Code: Alles auswählen
Fehler in Skript 'Preis1', Zeile 5:
SaveString preis1 = (" ")
^
SyntaxError: invalid syntax
Schau mal, wie SaveString wirklich bedient werden muss. Syntax raten geht selten gut.
MorgenGrauen: 1 Welt, 8 Rassen, 13 Gilden, >250 Abenteuer, >5000 Waffen & Rüstungen,
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
>7000 NPC, >16000 Räume, >200 freiwillige Programmierer, nur Text, viel Spaß, seit 1992.
-
- User
- Beiträge: 6
- Registriert: Freitag 9. Oktober 2015, 14:00
besser so?
Hier bringt er mir auch keinen Fehler mehr.
Jetzt muss es nur noch im Druck stimmen ansonsten meld ich mich nochmal.
Bzw werd ich sowieso noch öfters wies aussieht ^^
Code: Alles auswählen
menge1 = GetVarAsString (186)
preis1 = GetVarAsString (13)
if menge1 == 0:
print preis1 (" ")
elif menge1 > 0:
print preis1
Jetzt muss es nur noch im Druck stimmen ansonsten meld ich mich nochmal.
Bzw werd ich sowieso noch öfters wies aussieht ^^
@dinemuatta: Nein, besser wäre es wenn Du Python lernen würdest und aufhören würdest zu raten.
Der erste ``if``-Zweig kann nie betreten werden weil eine Zeichenkette niemals gleich einer Zahl ist und beim ``elif`` ist es mehr oder weniger Zufall ob die Bedingung wahr ist weil dieser Vergleich einer Zeichenkette mit einer Zahl zwar während eines Programmlaufs immer gleich entschieden wird, aber nicht garantiert ist was grösser ist. Also entweder sind grundsätzlich alle Zeichenketten grösser als alle Zahlen, oder umgekehrt.
Der erste ``if``-Zweig kann nie betreten werden weil eine Zeichenkette niemals gleich einer Zahl ist und beim ``elif`` ist es mehr oder weniger Zufall ob die Bedingung wahr ist weil dieser Vergleich einer Zeichenkette mit einer Zahl zwar während eines Programmlaufs immer gleich entschieden wird, aber nicht garantiert ist was grösser ist. Also entweder sind grundsätzlich alle Zeichenketten grösser als alle Zahlen, oder umgekehrt.
-
- User
- Beiträge: 6
- Registriert: Freitag 9. Oktober 2015, 14:00
Ja das hab ich auch grade bemerkt und natürlich konnte das nicht funktionieren.
Jetzt müsste doch alles stimmen oder? Zumindest läuft das Script ohne Probleme durch aber leider wird auf dem Ausdruck dann das Script statt der richtigen Ausgabe gedruckt.
(Übrigens die Nummer 13 wurde jetzt durch 210 getauscht)
Jetzt müsste doch alles stimmen oder? Zumindest läuft das Script ohne Probleme durch aber leider wird auf dem Ausdruck dann das Script statt der richtigen Ausgabe gedruckt.
(Übrigens die Nummer 13 wurde jetzt durch 210 getauscht)
Code: Alles auswählen
menge1 = GetVarAsFloat (186)
preis1 = GetVarAsFloat (210)
if menge1 < 1:
print " "
elif menge1 > 0:
print preis1
-
- User
- Beiträge: 6
- Registriert: Freitag 9. Oktober 2015, 14:00
Hat sich erledigt aber danke trotzdem.
Hab mir aus paar anderen Druckmustern die Scripte angesehn und mal eins rauskopiert und angepasst und schwups hat gefunzt.
So siehts jetzt aus
Hab mir aus paar anderen Druckmustern die Scripte angesehn und mal eins rauskopiert und angepasst und schwups hat gefunzt.
So siehts jetzt aus
Code: Alles auswählen
menge1 = GetVarAsFloat (186)
preis1 = GetVarAsFloat (210)
if menge1 > 0:
SaveResult(preis1)
else:
SaveResult (" ")