PDA

View Full Version : PRTF SKIPB(xx)



harkne
23-06-10, 12:36
Ich weiss dass die Zahl beim SKIPB oder SKIPA nicht variable sein kann im DDS. Gibts da irgendeine Möglichkeit den Zeilenvorschub nach dem Seitenvorschub variabel zu machen ohne dass ich eine Leerzeile x-mal drucke ?

Fuerchau
23-06-10, 12:51
Kurz gesagt: Nö.
Die Programme, die ich kenne, geben immer n-mal Leerzeilen aus.

harkne
23-06-10, 13:33
Dachte ich mir schon.

Danke für die Hilfe

ExAzubi
24-06-10, 07:03
Unschön aber es geht vielleicht auch so.

DDS

R SKIBR
SKIB(1)

R SPACBR
1' '

RPG
WRITE SKIBR
1 Do ANZA
WRITE SPACBR
ENDDO

kuempi von stein
24-06-10, 08:11
Man kann den SKIPB in einer Printerfile von Bezugszahlen abhängig machen.

Nicht wirklich elegant, aber durchaus Praxis.

K.

harkne
24-06-10, 10:24
Danke für die Antworten.
Das mit den Bezugszahlen haben wir auch mal ganz ganz kurz in Erwägung gezogen. Aber wenn ich dann einen SKIPB(1) bis SKIPB(10) unter Bezugszahl lege wette ich das morgen der SKIPB(11) benötigt wird.
Deshalb bleiben wir auch bei den Leerzeilen.

cbe
25-06-10, 08:49
mit 6 Bezugszahlen kommst Du aus, wenn Dir max 63 Leerzeilen reichen:


A N46N45N44
AAN43N42 41 SKIPB(01)
A N46N45N44
AAN43 42N41 SKIPB(02)
* ...
A 46 45 44
AA 43 42 41 SKIPB(63)


C MOVEA'001010' *IN,41 10 Zeilen Vorschub
C WRITEOUT


(habs aber nicht ausprobiert)

Ich würde trotzdem die Schleife vorziehen

Gruß, Christian

Fuerchau
25-06-10, 08:54
Es ist hier kein Performancenachteil zu sehen, wenn man zig Leerzeilen ausgibt.
Es passiert eh alles im Speicher.
Ausserdem ist man hier dynamischer.

Robi
28-06-10, 14:51
oder so

FMOOL06P1 O F 250 PRINTER PRTCTL(##CTR1) INFDS(##DSP1) USROPN


D ##CTR1 DS DS FÜR INFDS
D ##SPBF 1 3 INZ ZEILEN DAVOR FREILAS
D ##SPAF 4 6 INZ ZEILEN DANACH FREILA
D ##SKBF 7 9 INZ GEHT ZUR ZEILE BEVOR
D ##SKAF 10 12 INZ GEHT ZUR ZEILE NACH
D ##CURLN 13 15 0 INZ

D ##DSP1 DS 400 PRINTER INF DS
D ##OLN1 188 189B 0 OVR BEI
D ##PLN1 367 368B 0 ZEILE IST
D ##PAG1 369 372B 0 SEITE IST



C EVAL ##SPAF = '001'


Gruß
Robi

Fuerchau
28-06-10, 15:26
PRTCTL ist da auch sehr eingeschränkt und unterstützt halt nur SPACEA/SPACEB/SKIPA/SKIPB. Dies zwar dynamisch, aber auch nicht einfacher in der Programmierung wie eine kleine DO-Schliefe.