Anmelden

View Full Version : ILE aus Feld rechts Blanks abschneiden und mit move übertragen



kuempi von stein
16-10-06, 10:27
Hello,

ich stehe gerade auf dem Schlauch und suche eine elegante (deshalb in ILE) Lösung um ein FeldA wie zum Beispiel dieses "abc def " in ein FeldB wie zum Beispiel dieses "__________" zu moven.
Als Ergebnis soll dann rauskommen: "___abc def".

Ich kann ja die gefüllte Länge von FeldA mit "eval Len1 = %len(%trimr(FeldA))" ermitteln, aber wie bekomme ich dann den Inhalt rüber? Mit %SUBST hab ich schon rumprobiert und MOVE(P) geht auch nicht.

Da gibts doch bestimmt was elegantes?

kuempi

Joe
16-10-06, 10:34
Hallo.

evalr Feld2 = %Trim(Feld1)

Gruß Joe

kuempi von stein
16-10-06, 10:40
Japp,

so gehts. Den "EVALR" hatte ich noch nicht verinnerlicht.
Einziges Manko ist, dass der Inhalt von "Feld2" in Deinem Beispiel überklatsch wird, aber so reicht es mir auch.

Merci und Thread kann geschlossen werden.

k.

Pikachu
16-10-06, 12:20
Hallo!

Probier's mal hiermit:

D FELDA S 10A INZ('abc def')
D FELDB S 10A INZ(*ALL'_')
D LENB S 5S 0 INZ(%LEN(FELDB))
D LEN S 5S 0 INZ
D************************************************* ****
C ' ' CHECKR FELDA LEN
C SUB LEN LENB
C LENB SUBST(P) FELDB FELDB
C CAT FELDA:0 FELDB

Fuerchau
16-10-06, 12:39
Wenn du den vorherigen Inhalt parziell retten willst, dann gehts auch mit:

eval feld = %subst(feld:1:%size(feld) - %len(%trim(feldb))) + feldb;