PDA

View Full Version : Alternative für MoveA im Frei-Format



Seiten : 1 [2]

Fuerchau
07-02-08, 16:55
Aber das Free-Format kennt noch ein paar RPG-Gemeinheiten weniger:

E MYARR 100 7p 0

Z-ADD 1 MYARR <= füllt alles mit 1
ADD MYVAR MYARR <= Addiert 1 Variable auf jedes Element
ADD ARR1 ARR2 <= Addiert Element(ARR1) auf Element(ARR2)

usw.
Hier ist dann tatsächlich Schleifenprogrammierung angesagt. Ich gebe allerdings Dieter recht, dass die Schleife eben aussagt was getan wird, der ADD aber leider nicht, da der Variablenname selten als Array erkennbar ist.

B.Hauser
07-02-08, 19:34
Aber das Free-Format kennt noch ein paar RPG-Gemeinheiten weniger:

E MYARR 100 7p 0

Z-ADD 1 MYARR <= füllt alles mit 1
ADD MYVAR MYARR <= Addiert 1 Variable auf jedes Element
ADD ARR1 ARR2 <= Addiert Element(ARR1) auf Element(ARR2)

usw.
Hier ist dann tatsächlich Schleifenprogrammierung angesagt. Ich gebe allerdings Dieter recht, dass die Schleife eben aussagt was getan wird, der ADD aber leider nicht, da der Variablenname selten als Array erkennbar ist.

Wer behaupted denn so was?!



/Free
//Initialisierung aller Elemente der Felgruppe Array mit 1
Array = 1;
//Erhöhung aller Elemente der Feldgruppe Array um 1
Array += 1;
//Addiert zu jedem Element der Feldgruppe Array
//das passende Element in Feldgruppe Array2
Array1 = Array1 + Array2;
/End-Free


Und dann gibt es (seit V5R3) auch noch die Built-In-Funktion %SubArr() mit der man gezielt Elemente in einer Feldgruppe bearbeiten kann. z.B.:


/Free
//Element 1-5 der Feldgruppe Array wird mit 1 gefüllt
%SubArr(Array: 1: 5) = 1;

//Element 6-8 der Feldgruppe Array wird mit 2 gefüllt
%SubArr(Array: 6: 3) = 2;

//Alle Elemente ab Element 9 werden mit *HiVal gefüllt
%SubArr(Array: 9) = *Hival;

//die Elemente 5-11 werden sortiert
SortA %SubArr(Array: 5: 7);

//Die Elemente 1-5 der Feldgruppe Array wird mit dem
//Inhalt der Elemente 4-8 der Feldgruppe Array2 gefüllt
%SubArr(Array: 1: 5) += %SubArr(Array2: 4: 5);

/End-Free


Birgitta

Fuerchau
07-02-08, 22:58
Du solltest dann mal langsam eine neue Version Free-Format-RPG auf den Markt schmeißen.
Ich habe immer noch die, wo es %subarr noch nicht gab und SortA für Free nicht zugelassen war.

Ausserdem muss man manchmal immer noch mit V5R1 oder sogar V4R3 arbeiten.
Da fällt es einem schwer, alle Neuerungen mitzubekommen.

Aber vielen Dank, ich werden mir dann doch mal die neuesten PDF's für V5R4 ziehen.
Leider gibts manche immer noch nur für V4R3.

B.Hauser
08-02-08, 06:07
... auch andere müssen runtercompilieren und sich ärgern dass gewisse Dinge noch nicht eingesetzt werden können.
So ist das nunmal wenn man an einem Software-Paket arbeitet oder Individual-Programmierung macht.

Teilweise habe ich in meinen Programmen auch 2 Versionen von dem gleichen Source-Code, die abhängig vom Ziel-Release aktiviert werden.



/If Defined (*V5R4M0)
//Code für V5R4 oder höher
/Else
//Code für Releases vor V5R4
/EndIf


Irgendwann wird dann der nicht mehr benötigte Source Code entfernt. Diese Compiler Direktiven gibt es übrigens auch schon seit V5R1, also seit Einführung von Free-Format.

... übrigens ich habe in der V5R1-RPG-Referenz nachgeschaut. SORTA ging schon immer in RPG-Free-Format.
Auch das übliche Feldgruppen-Handling (ohne Schleifen) ist seit Einführung von RPG-Free-Format unverändert.

Birgitta