Le langage Oxygène++
Oxygène++ est le langage de programmation pour concevoir des applications pour l'environnement Oxygène.
C'est un langage de 4ième génération : s'approchant au maximum de l'algorithmique et étant en français, la lecture - ainsi que l'écriture - est très intuitive. De plus, il est dédié à la conception d'applications de gestion : la gestion de la base de données est simplifiée, les actions courantes des utilisateurs sont facilités par des automatismes et des bibliothèques de fonctions cachent certaines complexités.
Générant du C++ pour Windows, il est naturellement "événementiel", "orienté objet" et gère l'héritage.
Composition d'un fichier source Oxygène++
Un programme Oxygène est, chez le client, un ensemble de :
- Librairies DLL : sources en langage Oxygène++
- Ressources globalisées GLB : écrans, images, éditions ...
- Bases de données
Une librairie DLL est donc simplement la compilation de 1 ou plusieurs sources Oxygène++. Un fichier source écrit en Oxygène++ porte l'extension .L4G.
Les sources sont créées avec Microsoft visual Studio et respectent la structure suivante :
1 Composant (ou Domaine)
0 à 1 Déclaration globale
1 à n Objets
0 à 1 Déclaration
0 à n Méthodes
0 à n Instructions
Exemple de code source :
Composant CLIENT
Objet GESTION_LISTE : GESTION
Declaration
BASE : GESCOM
TABLE : CLIENT
ECRAN : GESTION.ECR
FinDeclaration
Methode DEBUT_FICHE
AppliquerDefaut
Si CLIENT.ENCOURS>10000 Alors
BoiteMessage "Attention, le client
"+CLIENT.DESIG+" possède un encours supérieur à 1000€"
FinSi
FinMethode
FinObjet
Dans l'exemple ci-dessus, le composant CLIENT possède un objet basé sur le modèle GESTION_LISTE. Cet objet utilise la table CLIENT de la base GESCOM et l'écran GESTION.ECR. Lors de l'événement DEBUT_FICHE, si l'encours du client est élevé, on affiche un avertissement à l'utilisateur.
Présentation de chaque élément d'un fichier source Oxygène++
Un composant est un ensemble de traitements dédiés à un but particulier ; par exemple, tout ce qui concerne la gestion des clients.
Voir la documentation pour la notion de Composant (ou Domaine).
Les déclarations précisent des propriétés pour les objets ou déclarent les variables et champs de données qui seront utilisées. Voir Les déclarations.
Un objet est toujours basé sur un modèle car un objet correspond à une fenêtre ou à un traitement : donc, selon son but, et afin de profiter d'un maximum d'automatismes, on choisira le modèle le plus adapté : voir la Notion d'objet et de modèle.
Les méthodes quant à elles correspondent à des événements (début d'un écran, clic souris par l'utilisateur, affichage d'une zone ...) ou à une procédure (des méthodes qui s'appellent chronologiquement entre elles). Voir l'aide sur Les méthodes.
Un méthode est une suite d'instructions destinées à être exécutées séquentiellement pour effectuer un travail.
Ces instructions peuvent être des : affectations de variable ou de champ, des instructions conditionnelles, des instructions simples ou des fonctions.
Norme Composant
Le langage Oxygène++ n'impose pas de règles particulières pour construire votre programme. Cependant si vous écrivez du code sans respecter de règles, il y a de forts risques car votre oeuvre soit illisible et difficilement maintenable.
La Norme Composant propose simplement quelques règles basiques afin que tout programmeur connaissant Oxygène puisse comprendre facilement votre programme.
Autre avantage : Oxygène possède des modèles respectant la Norme Composant, ce qui permet d'ajouter encore plus d'automatisme et donc d'écrire moins de code.
voir les Principes des composants.
La dérivation
Dans le monde Oxygène, la " Dérivation " est la capacité à ajouter des fonctions et à personnaliser une application ; que ce soit votre application ou - et c'est tout l'intérêt - une application tierce telle que la Gestion Commerciale Memsoft. Voir la Dérivation des composants.
Composants système
Les "composants système" sont des composants installés par défaut avec Oxygène et offrant des fonctions diverses, des plus basiques (manipulation de chaînes) aux plus complexes (envoi d'email). Consultez le chapitre concerné dans cette aide pour en connaître la liste exhaustive.