Copy Link
Add to Bookmark
Report

VISUAL BASIC (parte I)

eZine's profile picture
Published in 
bakunin
 · 13 Aug 2022

BAKUNIN
bakunin@meganmail.com

Incominciamo col dire che se non avete VISUAL BASIC non potete creare applicazioni con VISUAL BASIC (e forse è un bene!). Io odio Windoz quindi... ma il VISUAL BASIC è utile, quindi ve lo insegno.

PRIMA APPLICAZIONE

Aprite VB e troverete davanti ai vostri occhi una finestrella che vi chiede che tipo di applicazione creare. Incominciamo con Standard EXE. Ora avrete davanti una finestrella chiamata Form1. Quella è già un'applicazione. E' una finestra del vostro amato Windoz già funzionante. Ovviamente senza un tupo, ma funzionate. Se non mi credete fate click su RUN e poi su START. Per uscire chiudete la finestra cliccando sulla X (ma devo dirvi pure queste cose?).

Facciamo un'applicazione semplice con 3 pulsanti (Sì No Forse), una scritta di domanda (Sono un programma stupido?), e una di risposta (a seconda di cosa clicco).
EX CLARO?

 ------------------------------- 
| Sono un programma stupido? |
| |
| |
| RISPOSTA |
| |
| |
| _______ _______ _______ |
| | Sì | | No | | Forse | |
| ------- ------- ------- |
--------------------------------

Ovviamente voglio che RISPOSTA si veda solo quando io clicco su uno dei 3 pulsanti.

Incominciamo!

Cliccate sull'icona del pulsante e mettetene uno. Premete F4 e vi comparirà (se non c'è già) il menu proprietà. Come NAME mettete si. Come CAPTION mettete &Sì. Vi comparirà scritto sul pulsante Sì. con la S sottolineata. Questo grazie al carattere & che indica i tasti con gli ALT. Ora se eseguite l'applicazione e premete ALT+S è come se premeste il pulsante Si. Fate la stessa cosa con altri 2 pulsanti chiamandoli uno No e l'altro Forse. Ovviamente CAPTION scritto bene, l'altro senza maiuscole e accenti vari. Questo è solamente per proforma, poi fate quello che volete. NAME serve per indicare il pulsante o in genere l'oggetto, CAPTION la scritta sul pulsante.

Ora mettete una frase cliccando su l'icona con l'immagine di una "A". Lasciate stare NAME e mettete su CAPTION ciò che volete che compaia, nel nostro caso "SONO UN PROGRAMMA STUPIDO?". Sotto NAME c'è Alignment. Mette la terza opzione (cioè center) Mettete nuovamente una frase ma come nome mettete "risposta", mentre come CAPTION lasciate quello che c'è già. Cercate poi la scritta VISIBLE (è uno degli ultimi). Mettete false.

NON VI PREOCCUPATE SE NON CAPITE... vi spiego dopo!

OK! ora la struttura è fatta. Cliccate 2 volte su Sì e vi si aprirà il codice. Vi comparirà una cosa simile a questo

Private Sub si_Click() 
End Sub

Ora dobbiamo scrivere quello che vogliamo che faccia il programma se clicckiamo Sì. Scrivete questo:

Private Sub si_Click() 
risposta.Visible = True
risposta.Caption = "LO SO!"
End Sub

Chiudete il codice e cliccate 2 volte sul no.
Mettete questo:

Private Sub no_Click() 
risposta.Visible = True
risposta.Caption = "Mi prendi per il Culo?"
End Sub

Per il forse mettete:

Private Sub forse_Click() 
risposta.Visible = True
risposta.Caption = "Prendi una decisione chiara!"
End Sub

Chiudete tutto e avviatelo cliccando su RUN e START.

BENE! Ora avete creato il vostro primo programma con VB. Siete emozionati?

Incominciamo con le spiegazioni!

SPIEGAZIONI

VB è un linguaggio di programmazione ad oggetti. Cosa vuol dire? Vuol dire che inseriti gli oggetti loro lavorano poi indipendentemente. Tutto è legato a delle finestre di WINDOWZ. La finestra principale si chiama FORM1, ma possiamo cambiare il nome mettendo al posto di CAPTION il titolo della finestra che vogliamo. PARLANDO DELLE PROPRIETA'. Sono divise in varii sotto punti. Fondamentali sono:

NAME		regola il nome dell'oggetto 
CAPTION regola il testo
VISIBLE regola la visibilità dell'oggetto o no
BACKCOLOR il colore di sfondo
BORDERSTYLE tipo di stile del bordo
MAXBUTTON Visualizza o no il pulsante per la massimazione della finestra
MINBUTTON Vedi sopra ma per il bottone del "riduci a icona"
SHOWINTASKBAR Visualizza il programma nella barra di AVVIO come finestra aperta o no
ICON Icona della finestra

