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