Primi passi nella programmazione in vbs con semplici esempi di iterazioni e cicli
Open Eye realizzazione siti web- info@open-eye.it
Open Eye realizzazione siti web- info@open-eye.it
Visual Basic Script: primi passi
Questo articolo vuole essere un’introduzione al mondo dello scripting in
visual basic script (vbs) e della programmazione in generale. Il motivo per
il quale è stato scelto il vbs come linguaggio di insegnamento è la sua
estrema semplicità di lettura/scrittura, oltre che di “immediatezza” nei
risultati apprezzabili anche dai principianti.
Prima di cominciare con il codice, qualche brevissima nozione di teoria.
Scripting in visual basic - Brevi nozioni teoriche
La prima cosa da tener presente, è che la programmazione è sostanzialmente
una maniera per far fare al computer qualcosa che “non vogliamo” fare noi o che,
semplicemente, sarebbe troppo lungo o difficile fare da soli.
Il computer, però, non è un essere intelligente, anzi. Essendo molto stupido, ha
bisogno che gli venga spiegata ogni cosa passo passo, con delle semplici
istruzioni, per poi eseguirla in maniera estremamente rapida.
Quando scriviamo un programma non facciamo altro che racchiudere tutte le
istruzioni in un unico “documento” che il computer andrà ad eseguire ciecamente
dall’inizio alla fine; le istruzioni, ovviamente, possono essere di vario tipo a
seconda di quello che vogliamo fare, ma possiamo pensare di racchiuderle in tre
grossi tipi:
1. istruzioni “semplici”: sono tutte quelle istruzioni che dicono al computer di
“fare” qualcosa; ad esempio “copia un file”, “fai un suono”, “apri una pagina
internet”, ecc;
2. istruzioni condizionali: sono quelle istruzioni che chiedono al computer di “decidere”
quale azione intraprendere a seconda di una scelta che deve compiere; ad esempio
“se oggi è il primo del mese, manda una mail, altrimenti non fare niente”, “se
l’utente ha premuto invio, mandagli un messaggio di avviso, altrimenti esci dal
programma”, ecc;
3. istruzioni ripetute o “cicli”: sono quelle istruzioni che dicono al computer
di continuare a fare qualcosa fino a che non capita un determinato evento o per
un numero limitato di volte; ad esempio “invia per dieci volte la stessa email”,
“fino a che l’utente non preme il tasto Ok continua a dargli lo stesso avviso”,
ecc.
Tutto quello che gira dentro un computer, tutti i programmi, possono
racchiudersi in una serie di istruzioni che rientrano in uno di questi tre casi…
tutto sta nel tradurre il nostro pensiero in una di queste tre tipologie di
operazione, ed il gioco è fatto!
Vediamo subito qualche esempio pratico di quanto scritto sopra.
Scripting in visual basic - Istruzioni semplici: Hello World.vbs
Come abbiamo detto prima, il primo passo di ogni programma è il “tradurre”
quello che abbiamo in testa in una serie di istruzioni; per tradizione
informatica, il primo programma che si impara a fare in un nuovo linguaggio è il
classico “Hello world”, ovvero dare un’istruzione al computer che gli faccia
visualizzare un messaggio di saluto al mondo… quindi, quello che vogliamo fare è
questo, salutare il mondo!
Contrariamente a moltissimi altri linguaggi di programmazione, il vbs è molto
“user friendly” da questo punto di vista: quello che fa al caso nostro è una
message box, ovvero il classico messaggio che usa windows quando vuole
avvertirci di qualcosa.
Per creare il nostro primo programma basta andare nella cartella dove vogliamo
mettere i nostri esperimenti in vbs, creare un nuovo documento di testo e
rinominarlo in maniera chiara, ad esempio “Hello world.vbs”, confermando la
volontà di cambiare l’estensione del documento quando windows ci chiederà se
siamo sicuri.
Attenzione: per quanto possa essere pedante e noioso, state bene attenti a dare
un nome chiaro al vostro programma, che vi permetta di capire cosa faccia anche
dopo che sono passati anni dal momento in cui l’avete scritto… fidatevi: se
prendete subito questa abitudine, sarà molto più semplice mantenerla in futuro!
Apriamo il nostro file vbs cliccandoci sopra con il tasto destro e scegliendo un
editor di testo (personalmente consiglio textpad con i relativi dizionari).
Scriviamo:
'---------------------
' Name: Hello world.vbs
' Author: Jeff Skyrunner
' Date: 21/06/10
' Desc: Visualizza un messaggio di saluto
'---------------------
' Message Box di saluto
Msgbox "Hello World!"
Et voilà. Salvate e doppio cliccate sul file (ovviamente nella cartella, non sul
documento di testo) e vedrete la vostra bellissima msgbox comparire in tutto il
suo splendore!
Come potete facilmente arguire, tutto quello che c’è prima del carattere ‘ è un
commento e viene ignorato dal computer; serve solamente a noi per commentare e
rendere più leggibile il codice.
Ovviamente, il file sarebbe potuto semplicemente essere composto dalla riga
Msgbox "Hello World!"
Ed il risultato sarebbe stato esattamente lo stesso… tuttavia, esattamente come
per la regola di dare nomi chiari ai file, anche quella di commentare il codice
è una di quelle norme che all’inizio possono essere noiose ed inutili, ma una
volta presa l’abitudine, vi sarà molto più che utile.
Scripting in visual basic - Istruzioni condizionali: Specchio.vbs
Supponiamo adesso di voler realizzare un programma che ripete esattamente
quanto digitato dall’utente, tranne nel caso in cui l’utente digiti la parola “gatto”,
nel qual caso il programma risponde “cane”.
Seguendo quanto scritto nel paragrafo “brevi nozioni teoriche” proviamo a
tradurre questo in uno (o più) dei tipi descritti sopra: “se l’utente scrive
gatto allora rispondi cane, altrimenti ripeti quanto ha scritto”.
Abbastanza facile, no?
Per leggere quanto scrive l’utente, utilizziamo la input box, ovvero una
finestrella che chiede all’utente di digitare qualcosa al suo interno.
Creiamo il nostro file di testo, rinominandolo “Specchio.vbs” e scriviamo:
'-------------------------------
' Name: Specchio.vbs
' Author: Jeff Skyrunner
' Date: 21/06/10
' Desc: Risponde "cane" nel caso in cui l'utente digiti "gatto"
' altrimenti ripete quanto inputato
'------------------------------
' Input Box di lettura del messaggio
sToCompare = InputBox("Scrivi una parola")
' Controllo se la stringa digitata dall'utente e' uguale a quella
' da confrontare
if sToCompare = “gatto” Then
msgbox "Cane"
Else
msgbox sToCompare
End if
Rispetto al programma di prima abbiamo qualche riga in più, ma facilmente
leggibile… l’istruzione
sToCompare = InputBox("Scrivi una parola")
vuol dire “Fai comparire una input box con dentro scritta la frase “Scrivi una
parola” e memorizza quanto scritto dall’utente nella variabile sToCompare”; se
non sapete cosa sia una variabile, potete facilmente immaginarla come un
contenitore all’interno dei quale mettete dei dati, in questo caso le parole
digitate dall’utente.
Il blocco successivo di istruzioni
if sToCompare = “gatto” Then
msgbox "Cane"
Else
msgbox sToCompare
End if
Vuol dire “Se la variabile sToCompare vale “gatto”, allora fai comparire la
scritta “Cane”, altrimenti fai comparire quanto scritto nella variabile
sToCompare”. Notate che il vbs fa differenza tra minuscole e maiuscole, ovvero,
come si dice in gergo, è case sensitive… pertanto, la parola “gatto” è diversa
da “Gatto”…
Se il discorso variabili e confronti è un po’ oscuro, non vi preoccupate, ci
torneremo nelle prossime lezioni. Per il momento l’importante è capire il
funzionamento delle istruzioni condizionali, ovvero del blocco di istruzioni “If
… then … else”.
Scripting in visual basic - Cicli: CicloFor.vbs
E se volessimo ripetere un messaggio dieci volte? Beh, la “traduzione” è
immediata in questo caso e possiamo vederlo direttamente nel codice, creando il
programma CicloFor.vbs
'-------------------------------
' Name: CicloFor.vbs
' Author: Jeff Skyrunner
' Date: 21/06/10
' Desc: Ripete il messaggio 10 volte
'------------------------------
' Ciclo for
For i=1 to 10
msgbox "Sono alla ripetizione numero " + CStr(i)
Next
Il punto centrale del programma è l’istruzione “For … to … Next” che compone il
ciclo; al suo interno c’è l’istruzione
msgbox "Sono alla ripetizione numero " + CStr(i)
Che vuol dire “visualizza una finestra che dice “sono alla ripetizione numero “
e visualizza il valore di i” (l’istruzione CStr(i) vuol dire “converti in
stringa” e serve per permettere al programma di fare “l’appending della stringa”…
ma lo vedremo nelle prossime lezioni); lanciando il programma possiamo quindi
notare che ad ogni iterazione il valore di i aumenta di uno, permettendo quindi
di “contare” fino a 10.
Un alternativa al ciclo for è il ciclo while, che analizzeremo però nelle
prossime lezioni.
Scripting in visual basic - Quarto passo: il trucco
Se si vuole dare un tocco in più di colore, si possono tranquillamente
aggiungere molti altri passaggi per rifinire i dettagli del viso, come ad
esempio applicando colori e tonalità che possano emulare un trucco semplice, che
questo vada dal contorno occhi, al fard, all’ombretto e via dicendo.
Ma concentriamoci sul fard e osserviamo i passaggi per ottenere un risultato che
possa apparire il più possibile realistico.
Andiamo quindi a creare un livello sul quale lavorare, ciccando su livello >
nuovo > livello, scegliete un pennello morbido (del tipo con l’alone /sfumatura
intorno) ed un colore a piacimento; non troppo tenue o pastello per via
dell’applicazione che andremo ad effettuare successivamente, che potrebbe
portare il colore a divenire pressoché invisibile.
A questo punto cominciate a passare il pennello sulle gote, pasticciando fino ad
ottenere un bel mascherone colorato pesante.
In questo caso si può proseguire in due modi, a piacimento:
1- settando il livello dalla tendina su “sovrapponi”
2- ciccando su filtro > sfocatura > controlla sfocatura applicando in questo
modo la sfocatura del fard a vostro piacimento.
Ed il gioco è fatto!
Per quanto riguarda capelli, colore dell'iride, sopracciglia e abiti, il
procedimento è sempre lo stesso a ripetersi con questo settaggio di colorazione
immagine > regolazioni > bilanciamento colore.
Per quanto riguarda invece la colorazione dei denti (nel caso fossero in
evidenza) il procedimento non cambia, ma va effettuato questo settaggio immagine
> regolazioni > tonalità saturazione e settate la luminosità esattamente uguale
a quello usato per il bianco degli occhi.
A cura di Jeff Skyrunner
Il punto centrale del programma è l’istruzione “For … to … Next” che compone il ciclo; al suo interno c’è l’istruzione
msgbox "Sono alla ripetizione numero " + CStr(i)
Che vuol dire “visualizza una finestra che dice “sono alla ripetizione numero “ e visualizza il valore di i” (l’istruzione CStr(i) vuol dire “converti in stringa” e serve per permettere al programma di fare “l’appending della stringa”… ma lo vedremo nelle prossime lezioni); lanciando il programma possiamo quindi notare che ad ogni iterazione il valore di i aumenta di uno, permettendo quindi di “contare” fino a 10.
Un alternativa al ciclo for è il ciclo while, che analizzeremo però nelle prossime lezioni.
Ma concentriamoci sul fard e osserviamo i passaggi per ottenere un risultato che possa apparire il più possibile realistico.
Andiamo quindi a creare un livello sul quale lavorare, ciccando su livello > nuovo > livello, scegliete un pennello morbido (del tipo con l’alone /sfumatura intorno) ed un colore a piacimento; non troppo tenue o pastello per via dell’applicazione che andremo ad effettuare successivamente, che potrebbe portare il colore a divenire pressoché invisibile.
A questo punto cominciate a passare il pennello sulle gote, pasticciando fino ad ottenere un bel mascherone colorato pesante.
In questo caso si può proseguire in due modi, a piacimento:
1- settando il livello dalla tendina su “sovrapponi”
2- ciccando su filtro > sfocatura > controlla sfocatura applicando in questo modo la sfocatura del fard a vostro piacimento.
Ed il gioco è fatto!
Per quanto riguarda capelli, colore dell'iride, sopracciglia e abiti, il procedimento è sempre lo stesso a ripetersi con questo settaggio di colorazione immagine > regolazioni > bilanciamento colore.
Per quanto riguarda invece la colorazione dei denti (nel caso fossero in evidenza) il procedimento non cambia, ma va effettuato questo settaggio immagine > regolazioni > tonalità saturazione e settate la luminosità esattamente uguale a quello usato per il bianco degli occhi.
A cura di Jeff Skyrunner