• Visual Basic 6 - III - Sub e Function

    In Visual Basic abbiamo due tipi di Routine: Sub e Function.
    Le Sub sono routine che svolgono dei determinati passaggi e vengono richiamate per avviare un evento.
    Le Function sono routine che rielaborano dei dati e restituiscono un risultato.

    Facciamo un esempio:
    Abbiamo quattro TextBox (Text1, Text2, Text3 e Text4) e vogliamo che alla variazione del testo di una qualsiasi delle prime tre TextBox venga ricalcolato un certo algoritmo che dia il risultato in Text4 (consideriamo di immettere solo valori numeri nelle TextBox, più avanti vedremo come impostare i caratteri accettati e quelli non accettati).

    codice:
    Private Sub Text1_Change ()
    Call CalcolaRisultato
    End Sub
    
    Private Sub Text2_Change ()
    Call CalcolaRisultato
    End Sub
    
    Private Sub Text3_Change ()
    Call CalcolaRisultato
    End Sub
    
    Private Sub CalcolaRisultato ()
    Dim x, y, z, Risultato As Long
    x = Text1.Text
    y = Text2.Text
    z = Text3.Text
    Risultato = z - ((x^2) / y)
    Text4.Text = Risultato
    End Sub
    Ora poniamo invece il caso di dover fare delle operazioni sui valori contenuti in Text1, Text2 e Text3 alterandoli.

    codice:
    Private Sub Text1_Change ()
    Text1.Text = ElevaAlCubo (Text1.Text)
    End Sub
    
    Private Sub Text2_Change ()
    Text1.Text = ElevaAlCubo (Text2.Text)
    End Sub
    
    Private Sub Text3_Change ()
    Text1.Text = ElevaAlCubo (Text3.Text)
    End Sub
    
    Private Function ElevaAlCubo (Numero as Long)
    ElevaAlCubo = Numero ^ 3
    End Function
    Ovviamente in questi esempi l'utilizzo di routine separate è superfluo, però quando vi troverete ad avere un progetto con centinaia di righe di codice sarete ben contenti di eliminare il codice doppio e sfruttare delle pratiche Sub o Function.

    Esistono molte Function Built-In in VB6, ne elenco alcune anche se sono davvero moltissime.

    Controlli numerici
    Val (String As String) 'Converte il contenuto testuale di una stringa in numeri, nel caso la stringa contenga già numeri converte il tipo di dato da String a Double, rendendolo quindi un dato numerico.
    Int (Number) 'Converte un qualsiasi numero in Intero, quindi approssima eliminando la virgola


    Controlli sulle stringhe

    InStr (Start As Long, String1 As String, String2 As String) 'Trova la posizione (come numero) di String2 nella stringa String1 cominciando a cercarla dalla posizione Start in poi, serve quindi per trovare una sub-stringa (String2) all'interno di una stringa (String1).
    Right (String As String, Lenght As Long) 'Restituisce la stringa String tagliata partendo da destra tenendo solo il numero di caratteri specificato in Lenght
    Mid (String As String, Start As Long, Lenght As Long) 'Restituisce la stringa tagliata partendo dalla posizione specificata in Start tenendo solo il numero di caratteri specificato in Lenght
    Tutte queste Function le troverete sul portale MSDN (la risorsa online di VisualBasic gestita da Windows).

    Nella prossima lezione spiegherò i cicli For To Next e Do While Loop
  • Chi c'è on-line?Chi c'è on-line?

    Ci sono attualmente 93 utenti connessi. 4 utenti e 89 ospiti

    1. gianluca93
    2. il killer
    3. Titanius
    4. |Rubino|
  • BetaShare Sound Theme