-
Einfache CL Schleife
Hallo,
ich würde mir gerne mal eine einfache CL Schleife Programmieren.
Nur weiß ich nicht wi ich meine Variable, bei jedem durchlauf der Schleife um eins erhöhen kann.
Bis jetz habe ich mir das so vorgestellt.
PGM
DCL VAR(&ANFANG) TYPE(*CHAR) LEN(2)
DCL VAR(&ENDE) TYPE(*CHAR) LEN(2)
CHGVAR VAR(&ANFANG) VALUE(1)
CHGVAR VAR(&ENDE) VALUE(3)
SCHLEIFE: IF COND(&ENDE *EQ &ANFANG) THEN(GOTO CMDLBL(ENDE))
SNDMSG MSG(&ANFANG) TOUSR(LI)
SNDMSG MSG(&ENDE) TOUSR(LI)
CHGVAR VAR(&ANFANG) VALUE('++')
Das geht nicht. Ich weiß, aber wie lautet denn sonst die syntax?
GOTO CMDLBL(SCHLEIFE)
ENDE: ENDPGM
Ihr habt doch bestimmt eine Idee?
MFG
Der Techniker
-
 Zitat von Techniker
CHGVAR VAR(&ANFANG) VALUE('++')
Das geht nicht. Ich weiß, aber wie lautet denn sonst die syntax?
Nicht immer von der bekloppten Syntax von C oder Java in die Irre leiten lassen. Wie wärs mit chgvar var(&anfang) value(&anfang + 1) ?
So mal als Forschungshinweis 
-h
-
so etwas habe ich auch schon gedacht aber da kommt dann folgendes raus:
Message . . . . : 700 - SNDMSG MSG('&A') TOUSR(
Message . . . . : 800 - SNDMSG MSG('03') TOUSR
Message . . . . : 700 - SNDMSG MSG('&A') TOUSR
Und er loop dann natürlich.
So sieht das PGM jetzt aus:
PGM
DCL VAR(&ANFANG) TYPE(*CHAR) LEN(2)
DCL VAR(&ENDE) TYPE(*CHAR) LEN(2)
CHGVAR VAR(&ANFANG) VALUE(1)
CHGVAR VAR(&ENDE) VALUE(3)
SCHLEIFE: IF COND(&ENDE *EQ &ANFANG) THEN(GOTO CMDLBL(ENDE))
SNDMSG MSG(&ANFANG) TOUSR(LI)
SNDMSG MSG(&ENDE) TOUSR(LI)
CHGVAR VAR(&ANFANG) VALUE('&ANFANG + 1')
GOTO CMDLBL(SCHLEIFE)
ENDE: ENDPGM
-
Code:
PGM
DCL VAR(&ANFANG) TYPE(*DEC) LEN(2)
DCL VAR(&ENDE) TYPE(*DEC) LEN(2)
CHGVAR VAR(&ANFANG) VALUE(1)
CHGVAR VAR(&ENDE) VALUE(3)
SCHLEIFE: IF COND(&ENDE *EQ &ANFANG) THEN(GOTO CMDLBL(ENDE))
CHGVAR VAR(&ANFANG) VALUE(&ANFANG + 1)
GOTO CMDLBL(SCHLEIFE)
ENDE: ENDPGM
-
Nur noch so zur Ergänzung.
Mittels CHGVAR lassen sich auch komlexere Rechenoperationen durchführen:
CHGVAR &MYVAR VALUE(&MYVAR * 5 + &MXVAR * 3 - 12)
CHGVAR &MYVAR VALUE(&VAR1 *CAT &VAR2 *TCAT %SST(&VAR3 1 3))
usw.usf.
-
Ha,ha,ha,ha...
ich habe die Variable al *char gehabt.
Das geht nicht.
Danke,danke *dec muss es sein.
Super!!!
Similar Threads
-
By Sony in forum IBM i Hauptforum
Antworten: 27
Letzter Beitrag: 20-07-09, 21:48
-
By schatte in forum NEWSboard Programmierung
Antworten: 19
Letzter Beitrag: 10-01-07, 11:32
-
By bo1 in forum IBM i Hauptforum
Antworten: 3
Letzter Beitrag: 23-06-06, 15:00
-
By becama in forum IBM i Hauptforum
Antworten: 6
Letzter Beitrag: 23-06-06, 14:46
-
By Hubert Brethauer in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 19-04-06, 08:04
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