-
[RPGLE] Textfeld sinnvoll trennen
Hallo,
ich habe versucht zu dem Thema etwas zu finden, war aber erfolglos, deshalb stelle ich hier einmal meine Frage:
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.
Dieses Lösung hätte ich gerne in RPGLE
Danke für die Hilfe im Voraus
Panther
-
cntfld und wrdwrp
Schlüsselwort CNTFLD(50) macht den Zeilenumbruch, --> Anzeige 5 Zeilen a 51 Byte
Schlüsselwort WRDWRAP sorgt für den Wortumbruch. (immer wenn in die 51 was geschrieben wird)
Leider werden beide Schlüsselwörter nicht in allen Emulationen sauber unterstützt (Erweiterter 5250 Datenstrom)
Vor dem Feld, das mit CNTFLD versehen wird, müssen 2 Byte leer sein.
Robi
Last edited by Robi; 11-01-13 at 09:09.
Grund: mehr infos
Das Notwendige steht über dem technisch machbaren.
(klingt komisch, funktioniert aber!)
-
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
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