Réserver une Démo

SVP notez : Cette page d’aide n’est pas pour la dernière version d’Enterprise Architect. La dernière aide peut être trouvée ici.

Pré. Proc.

Macros de fonctions

Les macros de fonction sont un moyen pratique de manipuler et de formater divers éléments de données d'éléments. Chaque macro de fonction renvoie une string de résultat. Il existe deux manières principales d'utiliser les résultats des macros de fonctions :

  • Substitution directe de la string renvoyée dans la sortie, telle que : %TO_LOWER(attName)%
  • Stockage de la string renvoyée dans le cadre d'une définition de variable telle que : $name = %TO_LOWER(attName)%
Les macros de fonction peuvent prendre des paramètres, qui peuvent être passés aux macros comme :
  • Littéraux de String , entre guillemets doubles
  • Macros de substitution directe sans les signes de pourcentage englobants
  • Références variables
  • Littéraux numériques
Plusieurs paramètres sont transmis à l'aide d'une liste séparée par des virgules.

Les macros de fonction sont nommées selon le style All-Caps, comme dans :

%CONVERT_SCOPE(opScope)%

Les macros de fonction disponibles sont décrites ici. Les paramètres sont indiqués par des crochets, comme dans :

FUNCTION_NAME([param]).

CONVERT_SCOPE([umlScope])

Pour une utilisation avec les langues prises en charge, pour convertir [umlScope] en le mot-clé de portée approprié pour la langue générée. Ce tableau montre la conversion de [umlScope] par rapport à la langue donnée.

Langue

Conversions

C++

Paquetage ==> public

Publique ==> publique

Privé ==> privé

Protégé ==> protégé

C#

Paquetage ==> interne

Publique ==> publique

Privé ==> privé

Protégé ==> protégé

Delphes

Paquetage ==> protégé

Publique ==> publique

Privé ==> privé

Protégé ==> protégé

Java

Paquetage ==> {vide}

Publique ==> publique

Privé ==> privé

Protégé ==> protégé

PHP

Paquetage ==> public

Publique ==> publique

Privé ==> privé

Protégé ==> protégé

VB

Paquetage ==> Protégé

Publique ==> Publique

Privé ==> Privé

Protégé ==> Protégé

VB .Net

Paquetage ==> Ami

Publique ==> Publique

Privé ==> Privé

Protégé ==> Protégé

COLLECTION_CLASS([langue])

Donne la collection Class appropriée pour la langue spécifiée pour l'attribut lié actuel.

CSTYLE_COMMENT([wrap_length])

Convertit les notes de l'élément actuellement dans la portée en commentaires simples de style C, en utilisant /* et */.

DELPHI_PROPERTIES([portée], [séparateur], [retrait])

Génère une propriété Delphi.

DELPHI_COMMENT([wrap_length])

Convertit les notes de l'élément actuellement dans la portée en commentaires Delphi.

EXEC_ADD_IN(, [nom_fonction],, ...,)

Appelle une fonction Enterprise Architect Add-In , qui peut retourner une string de résultat .

[addin_name] et [function_name] spécifient les noms du Add-In et de la fonction à appeler.

Les paramètres de la fonction Add-In peuvent être spécifiés via les paramètres [prm_1] à [prm_n].

$result = %EXEC_ADD_IN("MyAddin", "ProcessOperation", classGUID, opGUID)%

Toute fonction appelée par la macro EXEC_ADD_IN doit avoir deux paramètres : un EA. object Référentiel et un tableau Variant qui contient tous les paramètres supplémentaires de l'appel EXEC_ADD_IN. Le type de retour doit être Variant.

Public Function ProcessOperation( Référentiel As EA. Référentiel , args As Variant) As Variant

TROUVER([src], [sous-chaîne])

Position de la première instance de [subString] dans [src] ; -1 si aucun.

GET_ALIGNMENT()

Renvoie une string dans laquelle tout le texte de la ligne de sortie actuelle est converti en espaces et en tabulations.

JAVADOC_COMMENT([wrap_length])

Convertit les notes de l'élément actuellement dans la portée en commentaires de style javadoc.

GAUCHE([src], [compte])

Les [count] premiers caractères de [src].

LONGUEUR([src])

Longueur de [src]. Renvoie une string .

MATH_ADD(x,y) MATH_MULT(x,y) et MATH_SUB(x,y)

Dans un gabarit de code ou gabarit gabarit , ces trois macros réalisent respectivement les fonctions mathématiques de :

  • Addition (x+y)
  • Multiplication (x*y) et
  • Soustraction (xy)
Les arguments x et y peuvent être des entiers ou des variables, ou une combinaison des deux. Considérez ces exemples, tels qu'utilisés dans un gabarit 'Class' pour la génération de code C++ :
  • $a = %MATH_ADD(3,4)%
  • $b = %MATH_SUB(10,3)%
  • $c = %MATH_MULT(2,3)%
  • $d = %MATH_ADD($a,$b)%
  • $e = %MATH_SUB($b,$c)%
  • $f = %MATH_MULT($a,$b)%
  • $g = %MATH_MULT($a,10)%
  • $h = %MATH_MULT(10,$b)%
