Anmelden

View Full Version : *Zeros bzw. 0



FNeurieser
02-12-11, 08:49
Hallo,

ich hätte da eine Frage die zwar manchen vielleicht dumm vorkommt, aber ich bräuchte wirklich eine Antwort darauf:

Besteht ein Unterschied, wenn ich ein numerisches Feld auf 0 bzw. *Zeros prüfe?

Also: When FELD1 <> 0 oder
When FELD1 <> *Zeros

Danke für die Infos schon vorab

Fuerchau
02-12-11, 09:22
*zero/*zeroes ist eine sog. figurative Konstante und wird vom Compiler mit "0" ersetzt.
*zero verwendet ich nur wegen der besseren Lesbarkeit und zur Unterscheidung von "O", was der Compiler sowieso anmeckern würde :).

holgerscherer
02-12-11, 09:32
... zur Unterscheidung von "O", was der Compiler sowieso anmeckern würde :).


Ausser, man definiert eine Konstante O mit dem Wert 0 - solche Scherze habe ich auch schon erlebt... Passend dazu die Konstante I. Wer sowas macht, denkt nicht an Brillenträger ;-)

-h

BenderD
02-12-11, 09:41
Ausser, man definiert eine Konstante O mit dem Wert 0 - solche Scherze habe ich auch schon erlebt... Passend dazu die Konstante I. Wer sowas macht, denkt nicht an Brillenträger ;-)

-h

Wollen Sie die Festplatte wirklich formatieren? (j) jetzt nicht, (n) na klar!

D*B

holgerscherer
02-12-11, 09:47
Wollen Sie die Festplatte wirklich formatieren? (j) jetzt nicht, (n) na klar!
D*B

"Wollen Sie die Platte wirklich nicht formatieren? Ja/Nein" wäre auch gut.

Im Ernst - das mit den Konstanten kam daher, dass der IT-Leiter keine konstanten Zahlenwerte im Code haben wollte, was im Grundprinzip ja nicht soo falsch ist. Auf die Frage, warum O/I und nicht NIXDA und DOCHKLAR oder sowas, kam die Antwort "Speicherplatz sparen". Ich hab dann mal einen Grundkurs gehalten...

Zurück zum Thema - für den OP ist es egal, es ist eine Frage der Lesbarkeit. Man sollte es eben nur nicht übertreiben.

-h

Fuerchau
02-12-11, 10:00
Was den Speicherplatz angeht:

d Null1 c inz(0)
d Null2 c inz(00)
d Null3 c inz(000)
d Null4 c inz(0000.00)

Ist das Vergleichsergebnis eigentlich auch immer gleich, egal welche Konstante ich nehme oder sollte ich je Feldausprägung die passende Null-Konstante definieren :)?

BenderD
02-12-11, 10:01
Im Ernst - das mit den Konstanten kam daher, dass der IT-Leiter keine konstanten Zahlenwerte im Code haben wollte, was im Grundprinzip ja nicht soo falsch ist. -h

... abseits vom Jux: in ordentlichen Programmiersprachen verwendet man Konstanten auch weil sie einen festgelegten Typ haben, was insbesondere bei Zahlen nicht ohne Belang ist. Das dumme in RPG ist halt nur, dass da Konstanten eben keinen Typ haben können, sondern der wie bei Literalen implizit vom Compiler ausgewürfelt wird.

D*B

FNeurieser
02-12-11, 10:11
OK,

danke für die Beantwortung meiner Frage an alle.

Pikachu
02-12-11, 11:59
Defining Data and Prototypes (http://publib.boulder.ibm.com/iseries/v5r2/ic2924/books/c092508413.htm#HDRSPFIG)