Ora parliamo del codice.
Vi ho fatto inserire questo:

Private Sub forse_Click() 
risposta.Visible = True
risposta.Caption = "Prendi una decisione chiara!"
End Sub

Cosa vuol dire? Ho modificato le caratteristiche dell'oggetto "risposta" (che corrisposta alla scritta seconda che abbiamo impostato col nome RISPOSTA). Il principio è che se voglio modificare una proprietà devo fare:

nome_oggetto.nome_proprietà=modifica

nel nostro caso:

risposta.visible=TRUE

Cioè: oggetto risposta.
Proprietà visible
modifica TRUE

Rendo visibile l'oggetto RISPOSTA quando uno clicca sul SI!
Poi modifico anche la scritta e ci metto: Prendi una decisione chiara!

CHIARO?

Spariamoci un altro esempio:
Un'applicazione che ti permetta di valutare da 1 a 10 determinati siti. Cosa ci serve? Un'elenco di siti: Si usano dei COMBOBOX. Lascio a voi il titolo, e la grafica dell'applicazione. Io mi preoccupo solo del sodo! Mettiamone 2.
Il primo lo chiamate SITI
Il secondo VOTI

Poi mettete una LISTBOX per tenere a mente i vostri voti.
La chiamate LISTA

Per finire un pulsante che chiamate AGGIUNGI

Visualizzate il codice (WIEW --> CODE)

Private Sub Form_Load() 
siti.Clear
voti.Clear
lista.Clear

siti.AddItem "www.resurrezione.it"
siti.AddItem "www.vangelo.it"
siti.AddItem "www.lamadonna.it"
siti.AddItem "www.eputt_na.it"
siti.AddItem "www.finchelabarcava.it"
siti.Text = "www.vangelo.it"

voti.AddItem "0"
voti.AddItem "1"
voti.AddItem "2"
voti.AddItem "3"
voti.AddItem "4"
voti.AddItem "5"
voti.AddItem "6"
voti.AddItem "7"
voti.AddItem "8"
voti.AddItem "9"
voti.AddItem "10"
voti.Text = "6"

End Sub

Questo cosa fa? Imposta all'avvio i valori da contenersi all'interno dei ComboBOX.

Ora preoccupiamoci dell'inserzione dei dati nella lista:

Private Sub aggiungi_click() 
lista.AddItem siti.Text + ": " & voti.Text
End sub

Cosa vuol dire? Vuol dire che immette nella lista il contenuto del COMBOBOX selezionato poi un due punti e poi il voto. CHIARO?
Se io clicco su www.lamadonna.it e poi lo voto 1 mi compare:

www.lamadonna.it: 1

Ora complichiamo le cose! Voglio impedire che tu possa votare 2 volte lo stesso sito! Come fare? Metto all'interno de codice AGGIUNGI questo al posto dell'altro:

Private Sub aggiungi_Click() 
Dim i As Integer
For i = 1 To lista.ListCount
If InStr(lista.List(i - 1), siti.Text) > 0 Then
Beep
MsgBox "Ti piace questo sito!! Quante volte vuoi votarlo?.", vbExclamation, "Attenzione!"
Exit Sub
End If
Next i
lista.AddItem siti.Text + ": " & voti.Text
End Sub

Spiego meglio da capo! Il comando ADDITEM permette di inserire dei valori all'interno di una lista o di una combobox. Il comando CLEAR elimina tutti i valori. Il comando voti.text imposta la scritta standard. Vediamo il codice appena inserito:

For contatore = inizio To fine 
.....
Next [contatore]

Effettua le operazioni all'interno quante volte voglio. Nel caso sopra finche non finiscono i valori della lista (ListCount è adibito alla conta dei valori possibili). Se arriva alla fine senza problemi, fa partire l'aggiunga solita già vista prima.

Tra i comandi compresi tra il FOR e il NEXT c'è un ciclo IF.
Il ciclo IF è sempre il solito...

IF questo è vero THEN 
...

Nel nostro caso il comando InStr confronta la una scritta con un'altra. Se lista.LIist(i-1), cioè la riga (ho messo i-1 perché parte da 0 e non da 1 come il valore di i che assume prima 1 poi 2 poi... fino alla fine) è uguale a quello che voglio inserire (siti.text) allora fai...

