Présentation de VisualAge RPG






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.

  1. Un projet contenant la liste des fenêtres de l'application
  2. chaque fenêtre contient des objets graphiques
  3. la palette d'outils propose la liste des objets graphiques pouvant être insérés dans la fenêtre.
  4. Après avoir composé visuellement votre fenêtre, vous devez définir le code associé à un événement.

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:

Genéral

le nom de l'objet

style

cadrage , et principales options.
Données

type et longueur

edition l'équivalent des EDIT-CODE
Police/Couleur aspect graphique
description Commentaire technique de l'objet

 

 

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:

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 :

  • un exemplaire par fenêtre possedant une zone de ce nom
  • plus un exemplaire en mémoire:

Pour affecter à la zone mémoire, le contenu d'une variable d'une fenêtre, utilisez %GETATR
ou READ qui renseigne toutes les variables de même nom sur la fenêtre et dans le pgm..

Pour affecter la zone dans la fenêtre, utilisez %SETATR ou WRITE .

Vous pouvez aussi utiliser les ordres suivants :

  • SHOWWIN (affiche une fenêtre)
  • CLEAR (met à blanc tous les champs de la fenêtre et les champs mémoire de même nom)
  • RESET (réattribut les valeurs initiales attribuée à la conception)
  • CLSWIN (ferme une fenêtre)


• 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 ....)
pour éviter cela, il faut fixer l'attribut REPAINT à 0 pendant la phase de chargement puis à 1.

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,
(en tous les cas dans le cadre d'un logiciel facturable)
.
WDS en V5R10 va peut-être changé la donne ...

 




©AF400