ID: Parametri opzionali
copia linkDescrizione
Instant Developer permette di non specificare il valore dei parametri opzionali nelle chiamate a procedure e funzioni. Qualora il parametro abbia un valore predefinito tale valore viene automaticamente inserito al posto del parametro non specificato.
In generale è sempre possibile specificare solo i parametri necessari "saltando" parametri che non si desidera specificare. Instant Developer, infatti, sa quali parametri vengono specificati ed è in grado autonomamente di fornire alla funzione o procedura i parametri mancanti ovunque si trovino.
In alcuni casi, però, non è possibile "saltare" i parametri opzionali scrivendo, per esempio:
Funzione(par1, ??, ??, par4)Qualora non sia permesso saltare parametri opzionali Instant Developer segnala l'errore "235 - La funzione [FUNZIONE] permette di non specificare i parametri opzionali solo alla fine della lista dei parametri". Il prossimo paragrafo descrive il motivo di tale limitazione e quando non è permesso saltare i parametri.
Override in C# e Java
I linguaggi C# e Java permettono di definire più volte la stessa procedura o funzione indicando un diverso numero di parametri:
BOOL funct(int a, int b, int c) { ... } BOOL funct(int a, int b) { ... } BOOL funct(int a) { ... }Per poter utilizzare tale funzione non è necessario creare tre diverse procedure o funzioni nella libreria del progetto Instant Developer. E' sufficiente crearne una con tre parametri ed indicare ad Instant Developer che se il secondo o il terzo parametro non vengono specificati non devono essere forniti alla procedura o funzione. Per fare questo è sufficiente attivare il flag NULL nella videata delle proprietà del parametro, come mostrato nell'immagine:

Se un parametro ha i flag "Opzionale" e "Null" attivi ed il parametro non viene specificato allora tale parametro non sarà fornito alla funzione. Se invece il flag "Null" non è attivo ed il parametro non viene specificato verrà fornito automaticamente il valore indicato nel campo "Valore di default". Nel caso il parametro abbia il flag "Null" e "Opzionale" attivo la procedura o funzione non permette di saltare i parametri poiché verrebbero forniti valori errati ai parametri. Infatti, tornando all'esempio precedente, se Instant Developer permettesse di scrivere
funct(1, ??, 3)poiché il parametro 2 non deve essere specificato (flag Null e Optional attivati), scriverebbe in C# o Java
funct(1, 3)fornendo il valore 3 al parametro b invece di fornire il valore 3 al parametro c come richiesto.
Funzionalità interessate
L'utilizzo di funzioni esterne al framework Instant Developer.
Note
- Tale funzionalità è necessaria solo se vengono utilizzate funzioni o procedure esterne ad Instant Developer. I parametri opzionali delle funzioni e procedure scritte con Instant Developer, infatti, non vengono definite più volte come mostrato nell'esempio sopra pertanto il flag Null della videata delle proprietà dei parametri opzionali delle funzioni e procedure scritte con Instant Developer non deve mai essere attivo.
Ultima modifica: 29/10/2009 / Validità: da 8.5.3800