Overblog Tous les blogs Top blogs Technologie & Science Tous les blogs Technologie & Science
Editer l'article Suivre ce blog Administration + Créer mon blog
MENU
Publicité
Attn's blog

Quelques instructions de tests

8 Août 2006 , Rédigé par Milan Publié dans #Rpg

Le langage que vous voyez dans cette rubrique est du Rpg IV, dans sa version actuelle, baptisée "free format" ou "format libre", par opposition à l'ancienne façon "colonnée".

C'est pour faciliter le passage de l'ancienne syntaxe à la nouvelle qu'existe ce blog ; et aussi pour me faire un peu de pub !     www.attn.fr

Le Rpg IV a fait suite - en le rénovant complètement - au Rpg III en 94, lequel est apparu sur le S/38, grosso modo en 80.

Auparavent existait, très populaire à l'époque de l'IBM 34, le Rpg II, célèbre par son cycle logique - aujourd'hui on dirait que cette "plateforme" disposait d'un "framework avancé de traitement batch".

Plus d'info sur http://en.wikipedia.org/wiki/RPG_programming_language

Gap - Générateur Automatique de Programme - est la traduction en français de Rpg - Report Program Generator. C'est le même langage !

Curieusement, il y a quelques années, on disait volontier : "Je travaille en Gap." De nos jours on dit plutôt : "Je travaille en Rpg".
Allez savoir pourquoi !

Bon dev sur System 38 et ses successeurs AS/400, iSeries, System i, ...

Quelques instructions de TESTS...

______________________________________________

if zonea=zoneb;
res='égalité';
endif;

______________________________________________

if zonea=zoneb;
res='égalité';

else;
res='différence';
endif;

______________________________________________

if zonea=zoneB;
res='égalité';

elseif zonea>zoneb;
res='plus grand';

elseif zonea<zoneb;
res='plus petit';

else;
res='cas non prévu';
endif;

______________________________________________

select;
when zonea=zoneB;
res='égalité';

when zonea>zoneb;
res='plus grand';

when zonea<zoneb;
res='plus petit';

other;
res='cas non prévu';
endsl;

// Attn : un seul groupe est exécuté : le premier groupe when
// dont la condition est satisfaite ou le groupe other.
// En l'absence du groupe other, il se pourrait que rien ne soit exécuté.
// (D'autre langages présentent une structure similaire
// mais se comportent différement...)

______________________________________________

// Les exemples ci-dessus ne montrent que des comparaisons de 2 zones,
// if, elseif et when évaluent l'expression qui les suit :
// celle-ci doit pouvoir être résolue en vrai ou faux. Voilà tout.

// Vous pouvez écrire :

bin=zonea=zoneb;               // ou ...
bin=(zonea=zoneb);            // bin est définie comme binaire

if bin;
res='égalité';
endif;

 

if unefonction(zonea:zoneb:'=')      // unefonction retourne un binaire
res='égalité';
endif;

// Et bien sûr les opérateurs logiques or, and, not et les parenthèses ( )
// brûlent d'entrer en piste :

if (trouvé and not trop_vieux) or (jour='dimanche');
res='ok';
endif;

______________________________________________

// Peut-être un peu sec tout ça ?
// N'avez-vous jamais bu un whiskey sans soda ou eau ajouté !

Publicité
Partager cet article
Repost0
Pour être informé des derniers articles, inscrivez vous :
Commenter cet article