Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113

Warning: Trying to access array offset on value of type null in /data/websites/htmlit/web/app/themes/htmlit/src/ViewModel/Post/Templates/SingleGuide.php on line 113
Impariamo ad usare le funzioni | HTML.it
Nessun risultato. Prova con un altro termine.
Guide
Notizie
Software
Tutorial

Impariamo ad usare le funzioni

Breve introduzione all'uso di questo fondamentale costrutto di programmazione
Breve introduzione all'uso di questo fondamentale costrutto di programmazione
Link copiato negli appunti

Un precedente articolo faceva riferimento a come Impariamo ad usare le procedure, chiamate anche comunemente sub. Vediamo invece ora come usare le "sorelle minori" di questi costrutti di programmazione, ovvero le funzioni. Il vantaggio delle funzioni è quello di ottimizzare la scrittura del codice, evitando di ripetere elenchi di istruzioni utilizzati frequentemente, con la possibilità di restituire un valore.

Creare una funzione

Per creare una funzione possiamo usare la sintassi:


' corpo della funzione
end function

public o private

public private

function

Dichiara che quella è una funzione.

nomefunzione

Il nome della funzione. Sono consentiti unicamente lettere, numeri (purchè non all'inizio del nome) e caratteri di sottolineatura.

parametri

Possono essere passati dei parametri alla funzione in fase di chiamata. Questi parametri devono essere definiti precedentemente, separati da una virgola. Nel caso la funzione non abbia parametri, è necessario insere comunque le parentesi tonde vuote ().

NB. ASP + VBScript non accetta l'overloading delle funzioni

Esempio:

Function leggi_ora()
' codice
End function

Function leggi_ora(unadata)
' codice
End function

Il tipo di definizione sopra genera errore. È necessario dichiarare i metodi separatamente.

Function leggi_ora_corrente()
' codice
End function

Function leggi_ora(unadata)
' codice
End function

end function

Determina la fine della funzione.

Restituire il valore

Caratteristica fondamentale di una funzione è quella di restituire un valore. Per restituire un valore, con ASP + VBScript, è sufficiente assegnare il valore da restituire al nome della variabile, come ultima istruzione.

Il nome della funzione deve essere specificato senza parentesi ed eventuali parametri:

e non ad esempio:

Richiamare una funzione

Siccome una funzione restituisce un valore, è necessario prevedere in fase di richiamo una collocazione per il valore restituito.

Possiamo decidere di:

  • Assegnare il valore ad una variabile
  • Assegnare il valore ad un'ulteriore funzione
  • La chiamata della funzione avviene semplicemente mediante:

    Ma ricordandoci quanto prima detto, la sintassi completa è:

    ' assegnazione ad una funzione, esempio la stampa
    Response.Write(nomefunzione())
    ' la gestione dei parametri segue l'esempio sopra

    Esempio pratico

    Per esempio proviamo a scrivere una funzione che ci permetta, data una somma di denaro ed un valore percentuale, di calcolare e restituire il risultato del prodotto ivato.

    Dichiariamo la funzione, a cui passeremo come parametro la somma su cui calcolare l'iva ed il valore d'iva da calcolare.

    Dim totale, iva

    Dichiariamo le variabili interne che desideriamo usare per l'elaborazione. Attenzione

    if IsNumeric(somma) AND IsNumeric(percentuale) then

    Controlliamo che entrambi i valori della somma e della percentuale siano numerici e proseguiamo con l'elaborazione ed il calcolo.

    else
    totale = -1
    end if

    Nel caso i valori non siano numerici, possiamo prevedere di restituire un valore predefinito, ad esempio -1.

    calcola_iva = totale

    Non dimentichiamo alla fine di assegnare il valore di ritorno. Ecco come si presenta la funzione finale:

    function calcola_iva(somma, percentuale)

    Dim totale, iva

    if IsNumeric(somma) AND IsNumeric(percentuale) then
    iva = (somma / 100) * percentuale
    totale = somma + iva
    else
    totale = -1
    end if

    calcola_iva = totale

    end function

    Che potrà essere richiamata nel codice, quando necessario, semplicemente con la sintassi:

    ' stampa il totale ...
    Response.Write(calcola_iva(3000, 20))
    ' ... oppure assegna il totale ad una variabile
    totale = calcola_iva(3000, 20)

Ti consigliamo anche