menu

arrow_back /If Define(copie_H)

par Actif
(360 points) 13 26
dans Programmation
0 votes
Bonjour,

Pourquoi y a-t-il un _H à la fin dans

      /if defined(blabla_H)
        /eof
      /endif

      /define blabla_H

      /COPY QCPYSRC,blabla2

et qu'il existe une copie blabla?

Cordialement,

1 Réponse

par Actif
(360 points) 13 26
sélectionné par
 
Meilleure réponse
0 votes

D'après ce que je comprend des pages :

https://www.ibm.com/docs/en/i/7.4?topic=conditions-define#cddef

et 

https://www.ibm.com/docs/en/i/7.4?topic=statements-conditional-directives-within-free-form-statement

Define est une directive de compilation passe la condition booléenne entre parenthèse à Vrai.

Et la directive de compilation if Defined() teste si la condition booléenne est vrai.

/if defined(blabla_H)
    /eof
/endif

/define blabla_H

/COPY QCPYSRC,blabla2

Lors de la compilation, la 1re fois que le compilateur lit ces lignes, 

Ligne 1, il vérifie que la condition blabla_H est à Vrai, ce qui n'est pas le cas donc il ne fait pas ce qu'il y a entre /if et /endif
Ligne 5, il passe la condition blabla_H à Vrai.
Ligne 7, il prend en compte la copy.

Si plus loin dans le source, il trouve de nouveau ces directives, le compilateur fait:

Ligne 1,  il vérifie que la condition blabla_H est à Vrai, ce qui est le cas donc il  exécute la ligne 2
Ligne 2, la directive de compilation /eof lui indique d'aller à la fin du membre source et ne pas prendre en compte la suite dans la compilation.

Le _H n'a aucune importance, n'importe quel nom aurait pu être utilisé. Cette convention est utilisé par certain développeurs. Mais je n'en connais pas la raison exact.

Cordialement, 

Questions liées

0 votes
0 réponses 93 vues
Existe t'il une API qui copie des objets d'une bibliothèque à une autre?Bonjour, Je cherche une API qui permet de copier des objets d'une bibliothèque à une autre. Je souhaite l'intégrer à un programme RPG ile. Si cela n'existe pas, cela m' ...
par ibmiiste Confirmé
(1.4k points)
22-Avril-2020 posée dans Programmation
0 votes
0 réponses 82 vues
Y a t'il une API pour copier des sources?Bonjour, J'ai besoin de copier des membres sources de BiblioSrc/Fichsrc vers un autre emplacement et ceci en RPG ile. Y a t'il une API qui fait ça simplement? Cordialem ...
par ibmiiste Confirmé
(1.4k points)
20-Septembre-2019 posée dans Programmation
0 votes
2 réponses 58 vues
Comment récupérer un élément d'un ensemble d'éléments concaténés et séparés par un caractère dans une chaine de caractères, en sql ou en rpgle ?Je possède des colonnes chaines de caractères composées de plusieurs éléments comme suit : 'FRA_STATEMENT_31801_202202_489502' je voudrais extraire par SQL ou RPG le 3ème ...
par Denis Averti
(979 points)
04-Février posée dans Programmation
0 votes
2 réponses 201 vues
Comment gérer les paramètres passés en *Nopass?Bonjour, En RPG Ile, comment fait-on pour vérifier qu'une valeur est transmise ou non? Cordialement, ...
par ibmiiste Confirmé
(1.4k points)
02-Juillet-2020 posée dans Programmation
0 votes
1 réponse 204 vues
Comment gérer des colonnes d'une table en tableau dans un programme RPG ?Bonjour, il existe dans une table 20 colonnes que l'on voudrait pouvoir traiter dans un programme comme un tableau : Counter_01 NUM(18,2) DEFAULT NULL, ...
par Denis Averti
(979 points)
02-Avril-2020 posée dans Programmation