Ecco la seconda lezione
Argomenti trattati:
-Funzioni val e cstr
-le istruzioni msgbox ed inputbox
-le condizioni (if)
Per prima cosa vi spiegherò le funzioni val e cstr:
la funzione val() serve a convertire una stringa in numero
facciamo subito un esempio:
| num=val(text1.text) |
in questo spezzone di codice si prende il contenuto del textbox "text1" e lo si mette
nella variabile "num", ma come ben sapete il textbox non è altro che una normale casella
di testo, e le caselle di testo contengono appunto testo, che noi, con la funzione val()
andremo a convertire in numero...
La funzione cstr(), invece, converte un numero in stringa:
| label1.caption=cstr(num) |
In questo caso andiamo a scrivere nella label "label1" (che è un contenitore di testo), il contenuto
c'è da dire che al posto di cstr() si può usare anche str(), è la stessissima cosa.
Da notare che il compilatore di vb, per piccoli programmini, traduce automaticamente le stringhe in numeri e viceversa,
ma quando si tratta di programmi un pò più complessi, si possono verificare degli errori, quindi consiglio di usare già
da adesso le funzioni val() e str()
Vi ricordate il programmino della scorsa lezione?
andiamo ad aggiustarlo con quanto appreso fino ad'ora:
| Private Sub cmdcalcola_Click()
'dichiarazione variabili Dim num1 As Integer Dim num2 As Integer Dim risultato As Integer num1 = val(txtnum1.Text) num2 = val(txtnum2.Text) risultato = num1 + num2 'output lblris.Caption = str(risultato) End Sub |
Ecco fatto:
non abbiamo fatto altro che convertire in numeri il contenuto dei due
textbox e in stringa il contenuto della variabile risultato.
Andiamo ora a vedere cosa sono i messagbox e gli inputbox
I "messagbox" sono delle normali finestre, tipo quelle che compaiono con windows quando c'è un messaggio di errore:
Facciamo per esempio comparire il messaggio "Ciao mondo!" alla pressione di un command, procediamo così:
| MsgBox "Ciao mondo", vbInformation, "MESSAGGIO" |
dovremmo ottenere questo risultato:
![]() |
la sintassi è la seguente:
msgbox è il nome dell'istruzione
"Ciao Mondo" é il messaggio da far comparire nel msgbox
vbinformation è l'icona da fa comparire nel messaggio, e può essere scritta sia in numeri che in lettere, e può anche contenere i tasti da includere nel messaggio(se non si mette niente vuol dire che comparirà solo il tasto ok). per sapere tutte le costanti delle icone e dei tasti basta andare sul sito della guida in linea al seguente indirizzo: http://msdn2.microsoft.com/it-it/library/zf31e8be(VS.80).aspx .
Se per esempio vogliamo far comparire un messaggio con i tasti "OK" e "ANNULLA" la costante da usare è "vbOKCancel" e se vogliamo usare la costante numerica è "1"e poi mettiamo anche l'icona di prima "vbInformation (la costante numerica è 64)
| msgbox "Ciao mondo!", vbInformation+vbOKCancel,"messaggio" |
e il risultato sarà questo:
![]() |
"MESSAGGIO" è il l'intestazione del nostro messaggio.
Da ricordare che le varie parti vanno divise da una virgola.
La Funzione "inputbox" come si capisce permette all'utente di far inserire un dato in input:
Mettiamo il caso che si vuole chiedere il nome dell'utente con un inputbox, si dovrebbe usare ques'istruzione:
| nome=Inputbox("Inserisci il nome", "NOME") |
e otterremo il seguente risultato:
![]() |
questa funzione non credo abbia bisogno di ulteriori spiegazioni,
anche perchè è simile al msgbox, solo che non si possono mettere ne
tasti e ne icone.
Da ricordare che il valore restituito da un inputbox deve essere
sempre conservato in una variabile e se si chiede in input un numero si
usa la funzione
val(), per esempio se volessimo chiedere l'età si farebbe così:
| età=val(Inputbox("Inserisci l'età", "ETA'")) |
Andiamo ora a vedere come gestire una condizione, cioè ad eseguire delle operazioni solo al verificarsi di una certa condizione.
La funzione che ci permette di fare questo è la funzione "if"
Mettiamo il caso che si voglia vedere se l'età inserita da un utente sia maggiore di 18 oppure no, e nel caso vero si faccia
comparire un messaggio affermativo, o nel caso falso un messaggio negativo.
Per prima cosa la sintassi della funzione if è la seguente:
if condizione then
operazioni da eseguire nel caso vero
else
operazioni da eseguire nel caso falso
end if
Quindi il nostro codice sarà:
| If età>17 then
msgbox "L persona è maggiorenne", vbinformation, "MAGGIORENNE" else msgbox "La persona è minorenne", vbinformation, "MINORENNE" end if |
da notare che è possibile avere anche if senza il caso else:
| if condizione then
operazioni da eseguire nel caso vero end if |
Mettiamo ora il caso che vogliamo far comparire un messaggio solo se l'utente è maggiorenne, ma ha meno di 30 anni:
| If età>17 and età<30 then
msgbox "La persona è maggiorenne", vbinformation, "MAGGIORENNE" else msgbox "La persona è minorenne", vbinformation, "MINORENNE" end if |
Come avete visto ho usato l'operatore logico and, che fa eseguire
le operazioni del caso vero solo se entrambe le condizioni sono vere,
andiamo a vedere gli altri operatori logici:
And è usato per la congiunzione
or è usato per la disgiunzione.
E' possibile avere anche più if uno nell'altro (questi if sono detti nidificati)
Facciamo un esempio, usando lo stesso poblema di prima, ma senza l'operatore logico and:
| If età>17 then
if età<30 then msgbox "La persona è maggiorenne ed ha meno di 30 anni", vbinformation, "MAGGIORENNE" else msgbox "La persona è maggiorenne ma ha più di 30 anni", vbinformation, "MAGGIORENNE" end if else msgbox "La persona è minorenne", vbinformation, "MINORENNE" end if |