BEEP (suono)
MsgBox "Ti piace questo sito!! Quante volte vuoi votarlo?.", vbExclamation, "Attenzione!"
(Finestra di messaggio che dice "Ti piace questo..." del tipo EXCLAMAZIONE e con titolo ATTENZIONE!

Ovviamente se avverto che non inserisco la scritta devo uscire prima che la inserisco! Quindi END SUB.

VARIABILI

Semplici da utilizzare:

Dim Nome As String 
Nome = "Michele"

Per chi non sa nulla di programmazione la STRING sono delle variabili di scrittura. Quindi:

BAKUNIN

Se quindi faccio:

Dim Nome As String 
Nome = "Michael Bakunin"
Label1.Caption=Nome

Compare una etichetta col mio nome!

Ecco le altre variabili:

Integer NUMERO INTERO 
Long INTERO LUNGO
Single NUMERO CON VIRGOLA
Double SIMILE A SOPRA MA CON DIFFERENZE che non capireste... PER ORA!

Se volessi che la variabile nome contenesse al massimo 40 caratteri faccio:

Dim Nome As String * 40


FILE

Vogliamo aprire un file?
ECCO COME:

Open "file.dat" for Input As #1

Se volessimo andare alla ricerca del nostro file, basterà fare:

Appl = App.Path 
If Right$(App.Path, 1) <> "\" Then
Appl = Appl + "\"
End If
Open Appl + "borsa.dat" for Input As #1

Ove Appl = App.Path ci mostra la collocazione del file assoluta.

Esistono altri comandi simili:

App.Title 		Questo ci mostra il titolo 
App.Helpfile Il file di guida
App.EXEName Nome del file .exe
App.LegalCopyright informazioni sul copyright
App.Comments Commenti
App.Major e App.Minor Versione del programma
App.PrevIstance Se l'applicazione è già utilizzata da un'altro programma


STAMPA

Printer.Print 		Stampa TUTTO 
Printer.PaintPicture Stampa solo le figure
Printer.PrintForm Stampa il form


LE STRINGE

Vediamo l'esempio:

Dim stringa, risultato As String 
stringa="Vorrei salutare mia mamma!"
risultato = Left(stringa, 6)

Memorizza nella stringa risultato le prime sei lettere della variabile stringa, quindi VORREI. Se Avessi messo Right avrei preso le ultime sei.

Se avessi messo Mid(stringa, 4, 3) avrei presso dal 4 al 3 carattere partendo dalla metà

Utile è anche LEN che da il numero dei caratteri della variabile.

Ecco un esempio:

If Len(stringainput) > 60 Then 
stringainput = Left(stringainput, 60)
Msgbox "Ho memorizzato solo i primi 60 caratteri!", 48, "Attenzione"
End If

Abbiamo visto prima il comando InStr. Vediamo un esempio per capire come funge:

Dim stringa As String 
Dim i As Integer
stringa = "Io vi dico solo una cosa: VIVA BAKUNIN!"
i = InStr(stringa, "BAKUNIN")

Ricerca all'interno della "stringa" la parola BAKUNIN. Se assume il valore 0 vuol dire che non è stata trovata... Altrimenti il valore sarà la posizione esatta della parola.

UCASE LCASE mi danno una variabile tutta maiuscola o tutta minuscola.

Ho tirato fuori la parola MSGBOX.


Ecco che tipi ce ne sono:

VbOKOnly		0	Visualizza solo il pulsante OK. 
VbOKCancel 1 Visualizza i pulsanti OK e Annulla.
VbAbortRetryIgnore 2 Visualizza i pulsanti Termina, Riprova, e Ignora.
VbYesNoCancel 3 Visualizza i pulsanti Si', No e Annulla.
VbYesNo 4 Visualizza i pulsanti Si' e No.
VbRetryCancel 5 Visualizza i pulsanti Riprova e Annulla.


VbCritical 16 Visualizza l'icona di messaggio critico.
VbQuestion 32 Visualizza l'icona di richiesta di avviso.
VbExclamation 48 Visualizza l'icona di messaggio di avviso.
VbInformation 64 Visualizza l'icona di messaggio di informazione.


VbDefaultButton1 0 Il primo pulsante e' il predefinito.
VbDefaultButton2 256 Il secondo pulsante e' il predefinito.
VbDefaultButton3 512 Il terzo pulsante e' il predefinito.
VbDefaultButton4 768 Il quarto pulsante e' il predefinito

PER ORA MI FERMO QUI! CIAO!

← previous
next →
loading
sending ...
New to Neperos ? Sign Up for free
download Neperos App from Google Play
install Neperos as PWA

Let's discover also

Recent Articles

Recent Comments

Neperos cookies
This website uses cookies to store your preferences and improve the service. Cookies authorization will allow me and / or my partners to process personal data such as browsing behaviour.

By pressing OK you agree to the Terms of Service and acknowledge the Privacy Policy

By pressing REJECT you will be able to continue to use Neperos (like read articles or write comments) but some important cookies will not be set. This may affect certain features and functions of the platform.
OK
REJECT