IF

Uit MusiCAD

Met de sjabloonfuncties IF(conditie), ELSE()/ELSEIF(conditie) en ENDIF() kun je de uitvoering van een sjabloon sturen.

Syntax:

 !# IF( conditie );
   ...  ! doe iets
 !# ELSE();
   ...  ! anders
 !# ENDIF();

Met ELSEIF uitgebreide syntax:

 !# IF( conditie1 );
   ...  ! doe 1
 !# ELSEIF( conditie2 );
   ...  ! doe 2
 !# ELSEIF( conditie3 );
   ...  ! doe 3
 !# ELSE();
   ...  ! anders
 !# ENDIF();

Voorbeeld

Hieronder zie je de inhoud van het sjabloon waarmee muziek omgezet wordt naar een Eb-partij.

Akkoordsymbolen worden voor niet-C-partijen onzichtbaar gemaakt, bovenin verschijnt de vermelding 'Eb', herhaaldelijk gebruik herstelt de 'standaard'-situatie weer, en als er sprake was van een Bb-partij wordt daarvoor gecompenseerd.

melodie "#gTools|#EbPart|232";
!# IF( sMode=="" );
! not transposed yet
!# TRANSPOSE( -3 );
!# SET( sMode, Eb );
!# SET( fChords, *(Visible=0) );
!# SET( fChords2, *(Visible=0) );
!# SET( fTab, *(Visible=0) );
!# ELSEIF( sMode==Bb );
! previously transposed +2
!# TRANSPOSE( -5 );
!# SET( sMode, Eb );
!# SET( fChords, *(Visible=0) );
!# SET( fChords2, *(Visible=0) );
!# SET( fTab, *(Visible=0) );
!# ELSEIF( sMode==Eb );
! restore original
!# TRANSPOSE( 3 );
!# SET( sMode, ""  );
!# SET( fChords, *(Visible=1) );
!# SET( fChords2, *(Visible=1) );
!# SET( fTab, *(Visible=1) );
!# ENDIF();