-
[quote=Fuerchau;75268]
Teste mal mit "12M" statt "ROM".
OK hast mich überzeugt
-
Zitat von Fuerchau
Es geht aber auch noch so:
if %len(%trim(%xlate('1234567890':' ':MyTest))) > *zero;
// Nicht numerisch
endif;
Würde aber auch bei dem String '1 23 45 67' *Zeros zurückbringen und damit könnte auch eine der Funktionen %DEC, %DECH, %INT oder %INTH verwendet werden, die konvertieren einen solchen String problemlos in 1234567.
Birgitta
-
Wie wärs dann mit:
if %len(%trim(%xlate(' 1234567890':'X ':MyTest))) > *zero;
-
Also, ich habe das Problem, dass mir
len = %check('0045958':'0123456789');
eine 2 zurück liefert!
Ich arbeite beim Kunden mit 7.1.
Kann mir das jemand erklären?
Ich weiß hier gibt es einen Stau! Aber die Updates auf 7.3 und dann folglich 7.5 werden grade besprochen, dauert aber noch.
-
Soll das 0 liefern wenn das Feld MyTest nur nummerische werte beinhaltet? Oder soll es die Läge von MyTest wiedergeben?
len = %len(%trim(%xlate('0123456789':'X':'0045958')));
Liefert bei mir 7!
len = %len(%trim(%xlate('0123456789':' ':'0045958')));
Liefert bei mir 5!
??????
-
Wie immer eine Darstellungssache dieses Forums:
Code:
%len(%trim(%xlate('0123456789':' ':'0045958')));
Die Anzahl der Zeichen von/nach muss identisch sein, also 10 Leerzeichen statt einem.
Aber wie Birgitta schon schrieb:
%dec(Var:n:m) kommt mit Leer- und Vorzeichen zurecht.
Bei nicht numerisch gibts eine Exception, folglich:
Code:
monitor;
mydec = %dec(...);
on-error *all;
// nicht numerisch
endmon;
Das Ganze kann man sich auch in eine Funktion packen.
-
Bei IBM sind hier %CHECK und %XLATE und weitere beschrieben.
-
Danke,
wie weit ich damit gehen kann weiß ich noch nicht. Der Kunde arbeitet noch mit I- und O-Karten, auch beim Display! Aber ich werde das mal so einbauen. Auf partielles FreeRPG bin ich ja schon gegangen.
-
Zitat von Lucky662
Danke,
wie weit ich damit gehen kann weiß ich noch nicht. Der Kunde arbeitet noch mit I- und O-Karten, auch beim Display! Aber ich werde das mal so einbauen. Auf partielles FreeRPG bin ich ja schon gegangen.
nach 55 Jahren RPG-Erfahrung hat sich gezeigt, egal RPG400 ILE/Free/VARPG, dass die sicherste und am einfachsten durchschaubare Methode sich bis heute bewährt hat:
- übertrage(MOVEA) dein alpha-Feld in eine Feldgruppe mit Elementlänge 1(ARR)
- definiere eine Ziffernkonstante '0123456789' (ZIFFER)
- definiere eine DO-Schleife mit Index (X)
- prüfe ARR,X SCAN ZIFFER Bezugszahl auf GLEICH
- weiteren Prüfungen und Logiken sind keine Grenzen gesetzt.
- ENDDO
-
Genau, warum einfach wenn es auch kompliziert geht;-).
-
es freut mich diese sachliche Antwort, frei vom Emotionen. Das Risiko einer roten Karte scheint gebannt zu sein. Vielleicht eine zusätzliche Grüne, wäre ein nettes Farbenspiel.
-
Ich hätte da jetzt eher einen Hinweis auf ChatGPT erwartet...
Similar Threads
-
By marmart in forum IBM i Hauptforum
Antworten: 5
Letzter Beitrag: 25-09-07, 15:29
-
By pwrdwnsys in forum IBM i Hauptforum
Antworten: 2
Letzter Beitrag: 07-11-06, 15:34
-
By TARASIK in forum IBM i Hauptforum
Antworten: 1
Letzter Beitrag: 26-10-06, 11:07
-
By zannaleer in forum NEWSboard Drucker
Antworten: 6
Letzter Beitrag: 13-09-06, 10:35
-
By Sulla in forum NEWSboard Programmierung
Antworten: 4
Letzter Beitrag: 29-12-05, 10:41
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