Ceux-ci calculent, dans la même séquence, à :
  • un = 3 + 4 = $a
  • b = 10 - 3 = $b
  • c = 2 * 3 = $c
  • ré = une + b = $d
  • e = b - c = $e
  • f = une * b = $f
  • g = une * 10 = $g
  • h = 10 * b = $h
Lorsque le code est généré, le fichier .h (pour C++) contient ces chaînes correspondantes :
  • un = 3 + 4 = 7
  • b = 10 - 3 = 7
  • c = 2 * 3 = 6
  • ré = une + b = 14
  • e = b - c = 1
  • f = une * b = 49
  • g = une * 10 = 70
  • h = 10 * b = 70

MID([src], [début]) MID([src], [début], [compte])

Sous-chaîne de [src] commençant à [start] et incluant [count] caractères. Où [count] est omis, le reste de la string est inclus.

PI([option], [ valeur ], {[option], [ valeur ]})

Ensembles le PI pour le gabarit courant à [ valeur ]. Les valeurs valides pour [ valeur ] sont :

  • " \n"
  • " \t "
  • " "
  • ""
<option> contrôle quand le nouveau PI prend effet. Les valeurs valides pour <option> sont :
  • I, Immédiat : le nouveau PI est généré avant la prochaine ligne de gabarit non vide
  • N, Next : le nouveau PI est généré après la prochaine ligne de gabarit non vide
Plusieurs paires d'options sont autorisées dans un appel. Un exemple de situation où cela serait utilisé est celui où un mot-clé est toujours sur une nouvelle ligne, comme illustré ici :

%PI=" "%

%classRésumé ? "abstrait"%

%if balise de classe :"macro" != " "%

%PI("I", " \n", "N", " " )%

%classTag:"macro"%

%fin si%

classer

%nom du cours%

Pour plus de détails, voir Macro d'instruction de traitement (PI) .

PROCESS_END_OBJECT([nom_modèle])

Permet aux classes qui sont une classe plus loin de la classe de base, d'être transformées en objets (tels que des attributs, des opérations, des Paquetages , des paramètres et des colonnes) de la classe de base. [template_name] fait référence au gabarit de travail qui stocke temporairement les données.

REMOVE_DUPLICATES([source], [séparateur])

Où [source] est une liste séparée par [séparateur] ; cela supprime toutes les chaînes en double ou vides.

REMPLACER([ string ], [ancien], [nouveau])

Remplace toutes les occurrences de [old] par [new] dans la string donnée <string>.

RESOLVE_OP_NAME()

Résout les conflits dans les noms d'interface où deux interfaces de méthode ont le même nom.

RESOLVE_QUALIFIED_TYPE() RESOLVE_QUALIFIED_TYPE([séparateur]) RESOLVE_QUALIFIED_TYPE([séparateur], [défaut])

Génère un type qualifié pour l'attribut actuel, l'attribut lié, le parent lié, l'opération ou le paramètre. Permet la spécification d'un séparateur autre que. et une valeur par défaut lorsqu'une valeur est requise.

DROITE([src], [compte])

Les derniers [count] caractères de [src].

TO_LOWER([ string ])

Convertit [ string ] en minuscules.

TO_UPPER([ string ])

Convertit [ string ] en majuscules.

TRIM([ string ]) TRIM([ string ], [trimChars])

Supprime les espaces blancs à la fin et au début de [ string ]. Si [trimChars] est spécifié, tous les caractères de début et de fin de l'ensemble de <trimChars> sont supprimés.

TRIM_LEFT([ string ]) TRIM_LEFT([ string ], [trimChars])

Supprime les caractères de début spécifiés de <string>.

TRIM_RIGHT([ string ]) TRIM_RIGHT([ string ], [trimChars])

Supprime les caractères de fin spécifiés de <string>.

VB_COMMENT([wrap_length])

Convertit les notes de l'élément actuellement dans la portée en commentaires de style Visual Basic.

WRAP_COMMENT([commentaire], [wrap_length], [indent], [start_string])

Enveloppe le texte [commentaire] à la largeur [wrap_length] en mettant [indent] et [start_string] au début de chaque ligne.

$comportement = %WRAP_COMMENT(opBehavior, "40", " " , " // " )%

<wrap_length> doit toujours être passé sous forme de string , même si WRAP_COMMENT traite ce paramètre comme un integer .

WRAP_LINES([texte], [wrap_length], [start_string] {, [end_string] })

Enveloppe [texte] comme désigné pour être [wrap_length], en ajoutant [start_string] au début de chaque ligne et [end_string] à la fin de la ligne si elle est spécifiée.

XML_COMMENT([wrap_length])

Convertit les notes de l'élément actuellement dans la portée en commentaires de style XML.

Apprenez Plus