Funzioni di Visual Basic 6
Funzioni di controllo:
Queste righe sono equivalenti.
If x > 0 Then y = 10 Else y = 20
y = IIf(x > 0, 10, 20)
La classica selezione a tre scelte.
If x > y Then
Print "X più grande di Y"
ElseIf x < y Then
Print "X minore di Y"
Else
Print "X uguale a Y"
End If
Potete utilizzare la seguente versione più breve.
Forma abbreviata, basata sulle funzioni Sgn() e Choose().
Notate che il risultato di Sgn() viene mantenuto nell'intervallo 1 - 3.
Print "X " & Choose(Sgn(x - y) + 2, "minore di", "uguale a", "più grande di") & " Y"
La funzione Switch accetta un elenco di coppie (condizione, valore) e restituisce il primo valore che corrisponde a una condizione che viene valutata come True. Notate ad esempio come potete utilizzare questa funzione per sostituire il seguente blocco Select Case.
Select Case x
Case Is <= 10
y = 1
Case 11 To 100
y = 2
Case 101 To 1000
y = 3
Case Else
y = 4
End Select
E' possibile ottenere lo stesso effetto in un'unica riga.
L'ultima espressione "True" sostituisce la clausola "Else".
y = Switch(x <= 10, 1, x <= 100, 2, x <= 1000, 3, True, 4)
ATTENZIONE Benchè a volte le funzioni IIf, Choose e Switch siano utili per ridurre la quantità di codice da scrivere, sappiate che sono sempre più lente della struttura If o Select Case che sostituiscono: per questo motivo è preferibile non utilizzarle nei loop in cui il tempo è un aspetto critico.
Funzioni di formattazione numeriche:
Visual Basic 6 ha introdotto tre nuove funzioni di formattazione per i numeri, FormatNumber, FormatPercent, FormatPercent
In tutti i casi, Espressione è il valore a cui applicare il formato. NumCifreDecimali (facoltativa) è il valore numerico che specifica il numero di cifre decimali da visualizzare. Il valore predefinito è -1, che indica che vengono utilizzate le impostazioni internazionali del sistema. CifraIniziale (facoltativa) costante Tristate che specifica se per i valori frazionari deve essere visualizzato o meno uno zero iniziale.NumeriNegativiTraParentesi (facoltativa) costante Tristate che specifica se i valori negativi devono essere racchiusi o meno tra parentesi. CifreRaggruppate (facoltativa) costante Tristate che specifica se deve essere utilizzato un separatore delle migliaia. Per gli ultimi tre argomenti opzionali possono essere utilizzati uno dei valori seguenti: 0 = TristateFalse, -1 = TristateTrue o -2 = TristateUseDefault (l'impostazione predefinita per la località dell'utente).
Funzioni per le Stringhe.
La documentazione VB omette costantemente il carattere $ finale in tutte le funzioni stringa e invita a utilizzare le nuove funzioni $-less (ossia prive del simbolo $ finale): non fatelo, poichè una funzione $-less restituisce un Variant contenente il risultato a stringa, il che significa che nella maggior parte dei casi il Variant deve essere riconvertito in una stringa per poter essere riutilizzato nelle espressioni o assegnato a una variabile String. Si tratta di un processo lento che non porta nessun vantaggio.
Select Case StrComp(primo, secondo, vbTextCompare)
Case 0
'primo = secondo (per esempio "VISUAL BASIC" e "Visual Basic")
Case -1
'primo < secondo (per esempio "C++" e "Visual Basic")
Case 1
'primo > secondo (per esempio "Visual Basic" e "Delphi")
End Select
Print StrConv(Text, vbUpperCase) ' "NEW YORK, USA"
Print StrConv(Text, vbLowerCase) ' "new york, usa"
Print StrConv(Text, vbProperCase) ' "New York, Usa"
FormatDateTime(Data[,FormatoSpecifico])
Testato su: Tutti i Sistemi operativi