Seite 1 von 1

If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 14:14
von dinemuatta
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 :)

Re: If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 14:19
von Sirius3
@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:".

Re: If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 14:23
von dinemuatta
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

Re: If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 14:42
von Kebap
dinemuatta hat geschrieben: Problem eben ich bin ein totaler Kacknoob was Python angeht.
Somit wie genau müsste ich "if not var186:" jetzt benutzen?
So ungefähr? :K

Code: Alles auswählen

if var186:
    print var13
Sei ein guter Kacknoob und lies ein Tutorial.

Re: If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 14:43
von dinemuatta
So bis jetzt habe ich:

Code: Alles auswählen

menge1 = GetVarAsString (186)
preis1 = GetVarAsString (13)

if menge1 == 0:
   SaveString preis1 = (" ")
elif menge1 > 0:
   SaveString preis1
Jedoch spuckt er mir diesen Fehler aus:

Code: Alles auswählen

Fehler in Skript 'Preis1', Zeile 5:
    SaveString preis1 = (" ")
                    ^
SyntaxError: invalid syntax
Er mag glaube ich das Leerzeichen nicht?

Re: If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 14:45
von Kebap
Schau mal, wie SaveString wirklich bedient werden muss. Syntax raten geht selten gut.

Re: If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 14:50
von dinemuatta
besser so? :)

Code: Alles auswählen

menge1 = GetVarAsString (186)
preis1 = GetVarAsString (13)

if menge1 == 0:
   print preis1 (" ")
elif menge1 > 0:
   print preis1
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 ^^

Re: If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 14:58
von BlackJack
@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.

Re: If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 15:51
von dinemuatta
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)

Code: Alles auswählen

menge1 = GetVarAsFloat (186)
preis1 = GetVarAsFloat (210)

if menge1 < 1:
   print " "
elif menge1 > 0:
   print preis1

Re: If var is empty, stay empty

Verfasst: Freitag 9. Oktober 2015, 22:57
von Sr4l
Ohne Doku oder Beispiel Skripte wird dir da keiner helfen können.

Re: If var is empty, stay empty

Verfasst: Montag 12. Oktober 2015, 08:39
von dinemuatta
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

Code: Alles auswählen

menge1 = GetVarAsFloat (186)
preis1 = GetVarAsFloat (210)

if menge1 > 0:
   SaveResult(preis1)
else:
   SaveResult (" ")