-
Hier ein RPG-Quelltext mit Prozedur nach deinem Beispiel:
Code:
*---------------------------------------------------------------*
* Main *
*---------------------------------------------------------------*
d iZahl1 s 9s 0 inz(5)
d erhoehe pr
D iZahl2 9s 0
/free
Erhoehe(iZahl1);
*inlr = *on;
/end-free
*---------------------------------------------------------------*
* Prozedur *
*---------------------------------------------------------------*
P Erhoehe B
D Erhoehe PI
D iZahl2 9s 0
d prompt s 51a inz('')
d result s 1a inz('')
/free
prompt = 'iZahl1 + 5 = ' + %char(iZahl2+5);
dsply prompt '' result;
/end-free
P Erhoehe E
-
 Zitat von woki
Hier ein RPG-Quelltext mit Prozedur nach deinem Beispiel:
Code:
*---------------------------------------------------------------*
* Main *
*---------------------------------------------------------------*
d iZahl1 s 9s 0 inz(5)
d erhoehe pr
D iZahl2 9s 0
/free
Erhoehe(iZahl1);
*inlr = *on;
/end-free
*---------------------------------------------------------------*
* Prozedur *
*---------------------------------------------------------------*
P Erhoehe B
D Erhoehe PI
D iZahl2 9s 0
d prompt s 51a inz('')
d result s 1a inz('')
/free
prompt = 'iZahl1 + 5 = ' + %char(iZahl2+5);
dsply prompt '' result;
/end-free
P Erhoehe E
Wow.. zunächst mal Danke an euch beide!
eigentlich ist es jetzt fast so als ob mir jemand etwas auf Chinesisch erzählt.
Ich nehme mal dein Beispiel her Woki:
- das "d iZahl s 9s 0 inz" initialisiert eine Zahl in der Länge 9 mit dem Wert 5?
- was ist "d erhoehe pr" ? Ein Pointer?
- für was ist dieser /free Teil? was bewirkt *inlnr=*on
/free
Erhoehe(iZahl1); *inlr = *on;
/end-free
Dann hier im Prozedur-Teil
- Was macht "P Erhoehe B", "D Erhoehe PI"
Bewirkt dsply prompt '' result; Die Anzeige in einer einfachen Ausgabezeile, d.h. man könnte dieses PGM auch ohne DSPF anwenden?
und ganz am Ende steht noch "P Erhoehe E" - ist das dann der Dekonstruktor???
Bin völlig baff was ihr mir gepostet habt ...
Sry für die vielen Fragen, aber das war vor meiner Zeit
-
Dazu würde ich dir das ILERPG Programmierhandbuch empfehlen.
Wenn du mit ILERPG arbeitest, musst du dich von der C++/C#-Denke komplett verabschieden.
Es gibt keine Konstruktoren/Destruktoren und schon gar keine Klassen.
/free u. /end-free leiten das freie Format ein und beenden das spaltenorientierte Format.
P-Zeilen (mit B und E) umschreiben den Body der Prozedur.
D xxx PR beschreibt den Prototyp (Aufrufkonvention) der Prozedur für den (impliziten) CALLP.
D xxx PI beschreibt den Funktionsaufruf der Prozedur analog "int MyFunc(int parm)".
-
Hier geht's zur ILE RPG Referenz von IBM für V5R1.
-
ein paar Ergänzungen:
- gedacht ist das ganze in Lochkarten
in Spalte 6 steht die Kartenart
ab Spalte 72 ist rechter Rand
D Lochkarten sind Deklarationen, die dann Unterarten haben können, das steht aber dann weiter rechts in Spalte xy, hier gibt es PI und PR und s
PR sind die Prototypen, PI die interfaces, da prüft der Compiler ob es mir gelingt zweimal dasselbe zu deklarieren.
Karten ohne Kartenart oder Kartenart C sind das, was sonst ausführbare Anweisungen sind, wobei der Compiler hier darauf achtet, dass ich die Kartenart nur weglassen darf, wenn ich vor einem solchen Block /free und danach /end-free hinschreibe. (Das geht eigentlich auf eine Wette in Toronto zurück, wo man dies so entworfen hat: gewonnen hat damals der Entwickler, der gesagt hat, dass man einem RPG Programmierer alles zumuten kann, wenn es nur in der Reference steht).
Das dsply ist ein stammelnder Name für display und entspricht einem system.out() in Java - was eine Konsolausgabe meint, wobei die Konsole hier ein Angst-Bildschirm ohne Display File ist.
Am besten lernt man das, indem man mit Lochkarten stanzen anfängt, dann freut man sich anschließend über jede Verbesserung und nach 20 Jahren hält man das dann für die genialste Programmiersprache aller Zeiten.
D*B
Die P Karten entsprechen im wesentlichen der Klammer für die Implementierung einer Procedure.
 Zitat von Fuerchau
