VisualAge RPG est un produit IBM faisant partie du produit ADTCS (5763CL2) ou
intégré à WDS depuis la V5
Il permet de concevoir des applications client/serveur en programmant avec le langage RPG.
Pour démarrer :
enfin, lancez VRPG - vous verrez apparaître l'espace de travail, composé comme suit :
la logique est celle de toutes les applications de programmation PC d'aujourd'hui.
Soit l'application suivante (liste des cours) :
le plus simple est de faire référence à la base de données (comme avec SDA), par "Serveur/Définition des zones de référence"
pour chaque objet :
on peut définir les propriétés : | ![]() |
parmi les propriétés remarquables, citons:
|
![]() |
ensuite il faudra associer du code à un événement :
vous passerez alors sous l'éditeur de source "CODE/400" .
tous les sous programmes liès à un événement sont structurés de la manière suivante:
regardons ensemble le code:
Vous devez cependant, configurer vos serveur de données (on utilise
en fait DDM/IP)
par l'option "Serveur/Définition des options AS/400"
Puis vos ressource (particulièrement vos fichiers) en les attachant à un serveur :
msg est une constante, retour une variable numérique.
par contre msgerr de type M est une particularité
de Vrpg permettant une définition de message :
le type est M (à la place de S pour single, C pour constant,
etc....)
style définit le type de message : *INFO , *WARN , *HALT
button , les boutons affichés (et donc utilisables)
*OK | *CANCEL | *NOBUTTON |
*ABORT | *IGNORE | *YESBUTTON |
on peut utiliser trois boutons
tout cela permet d'envoyer un message à l'utilisateur par DSPLY
regardons ce sous programme :
les fonctions %getatr , %setatr permettent de retrouver
/ ou de modifier une propriété d'un objet.
(les codes opération SETATR et GETATR sont admis)
Par exemple un objet image possède un attribut FILENAME indiquant le chemin et le nom du fichier image à charger.
vous pouvez utiliser :
C 'IMAGE1' SETATR path 'FILENAME' ou bien C eval %setatr('FENETRE':'IMAGE1':'FILENAME') = path
Dans l'extrait de code ci-dessus %GETATR retourne la propriété
'TEXT' de l'objet AF4MDL , c'est à dire son contenu
Pour les variables d'une fenêtre, vous pouvez aussi utiliser WRITE et
READ, pour renseigner ou retrouver
tous les champs à la fois.
En fait vous devez considérer que VARPG possède plusieurs exemplaires d'une même zone :
Pour affecter à la zone mémoire, le contenu d'une variable
d'une fenêtre, utilisez %GETATR Pour affecter la zone dans la fenêtre, utilisez %SETATR ou WRITE
. Vous pouvez aussi utiliser les ordres suivants :
|
Effectuons un CHAIN sur le fichier Base de Données (nous venons de faire une lecture sur le fichier REMOTE)
si aucun enregistrement n'est trouvé, affichage d'un message d'erreur sous forme d'une boite de dialogue.
Sinon chargement de l'objet sous fichier. Quelques différences avec les sous-fichiers 400 :
la mise à blanc se fait par CLEAR |
l'ajout (l'écriture) se fait par WRITE sans gestion du numéro de rang. |
READS est un nouvel ordre qui permet de lire les enregistrements SÉLECTÉS. (READC reste valide, pour lire enregistrements modifiés) |
l'affichage se fait (par défaut) en temps réel (ligne à
ligne, type minitel ....) eval %setatr('FENETRE' : 'SOUSFICHIER' : 'REPAINT') = 0/1 |
et enfin la fin du programme (bouton "sortie") :
Pour tester (option Projet/Construction) :
puis Projet/Exécution, pour lancer :
Vous retrouverez ces options en cliquant directement sur le projet (dans le
dossier VARPG Projects)
ainsi que l'option "package" qui permet de générer une
distribution.
Après avoir choisi une cible (Win32 ou Java), vous verrez :
Cochez module d'exécution, si vous souhaitez aussi générer
une installation du RUN-TIME VARPG
(à installer UNE fois sur chaque PC)
Choisissez simplement un répertoire différent pour ce dernier.
VARPG va générer DEUX exécutables SETUP.EXE, dans chaque répertoire.
tout cela ne représente qu'un tour d'horizon d'un
produit extrèmement vaste et puissant, mais n'ayant pas encore
complètement rencontré son public, |