Sources C++
Pour les programmeurs avertis en langage C ou C++, il est possible d'écrire directement des instructions C ou C++ en L4G. La syntaxe à utiliser est la suivante :
_C { source C ou C++ }
Cependant si vous souhaitez réutiliser vos variables, vos champs ou vos tables en C++, vous devez tenir compte des conventions qui ont été utilisées pour convertir les variables, les champs, les tables et les méthodes L4G en variables et méthodes C++.
Les variables et paramètres sont traduits en C++ en minuscules et préfixés par v_.
Les champs sont traduits en C++ en minuscules et préfixés par c_.
Les tables sont traduits en C++ en minuscules et préfixés par t_.
Les méthodes sont traduits en C++ en minuscules.
Exemple :
La variable CODE se nomme v_code en C++.
Le paramètre numero se nomme v_numero en C++.
Le champ NOM se nomme c_nom en C++.
Le champ CLIENT.NOM se nomme c_clientNom en C++.
( Remarquez que le nom du champ, NOM, s'écrit en capitalisé.)
La table CLIENT se nomme t_client en C++.
La méthode DEBUT se nomme debut en C++.
La méthode CALCUL_PRIX se nomme calcul_prix en C++.
De plus certaines déclarations du langage ont été conçues pour définir des parties spécifiques d'un programme C++.
OXYGENE++ génère des classes C++, plus précisément un objet ou un modèle OXYGENE++ est traduit en une classe C++. Cette fonctionnalité a été étendue, afin que le programmeur puisse enrichir les classes C++ générées par OXYGENE ++ par des données membres supplémentaires (variables simples ou classes C++).
Les différentes déclarations C++ permettent :
1- d'inclure la définition d'objets non prévus en standard dans OXYGENE ++,
2- de programmer du code C ou C++ en dehors de toutes méthodes du L4G,
3- de compléter la partie définition de la classe (classe = Objet en C++) avec ajout de données membres et de fonctions membres,
4- de compléter la partie initialisation des données membres pour les données qui n'ont pas de constructeur par défaut.
On peut également insérer du code L4G à l'intérieur même d'une séquence en C++ in line avec la syntaxe _L4G{ source L4G }.
Exemple :
Methode AFFICHER_TOTAL
Parametres : Entier Reference total
Variables : Chaine message
_C
{
short int tot = v_total.valeur();
tot = calculer(tot);
v_total = Entier(tot);
strcpy(v_message, "Le total est de :");
_L4G
{
message = message+Alpha(total,"##0.00")
}
v_message = Chaine(v_message)+Chaine(". Voulez-vous continuer ?");
if( MessageBox(NULL,v_message,"Total",MB_YESNO) != IDYES)
return;
}
EnvoyerMessage "SUITE"
FinMethode