Dazu würde ich dir das ILERPG Programmierhandbuch empfehlen.
Wenn du mit ILERPG arbeitest, musst du dich von der C++/C#-Denke komplett verabschieden.
Es gibt keine Konstruktoren/Destruktoren und schon gar keine Klassen.
/free u. /end-free leiten das freie Format ein und beenden das spaltenorientierte Format.
P-Zeilen (mit B und E) umschreiben den Body der Prozedur.
D xxx PR beschreibt den Prototyp (Aufrufkonvention) der Prozedur für den (impliziten) CALLP.
D xxx PI beschreibt den Funktionsaufruf der Prozedur analog "int MyFunc(int parm)".
-
 Zitat von GutmannHGW
Ich nehme mal dein Beispiel her Woki:
- das "d iZahl s 9s 0 inz" initialisiert eine Zahl in der Länge 9 mit dem Wert 5?
Richtig, 9 Stellen numerisch, davon 0 Dezimalstellen, initialisiert mit dem Wert 5.
 Zitat von GutmannHGW
was bewirkt *inlnr=*on
*inlr = *on bewirkt, daß das Programm beendet wird (last record indicator)
 Zitat von GutmannHGW
Bewirkt dsply prompt '' result; Die Anzeige in einer einfachen Ausgabezeile, d.h. man könnte dieses PGM auch ohne DSPF anwenden?
Genau, das ist eine einfache Programmausgabe ohne DSPF.
 Zitat von GutmannHGW
Bin völlig baff was ihr mir gepostet habt ...
Sry für die vielen Fragen, aber das war vor meiner Zeit 
Habe RPG auch erst vor gut 6 Jahren in meiner Ausbildung kennen gelernt, ich komme eigentlich aus der Basic-Welt. War schon eine riesige Umstellung. Aber nach ein paar Monaten war ich dann doch im Thema. Ich kann nachvollziehen, wie es dir geht. Für mich waren das auch Hieroglyphen aus einer anderen Zeit.
-
Ach noch was, gibt es eine "modernere" (evtl. auch Kostenlose) Entwicklungsumgebung für ILE RPG anstelle des GreenScreens im ClientAccess?
Das wäre dann das WDSC. Das ist eine auf eclipse aufbauende IDE. Einfach mal danach googeln oder hier im Forum suchen. Find ich persönlich aber nicht unbedingt einsteigerfreundlich, aber das muss jeder selber ausprobieren.
Viele Grüße
Plinzen
Similar Threads
-
By homue in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 18-07-07, 17:47
-
By Stoeberl in forum NEWSboard Programmierung
Antworten: 8
Letzter Beitrag: 10-01-07, 11:58
-
By Squall in forum IBM i Hauptforum
Antworten: 82
Letzter Beitrag: 19-10-06, 16:37
-
By Squall in forum IBM i Hauptforum
Antworten: 31
Letzter Beitrag: 28-09-06, 18:53
-
By Angela in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 22-08-06, 11:11
Berechtigungen
- Neue Themen erstellen: Nein
- Themen beantworten: Nein
- You may not post attachments
- You may not edit your posts
-
Foren-Regeln
|
Erweiterte Foren Suche
Google Foren Suche
Forum & Artikel Update eMail
AS/400 / IBM i
Server Expert Gruppen
Unternehmens IT
|
Kategorien online Artikel
- Big Data, Analytics, BI, MIS
- Cloud, Social Media, Devices
- DMS, Archivierung, Druck
- ERP + Add-ons, Business Software
- Hochverfügbarkeit
- Human Resources, Personal
- IBM Announcements
- IT-Karikaturen
- Leitartikel
- Load`n`go
- Messen, Veranstaltungen
- NEWSolutions Dossiers
- Programmierung
- Security
- Software Development + Change Mgmt.
- Solutions & Provider
- Speicher – Storage
- Strategische Berichte
- Systemmanagement
- Tools, Hot-Tips
Auf dem Laufenden bleiben
|
Bookmarks