-
Mehrere Bezugszahlen auf *off in Free RPG
Hallo,
im RPG/400 konnte ich mit der Anweisung
movea *all'0' *in(50)
alle Bezugszahlen >=50 mit einer Anweisung auf 0 setzen.
Wie geht so etwas im Freeformat.
DANKE und Gruß
-
Leider gar nicht mehr ohne komplizierte Definitionen.
Man kann sich nun *IN-Arrays in einer DS definieren, durch Überlagerung (Overlay) entsprechende Bereiche definieren, die ich dann mit *zero füllen kann.
-
50 DO 99 I
EVAL *IN(I) = *OFF
ENDDO
geht das so? bin in free format nicht so fit ;-)
-
Im Free siehts etwas anders aus, wenn man eine Schelife nimmt:
for Ind=50 to 99;
*in(Ind)=*off;
endfor;
Allerdings ist das nicht vergleichbar mit dem MOVEA.
-
Danke!
![Zitat](images/misc/quote_icon.png) Zitat von Fuerchau
Allerdings ist das nicht vergleichbar mit dem MOVEA.
... und das ist auch gut so, den hat man schnell mal übersehen ;-)
-
Außerdem ist zu beachten, dass das Feld "ind" als 3 0 Feld deklariert werden muß, da es am ende der schleife den wert 100 hat. ;
-
DAS setzt man natürlich mal voraus.
Allerdings sind Variablen mit 5I0 oder 10I0 (also Binär 2/4) schneller in der Verarbeitung.
-
früher konnte man ebenfalls mit
movea *in(61) bez5
if bez5 = *all'1'
mehrere in einer reihe liegende bezugszahlen abfragen. heute geht das leider auch nur in der schleife oder mit
if *in61 and *in62 and *in63......
finde ich lästig!
-
![Zitat](images/misc/quote_icon.png) Zitat von mgraskamp
if *in61 and *in62 and *in63......
Nun ja, wäre ...
IF ZUSTAND = *OFF AND LESBAR = *ON AND SPRECHEND = *ON
... nicht sowieso besser?
-
Und dann ist bez5 plötzlich anders definiert und schon knallt's !
Da finde ich sprechende Lösungen schon besser, zumal es nicht an der Performance sondern an der Schreibfaulheit liegt.
Man kann ja auch
bez5 = *in61 + *in62 + *in63 ...;
if bez5 = '11111';
verwenden
-
Alle Wege führen nach Rom ![Smilie](images/smilies/smile.gif)
Ich persönlich habe mir das Programmieren mit Schaltern nahezu abgewöhnt ![Smilie](images/smilies/smile.gif)
Außer in der BIldschirmsteuerung (JA ich weiss man kann das anders lösen) benutze ich sie nicht mehr, somit hat sich auch mein MOVEA Problem gelöst.
Ein %FOUND(Datei) ist mir inzwischen lieber als ein *IN90 = *OFF (vor allem bei den spezis die erst 2 Subroutinen später abfragen ob der Chain/Read/Whatever geklappt hat ![Wink](images/smilies/wink.gif)
FALLS man das Problem aber anders lösen will (muss) dann ist mit sicherheit die For schleife der schönste Ansatz.
Soweit meine 5 cents ![Smilie](images/smilies/smile.gif)
Rince
-
Ich brauche die Bezugszahlen auch nur noch als Fehlerbezugszahl für Bildschirmfelder. Was meinst Du mit "kann man anders lösen" ?
Similar Threads
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 6
Letzter Beitrag: 14-03-08, 06:21
-
By Fucasdreh in forum NEWSboard Server Job
Antworten: 0
Letzter Beitrag: 10-01-07, 13:12
-
By loeweadolf in forum NEWSboard Programmierung
Antworten: 7
Letzter Beitrag: 25-01-05, 07:43
-
By AJS in forum NEWSboard Programmierung
Antworten: 3
Letzter Beitrag: 13-01-05, 18:41
-
By TobiasHe in forum NEWSboard Programmierung
Antworten: 12
Letzter Beitrag: 14-12-04, 12:35
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