Dans la composition d'IHMs complexes et dynamiques, Magneto Studio® permet d'intégrer des directives non prédéfinies sous forme de code exprimé sous la syntaxe du langage C mais utilisé avec la même facilité qu'un script. Ce choix permet un developpement embarqué optimal tout en restant à la portée d'un non développeur (les expressions générales restant aussi simples que du Javascript ou du Python).

Information (développeur) : les apostrophes (') permettent d'indiquer que c'est du code qui va être compilé directement. L'expression incluse peut être aussi bien une instruction unique, une suite d'instructions ou un appel à une fonction déclarée et instanciée dans le code source utilisateur. Dans tous les cas, elle doit respecter la syntaxe du Langage C.
Astuce: Si le résultat obtenu ne correspond pas à celui attendu lors de la mise au point, l'ouverture du terminal (Zone 5) apportera des informations concernant des erreurs propres aux étapes de génération du programme (phase de compilation et de lien).


Affectation de variable à du texte

Une fois vos variables créées, nous allons voir comment les affecter à des éléments de votre interface.

Pour ce faire :

  1. Créer ou sélectionner un texte.
  2. Rendre le texte éditable en cliquant sur la case à cocher "Editable" dans la zone de propriétés (zone 3).
  3. Ouvrir l’éditeur (format d’enregistrement d’un projet), cliquer sur le bouton "Editor" (zone 4).
  4. Rechercher dans l’éditeur votre objet texte.
  5. Éditer " text : " en y retournant votre variable dans les apostrophes (exemple : " text : ‘return Heures;’ ").

Affectation de fonction à une action

Pour affecter une fonction à une action il faut soit avoir importé votre code dans le projet (en C) et avoir préalablement activé les bibliothèques nécéssaires si besoin (voir la section Importer son code source) ou soit utiliser du code en Langage C standard.

Une fois fait :

  1. Créer une action.
  2. Choisir le type "code".
  3. Ouvrir l'éditeur.
  4. Editer la ligne "onPress : ''" et remplacer par "onPress : 'maFonction();' "

Exemple d'appel de code standard :

  • Editer la ligne "onPress : ''" par "onPress : 'printf("Hello World !");' "