-
Noch ein Nachtrag:
Zu dem ersten Problem, dass ich aus dem 'A' eine '10' usw machen muss, könnte ich in c++ einfach den Ascii wert überprüfen und von diesen wert 55 abziehen. So käm ich dann bei 'A' z.b. auf die 10.
Hier ein beispiel:
Von i = 1, tue solange i < länge des Strings
{
wenn ( zeichen an position i > 'A' und zeichen an position i < 'Z')
{
//Dann ist es ein zeichen.
einfügeZahl = (dez.Wert)zeichen an position i - 55;
}
sonst
{
einfügeZahl = zeichen an position i
}
}
-
Da die AS/400 in EBCDIC arbeitet, hast du da schlechte Karten. A-Z sind nicht lückenlos aufsteigend.
Ich würde die Werte 0-9 und A-z in eine Tabelle stellen und dann per LOKUP jedes Zeichen in der Tabelle suchen.
Der "Index - 1" ergibt dann den Wert für die Berechnung.
Eine Ersetzung des Originalstrings würde ich nicht vornehmen.
-
ok, ist es mir denn möglich den String wie ein array zu behandeln. Hab eben durch zufall bei Wikipedia das hier gefunden.
/FREE
FOR k = 1 TO %elem(Array);
Array(k) = k;
ENDFOR;
EVAL *INLR = *ON;
/END-FREE
Hatte mich schon gefreut, so wie in C einfach mit () hinter dem feldnamen die einzellnen zeichen ansprechen zu können. Dies mag der compiler aber nicht .
Ich werds jetzt mit SubSt versuchen. Wenn ihr was einfacheres wisst, bitte her damit .
Danke.
-
Hier werden verschiedene Sachen gemischt:
%elem(Array) = Anzahl definierter Elemente eines Arrays.
Um eine Zeichenkette anzusprechen gibts %SUBST(STRING:POS:LÄNGE).
Um ein Zeichen in einem Array zu suchen nutze %LOKUP.
-
Hallo kr1s!
Probier' mal folgendes (ohne Gewähr):
Code:
D STRINGDS DS
D STRING 30A
D BYTE 1A Dim(30) Overlay(STRING)
D WERT 3U 0 Dim(30) Overlay(STRING)
D NUM S 3U 0 Inz
D**********************************************************************
D BYTES C 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
D WERTE C X'0A0B0C0D0E0F101112131415161718-
D 191A1B1C1D1E1F20212223'
D**********************************************************************
C MOVEL 'QWERTZ' STRING
C BYTES:WERTE XLATE STRING STRING
C MOVE WERT(5) NUM
C SETON LR
Gruß
Jürgen
Similar Threads
-
By e_sichert in forum IBM i Hauptforum
Antworten: 4
Letzter Beitrag: 07-11-06, 15:25
-
By Christian.Hesse in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 04-08-06, 10:04
-
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 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