Home > lang > .if 
 en fr de es nl pl pt pt_BR mk sq ca hu cs tr ar fa id vi ko ja ru zh zh_TW eo
Precedente  Successivo  Modifica  Rinomina  Undo  Refresh  Search  Amministrazione  
THIS WIKI IS DEPRECATED AND IS READ-ONLY. THE NEW WIKI IS THERE.
Documentazione
History
 
#If
#If EspressionePreprocessore
  ...
[ #Else If EspressionePreprocessore
  ... ]
[ #Else
  ... ]
#Endif

Le direttive del preprocessore #If ... #Endif, permettono la compilazione condizionale del codice.

EspressionePreprocessore è una rudimentale espressione booleana che comprende cio che segue:

Le costanti del preprocessore consentite sono:

Costante Valore Operatori di comparazione permessi
System Il sistema operativo. =, <>
Architecture or Arch L'architettura della CPU. =, <>
Version or Gambas La versione del compilatore. =, <>, <, <=, >, >=
Debug Se le informazioni di debugging sono fornite. Nessuno
True Il valore Vero (True). Nessuno
False Il valore Falso (False). Nessuno

Esempio

' Solo una delle linee 'Print' qui sotto mostrate sarà effettivamente compilata.

Public Sub Main()

  #If System = "Linux"
    #If Architecture = "x86_64"
      Print "Linux 64 bits"
    #Else
      Print "Linux 32 bits"
    #Endif
  #Else If System = "FreeBSD"
    Print "FreeBSD ?"
  #Else
    Print "Altro !?"
  #Endif

End

Utilizzando la compilazione condizionale basata su sistema operativo o l'architettura della CPU, si crea un eseguibile che sarà specifico per il sistema operativo o l'architettura della CPU utilizzata in fase di compilazione.

Questa di solito non è una buona idea, fate in modo di testare il più possibile il sistema operativo o l'architettura della CPU durante l'esecuzione dell'applicativo, testando cioè il valore di System.Family e System.Architecture nel vostro codice.