-
aus einem String Werte ziehen die durch *BLANKS getrennt sind
Hallo,
hab mich total verrannt, brauche dringend eure Hilfe.
Habe einen String TEXT50 = 50 A , der sich ständig ändert.
z.B.
'CON 12/05 01/06 04/06 07/06'
'CON 11/05 01/06 04/06 08/06'
Möchte hierraus jetzt die Werte 12/05 usw. ziehen, die
nicht immer an der gleichen Stelle stehen.
Hat da jemand einen eleganten Lösungsvorschlag in RPGLE ??
Danke
falke34
-
lösung
Zitat von falke34
Hallo,
hab mich total verrannt, brauche dringend eure Hilfe.
Habe einen String TEXT50 = 50 A , der sich ständig ändert.
z.B.
'CON 12/05 01/06 04/06 07/06'
'CON 11/05 01/06 04/06 08/06'
Möchte hierraus jetzt die Werte 12/05 usw. ziehen, die
nicht immer an der gleichen Stelle stehen.
Hat da jemand einen eleganten Lösungsvorschlag ??
Danke
falke34
hello,
in CLP
RPG
ILE-RPG
or what?
k.
und nachsatz:
wenn sich die pos. ändert, ändert sich die pos von CON?
nachsatz2:
wenn CON sich ändert, kommt CON aber immer vor und DANACH sind die positionen immer da?
-
Zitat von kuempi von stein
hello,
in CLP
RPG
ILE-RPG
or what?
k.
und nachsatz:
wenn sich die pos. ändert, ändert sich die pos von CON?
nachsatz2:
wenn CON sich ändert, kommt CON aber immer vor und DANACH sind die positionen immer da?
In ILE-RPG
CON steht am Anfang des String, daran erkenne ich das ich daraus die Werte ziehen muss !
MfG
Falke34
-
Hier hilft nur programmieren !
Die Funktion %scan liefert das gefundene Zeichen, die Funtion %check die Position des ersten ungleichen zeichens.
Als C-Funktionen gibt es da "char* strtok(char* Start, char* TZ)", die einem einiges abnimmt.
-
Zitat von falke34
In ILE-RPG
CON steht am Anfang des String, daran erkenne ich das ich daraus die Werte ziehen muss !
MfG
Falke34
also wenn die ersten gewünschten Daten immer an Pos.5 starten ist es ja noch leichter...
hier mal so grob wie man es ungefähr machen könnte...
gibt tausend andere/bessere Lösungen..
und Achtung, ist nur ne Grobvorlage, kein Anspruch auf Korrektheit.
* Beispiel 'BLABLACON 12/05 01/06 04/06 07/06'
C 'CON' scan strin:1 po 5 0
* liefert (Start)Position von CON [=7?)
C add 4 po
* addiert 4 drauf (=Startposition 11?)
C eval cdatum=%triml(%subst(strin:po:5))
* ergibt "12/05" ?? usw.usw
k.
-
Ich hab hier noch ne selbstgeschrieben Prozedur rumliegen namens SplitString (ILE-RPG), damit kann man die Tokens aus einem String easy extrahieren. Wenn Interesse besteht, kann ich den Quelltext zusenden.
-
Danke für die Hilfe,
falke34
-
Zitat von NEich
Ich hab hier noch ne selbstgeschrieben Prozedur rumliegen namens SplitString (ILE-RPG), damit kann man die Tokens aus einem String easy extrahieren. Wenn Interesse besteht, kann ich den Quelltext zusenden.
Wäre nett und vielen Dank für die Hilfe
falke34
Similar Threads
-
By e_sichert in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 07-11-06, 15:25
-
By edig in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 07-07-06, 10:51
-
By codierknecht in forum NEWSboard Programmierung
Antworten: 5
Letzter Beitrag: 03-07-06, 15:25
-
By holly in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 16-05-06, 12:45
-
By cheffe1008 in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 16-05-06, 07:45
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