-
Hallo Robi,
danke für Deine Antwort.
Was ich aber meinte ist folgendes:
Ich kann im Programm, intern, eine Datenstruktur mit den 5 Textfeldern hinterlegen.
Hier wird dann aber gnadenlos getrennt, der Text wird abgeschnitten.
Das möchte ich aber so nicht.
-
Entweder hab ich dich noch nicht verstanden oder du hast meine Lösung noch nicht ausprobiert.
1 Textfeld 250 Byte,
Anzeige: 5 Zeilen a 51 Byte,
Eingabe: geschriebenes Wort geht bis 51, 101, 151, 201
Ausgabe (auch am BS) Wort in neuer Zeile
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Oder hast du gar keinen Bildschirm?
dann mußt du, wenn %substr(textfeld250: 51:1 <> ' ')
bei dem Blank davor trennen.
Das mußt du programmieren
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Keine Ausgabe im BS, sondern nur eine interne Lösung in einem Programm ist gemeint.
Panther
-
Hilft Dir vielleicht der folgende Link weiter:
Wrapping Free Form Text
Birgitta
-
Hallo B.Hauser,
danke für die Antwort. Leider hat mir das nicht weitergeholfen.
Robi hat schon richtig geantwortet:
Oder hast du gar keinen Bildschirm?
dann mußt du, wenn %substr(textfeld250: 51:1 <> ' ')
bei dem Blank davor trennen.
Das mußt du programmieren
Robi
Allerdings frage ich mich, wie ich das mit den 5 Textfeldern lösen soll.
Panther
-
Schätze wir beide werden uns heute nicht mehr einig ! 
Der link von Birgitta ist doch super.
Damit geht das, (was ich glaube das du willst)
Robi
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
Hallo Panther,
hast du dir den Sourcecode des WrapText-Programms (Link von Birgitta) mal angesehen? Vielleicht ist dir unklar, wie man das Programm verwenden kann. Aus meiner Sicht ist das nach folgendem Prinzip möglich:
Also, du hast 1 großes Textfeld mit 250 Zeichen Länge:
D text S 250A
Als Ergebnis möchtest du den Text in 5 Textfelder von z.B. 78 Zeichen Länge haben, richtig?
D text1 S 78A
D text2 S 78A
D text3 S 78A
D text4 S 78A
D text5 S 78A
Dann musst du dir nur ein großes Ergebnistextfeld definieren (So groß wie alle gewünschten Ergebnistextfelder zusammen (also 5 mal 78):
tempText S 390A
Dann rufst du die WrapText Procedure auf:
tempText = WrapText(text:78);
Jetzt musst du nur noch dein temporäres Ergebnis in deine 5 gewünschten Felder übertragen:
text1 = %subst(tempText:1:78);
text2 = %subst(tempText:79:78);
text3 = %subst(tempText:157:78);
text4 = %subst(tempText:235:78);
text5 = %subst(tempText:313:78);
Fertig!
Die andere im Link beschriebene Möglichkeit, die Procedure WrapText für eine UDTF zu nutzen, geht natürlich auch. Aber so müsste es rein im RPG funktionieren, denke ich.
Gruß,
Dieter
-
Wenn man sich eine Datenstruktur mit den 5 (oder wieviel auch immer) Text-Feldern als Unterfelder (mit fixer Länge definiert), braucht man noch nicht einmal einen %SUBST!
Birgitta
-
Hallo dschroeder,
vielen Dank für die Antwort.
Das ist fast genau das, was ich benötige. 
Mir fehlt hier aber etwas wichtiges; ich Zitiere mich einmal :
Ich habe ein Textfeld von 250 Zeichen. Dieses möchte ich sinnvoll, also leserlich in 5 Textfelder aufteilen.
Mit Sinnvoll meine ich das Wörter nicht getrennt ( abgehackt ) werden.
Panther
-
Code:
D $Von S 10I 0
D $Bis S 10I 0
D $String S 250A
D $I S 10I 0
D $Fld S 50A DIM(5) INZ
/Free
$String =
'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, +
sed diam nonummy nibh euismod tincidunt ut laoreet dolore +
magna aliquam erat volutpat. Ut wisi enim ad minim veniam, +
quis nostrud exerci tation ullamcorper suscipit ex.';
$I = 0;
DoW $String <> *Blanks;
$Von = 1;
$Bis = 51;
DoW %Subst($String:$Bis:1) <> *Blank;
$Bis -= 1;
EndDo;
$I += 1;
$Fld($I) = %Subst($String:$Von:$Bis-$Von);
$String = %Trim(%Subst($String:$Bis));
EndDo;
*InLr = *On;
/End-Free
...fehlt nur noch ein Monitor drumrum, falls mal keine Blanks zu finden sind
-
 Zitat von RobertMack
[CODE]
/Free
$String =
'Lorem ipsum dolor sit amet, consectetuer adipiscing elit, +
sed diam nonummy nibh euismod tincidunt ut laoreet dolore +
magna aliquam erat volutpat. Ut wisi enim ad minim veniam, +
quis nostrud exerci tation ullamcorper suscipit ex.';
Der Römer als solches würde jetzt nur Bahnhof verstehen.
Interessant was es alles so gibt.
GG
Similar Threads
-
By USDAVIS in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 19-01-12, 14:03
-
By cicero22 in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 14-10-05, 06:24
-
By c_kinkel in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 15-07-05, 09:16
-
By sim in forum NEWSboard Programmierung
Antworten: 2
Letzter Beitrag: 30-08-04, 07:30
-
By JoergHamacher in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 24-08-04, 12:21
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