• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

In sviluppo Guida Visual Basic Concetti sintassi e WindowsForms

#Tuttarealstep

Utente Esperto
Autore del topic
31 Agosto 2010
1.421
68
Miglior risposta
0
Questa e la mia prima guida in visualbasic. Iniziamo:

Introduzione:


La Programmazione è una disciplina, che serve per sviluppare,creare,mantenere un software, uno dei linguaggi base e il C# ma in questa guida si parlerà dei Visual basic .NET. Una volta sviluppato un programma, lo si deve testare per trovare bugs e, come ultima operazione, bisogna aggiornare continuamente il programma. Però l'aggiornamento solo in caso di veri e propri programmi.
Prima di iniziare, una breve sintesi di alcuni dettagli tecnici: i termini da conoscere, e gli ambienti di sviluppo da usare.

Termini da imparare:

Codice sorgente: In poche parole il codice che scriviamo
Compilatore: il software utilizzato per creare il programma (un eseguibile *.exe) a partire dal solo codice sorgente
Debugger: il software che si usa per testare cosa appena creato e trovare eventuali bugs.

Ambiente di sviluppo
L'ambiente di sviluppo che useremo come riferimento per questa guida è Visual Basic 2008 e 2010 (
Perfavore, Entra oppure Registrati per vedere i Link!
)


Moduli, Classi e Namespace​


Le Classi:

Una classe non è altro che la rappresentazione,astratta di qualcosa di concreto. Ad esempio, in un programma che deve gestire una libreria, ogni libro è rappresentato da una classe; in un programma per la fatturazione dei clienti, ogni cliente e ogni fattura vengono rappresentati da una classe. Insomma, ogni cosa trova la sua rappresentazione in una classe.

Per essere usabile, però, una classe deve venire prima dichiarata, mediante un preciso codice. L'atto di dichiarare una qualsiasi entità le permette di iniziare ad "esistere": il programmatore deve servirsi di qualcosa che è già stato creato da qualche parte, e senza di quello non può costruire niente. Con la parola "entità" mi riferisco a qualsiasi cosa si possa usare in programmazione: Se non avete capito niente iniziamo con la pratica:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

[NomeClasse] Dovrete inserire un nome che varia da cosa farete nel programma tipo:

Un programma che utilizza il quadrato:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

I Moduli:
I moduli non sono niente altro che dei tipi speciali di classi. La differenza sostanziale tra i due termini verrà chiarita più avanti nella guida.

I Namespace:

I namespace non sono nient'altro che Contenitori di Classi e di moduli capirete con un esempio Pratico:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Il Framework:

Visual Basic utilizza il FrameWork
Versioni del Framework
Con il passare degli anni, a partire dal 2002, Microsoft ha rilasciato versioni successive del Framework .NET e ognuna di queste release ha introdotto nuovi concetti di programmazione e nuove possibilità per lo sviluppatore. Parallelamente all'uscita di queste nuove versioni, sono state create anche edizioni successive del linguaggio VB.NET, ognuna delle quali è stata naturalmente accostata alla versione del Framework su cui si reggeva. Ecco una rapida panoramica dell'evoluzione del linguaggio:
VB2002: si basa sulla versione 1.0 del Framework
VB2003: si basa sulla versione 1.1 del Framework
VB2005: si basa sulla versione 2.0 del Framework. Questa è la versione maggiormente utilizzata in questa guida, sebbene certi capitoli si concentreranno sull'introduzione di alcuni nuovi aspetti portati da VB2008
VB2008: si basa sulla versione 3.5 del Framework. La versione 3.0 si fondava ancora sulla 2.0 del CLR e perciò le modifiche consistevano sostanzialmente nell'aggiunta di alcuni componenti e nell'apporto di diverse migliorie e correzioni
VB2010: si basa sulla versione 4.0 del Framework Presa da Totems Lairs

Utilizzo dell'IDE
Esempi di IDE Visual Basic 2008 o 2010 Express.IDE significa: "Integrated Development Environment","ambiente di sviluppo integrato" ed indica un software che aiuta il programmatore nella creazione del codice. Visual Basic 2010 Express sebbene e gratis ha già un numero molto alto di strumenti e tools. Contiene, ovviamente, un editor di codice sorgente, progettato in modo da evidenziare in modo differente le keywords e da supportare molte funzioni di ricerca e raggruppamento.
Se non lo avete Scaricato Prima riecco il link:
Perfavore, Entra oppure Registrati per vedere i Link!



Iniziamo Con La Pratica:​

Creare una Console Application​

In tutti gli esempi finché non passerò al windows Form, farò uso di applicazioni console (la finestrella con lo sfondo nero), che lavorano in DOS. Per creare una Applicazione Console bisogna selezionare dal menù File del compilatore, la voce Nuovo Progetto, e quindi scegliere il tipo di applicazione desiderata. Dopodichè, il compilatore scriverà aumaticamente alcune righe di codice preimpostate:

2uj3udf.jpg



Le righe di codice dovrebbero essere queste:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Compilazione del programma finito​

Una volta finito di scrivere il codice e di testarlo usando le funzioni dell'IDE (ivi compresa l'esecuzione in modalità debug premendo F5), sarà necessario creare il programma finito.

Variabili E Costanti

Iniziamo con Un Vero è Proprio Programma

Una variabile è uno spazio di memoria RAM (Random Access Memory) in cui vengono allocati dei dati dal programma, ed è possibile modificarne od ottenerne il valore facendo riferimento ad un nome che si definisce arbitrariamente. Questo nome si dice anche identificatore (o, più raramente, mnemonico), e può essere costituito da un qualunque insieme di caratteri alfanumerici e underscore.

Esempio:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

5ulgg5.jpg


Premendo la freccia verde o F5 Quando si aprirà la schermata Vedrete il numero 4 Perchè?
Ora vediamo.
Come avrete notato, le variabili si dichiarano in un modo specifico, usando le keywords Dim e As:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Dove [nome] è l'identificatore con cui ci si riferisce ad una variabile e [tipo] il tipo di dato contenuto nella variabile. Esistono molteplici tipi di variabile fra cui è possibile scegliere. Ecco un elenco dei tipi base (che sono considerati keywords):
Byte: intero a 8 bit che può assumere valori da 0 a 255;
Char: valore a 8 bit che può assumere i valori di ogni carattere della tastiera (compresi quelli speciali);
Int16 o Short: intero a 16 bit che può assumere valori da -32768 a +32767;
Int32 o Integer: intero a 32 bit da -2147483648 a +2147483647;
Int64 o Long: intero a 64 bit da circa -922000000000000000 a +9220000000000000000;
Single: decimale da circa -3,4e+38 a +3,4e+38, con un intervallo minimo di circa 1,4e-45;
Double: decimale da circa -1,79e+308 a +1,79e+308, con un intervallo minimo di circa 4,9e-324;
Boolean: dato a 4 bytes che può assumere due valori, True (vero) e False (falso). Nonostante la limitatezza del suo campo di azione, che concettualmente potrebbe restringersi ad un solo bit, il tipo Boolean occupa 32bit di memoria: sono quindi da evitare grandi quantità di questo tipo;
String: valore di minimo 10 bytes, composto da una sequenza di caratteri. Se vogliamo, possiamo assimilarlo ad un testo;
Object: rappresenta un qualsiasi tipo (ma non è un tipo base). Preso da totem's Lair

Nell'esempio proposto, il codice:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Come si è visto dall'esempio, con le variabili di tipo numerico si possono eseguire operazioni aritmetiche. Gli operatori messi a disposizione dal Framework sono:
+ : addizione
- : sottrazione
* : prodotto
/ : divisione
: divisione tra interi (restituisce come risultato un numero intero a prescindere dal tipo degli operandi, che possono anche essere decimali)
Mod : restituisce il resto di una divisione intera
= : assegna alla variabile posta a sinistra dell'uguale il valore posto dopo l'uguale
& : concatena una stringa con un numero o una stringa con un'altra stringa.

Esempio:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Esistono poi degli speciali operatori di assegnamento, che velocizzano l'assegnazione di valori:
esempio:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Le frasi dopo ' si chiamano commenti non influiscono sul funzionamento del programma.

Le costanti

Abbiamo visto che il valore delle variabili può essere modificato a piacimento.Mentre Le costanti no. Esistono per semplificare le operazioni.
Esempio, invece di digitare 3,1415926535897932 per il Pi greco, è possibile dichiarare una costante, nome Pi che abbia quel valore ed utilizzarla nelle espressioni. La sintassi per dichiarare una costante è la seguente:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Esempio nel programma:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Tipi Reference e tipi Value

Tipi Reference​
Ogni cosa nel Framework è un oggetto e la maggior parte di essi sono tipi reference. Si dicono tipi reference tutti quei tipi che derivano direttamente dalla classe System.Object, questa classe è dichiarata all'interno di una libreria della Base Class Library. Utilizzando l'operatore uguale "=",questo meccanismo, un determinato valore viene depositato nella casella di memoria che la variabile occupa. Ebbene, facendo uso dei tipi reference, questo non avviene. Quando si utilizza l'uguale per assegnare un valore a tali variabili, quello che effettivamente viene riposto nella loro parte di memoria è un puntatore intero a 32bit (su sistemi operativi a 32bit).Quando una variabileviene impostata a Nothing, la parte dell'heap managed che l'oggetto occupa viene rilasciata durante il processo di garbage collection ("raccolta dei rifiuti"). Tuttavia, ciò non avviene subito, poichè il meccanismo del Framework fa in modo di avviare la garbage collection solo quando è necessario, quindi quando la memoria comincia a scarseggiare: supponendo che un programma abbia relativamente pochi oggetti, questi potrebbero "vivere" indisturbati fino alla fine del programma anche dopo essere stati logicamente distrutti:

Nothing​

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Nothing è una costante di tipo reference che rappresenta l'assenza di un oggetto piuttosto che un oggetto inesistente. Infatti, porre una variabile oggetto uguale a Nothing = distruggerla logicamente.
La distruzione logica non coincide con la distruzione fisica dell'oggetto, perchè il processo di liberazione della memoria viene avviato solo quando è necessario. Non è possibile assegnare Nothing a un tipo value è possibile usare speciali tipi value che supportano tale valore.

Tipi Value​

Ogni tipo value deriva dalla classe System.ValueType, che deriva da System.Object, ma ne ridefinisce i metodi. Ogni variabile di questo tipo contiene effettivamente il proprio valore. Inoltre, esse hanno dei vantaggi in termini di memoria e velocità: occupano in genere meno spazio; data la loro posizione sullo stack.
Nota: non è possibile distruggere logicamente una variabile value, fatta eccezione per certi tipi derivati.

Is e =​

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Notare che a1 = a2 non sara un valore identico ma occupa lo stesso spazio di memoria, ma in sostanza a1 e uguale ad a2 = sono lo stesso oggetto.

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Per Capire se i 2 oggetti siano uguali si può utilizzare Is per verificare che due variabili puntino allo stesso oggetto.

Boxing e Unboxing

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Si dice Boxing quando ad esempio q e un tipo value mentre w reference, w e q sono due tipi diversi ma il .NET Assegan ad oguno lo stesso valore ed ecco perchè si dice Boxing.

Invece Unboxing e il processo inverso cioè che ad un timo reference si assegna un valore di value, Le operazione sono le stesse ma al contrario.

Il costrutto If​

If in italiano tradotto in se si usa per moltissime cose nel Visual Basic,

If permette di controllare se una cosa e vera o e stata fatta

Esempio:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

In italiano: Se lato e minore di 0
Console.WriteLine("Il lato non può avere una misura negativa!")

altrimenti
Console.WriteLine("L'area del quadrato è: " & Lato * Lato)

Fine del se

Nel controllo if si può utilizzare

> : maggiore
< : minore
= : uguaglianza
<> : diverso
>= : maggiore o uguale
<= : minore o uguale
Is : identicità (solo per tipi reference)
IsNot : negazione di Is (solo per tipi reference) preso da totem's lair

Ma bisogna sempre ricordarsi di utilizzare questa sintassi:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Oppure

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Con quest'ultima in italiano sarebbe: Se [Condizione] fai [istruzione] altrimenti

L'importanza di Else If al posto di If nidificati

If o se come già detto prima diventa difficile ogni volta fare

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

esempio di if nidificati in windows form:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Si può utilizzare ElseIf

Esempio:
Codice:
Perfavore, Entra oppure Registrati per vedere i codici!


Poi ci sono altre cose ma Passiamo Alle più importanti prima Del windows Forms

Usare Il Try

Nel .NET quelli che si dicono "errori" sono più propriamente, Eccezioni e sono anch'esse rappresentate da una classe: la classe base di tutte le eccezioni è System.Exception, da cui derivano tutte le varianti per le specifiche eccezioni, esiste anche uno specifico costrutto che serve per gestirle, e prende il nome di Try. Ecco la sua sintassi:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Passiamo Al

Windows Forms​

Il windows Forms e la "parte grafica del programma" Parliamo di button TextBox Ecc..

Iniziamo con il fare un nuovo progetto andate su: File/Nuovo Progetto/ Scegliere Windows Form Application

wj9kxu.jpg


Dopo vi dovrebbe venire una cosa così:

ephyeg.jpg


Iniziamo con le varie parti dell' IDE:

La finestra denominata "Esplora Soluzioni" permette di navigare all'interno della soluzione corrente e vederne le varie parti. Una soluzione è l'insieme di due o più progetti, o, se si tratta di un progetto singolo, coincide con esso.

2mydx82.jpg


Finestra delle proprietà
Contiene un elenco di tutte le proprietà dell'elemento selezionato nel designer e permette di modificarle direttamente dall'ambiente di sviluppo. Il box sottostante contiene anche una breve descrizione della proprietà selezionata.

15odo8y.jpg


Premendo il pulsante con l'icona del fulmine in cima alla finestra, si aprirà la finestra degli Eventi


Tool più utilizzati:

24msyl5.jpg


Iniziamo Con un vero e proprio programma non utile ma per test:

Mettete un button

veok1j.jpg


Cosi:

Cliccate due volte sul button:

e scrivere così:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

E premete F5 e una volta cliccato il bottone verrà visualizzato una msgbox con scritto ciao mondo, ecco uno screen.

2cfwmbm.jpg



Label e Textbox

Label:
Proprietà secondo me più utili:
AutoSize : se attiva, ridimensiona la label per aderire alla lunghezza del testo.
TextAlign : permette di allineare il testo in 9 modi diversi, combinando i tre valori di allineamente verticale (Top, Center, Bottom) con i tre valori di allineamento orizzontale (Left, Center, Right). L'allineamento non è effettivo se AutoSize = True.

TextBox
Proprietà secondo me più utili da conoscere:
MaxLength : massima lunghezza del testo, in caratteri;
CharacterCasing : indica il casing delle lettere. Ci sono tre valori possibili: None (tutte le lettere vengono lasciate così come sono), Upper (tutte le lettere sono convertite in maiuscole) o Lower (tutte in minuscole);
Lines : restituisce un array di stringhe rappresentanti tutte le righe di testo della textbox, nel caso di una textbox Multiline;

Esempio di un programma:

Con label e textbox Calcolare l'area di un quadrato , parte grafica:

2vafmog.jpg


Passiamo Al codice:

Codice:
Perfavore, Entra oppure Registrati per vedere i codici!

Screen tutti miei:
Alcuni codici presi da:
Perfavore, Entra oppure Registrati per vedere i Link!

Alcune parti della guida prese da:
Perfavore, Entra oppure Registrati per vedere i Link!

Per adesso e tutto domani l'aggiorno di nuovo,
 
Ultima modifica:
Riferimento: Guida Visual Basic Concetti sintassi e WindowsForms

Direi che è molto più utile delle migliaia di guide per creare webbrowser e varie, bel lavoro ;)
 
Riferimento: Guida Visual Basic Concetti sintassi e WindowsForms

Veramente un bel lavoro, così verranno chiariti eventuali errori da parte dei meno esperti.
 
Riferimento: Guida Visual Basic Concetti sintassi e WindowsForms

A parte qualche problema con l'italiano, è lodevole ...
 
Riferimento: Guida Visual Basic Concetti sintassi e WindowsForms

Sarebbe lodevole se non fosse copiata ( anche se in parte ) :
Perfavore, Entra oppure Registrati per vedere i Link!
Cmq l'ho vista la guida, non ho copiato, molte cose che sono scritte li le ho citate, e una, mia interpretazione di quella guida, per il resto, non sapevo bene come spiegare la prima parte, ma adesso che la sto continuando sarà solo mia, sarà scritto dopo che ho finto di scriverà visto che dovevo fare una cosa urgete che alcune parti, le ho prese da totem's lair, come avevo già scritto per esempio
Dove [nome] è l'identificatore con cui ci si riferisce ad una variabile e [tipo] il tipo di dato contenuto nella variabile. Esistono molteplici tipi di variabile fra cui è possibile scegliere. Ecco un elenco dei tipi base (che sono considerati keywords):
Byte: intero a 8 bit che può assumere valori da 0 a 255;
Char: valore a 8 bit che può assumere i valori di ogni carattere della tastiera (compresi quelli speciali);
Int16 o Short: intero a 16 bit che può assumere valori da -32768 a +32767;
Int32 o Integer: intero a 32 bit da -2147483648 a +2147483647;
Int64 o Long: intero a 64 bit da circa -922000000000000000 a +9220000000000000000;
Single: decimale da circa -3,4e+38 a +3,4e+38, con un intervallo minimo di circa 1,4e-45;
Double: decimale da circa -1,79e+308 a +1,79e+308, con un intervallo minimo di circa 4,9e-324;
Boolean: dato a 4 bytes che può assumere due valori, True (vero) e False (falso). Nonostante la limitatezza del suo campo di azione, che concettualmente potrebbe restringersi ad un solo bit, il tipo Boolean occupa 32bit di memoria: sono quindi da evitare grandi quantità di questo tipo;
String: valore di minimo 10 bytes, composto da una sequenza di caratteri. Se vogliamo, possiamo assimilarlo ad un testo;
Object: rappresenta un qualsiasi tipo (ma non è un tipo base). Preso da totem's Lair
@System sapevo che tu la conoscevi dopo aver fatto quell'esercizio che hai anche postato. Addeso che la finisco alla fine scrivo che alcune parti le ho prese da quella guida.
 
Riferimento: Guida Visual Basic Concetti sintassi e WindowsForms

Cmq l'ho vista la guida, non ho copiato, molte cose che sono scritte li le ho citate, e una, mia interpretazione di quella guida, per il resto, non sapevo bene come spiegare la prima parte, ma adesso che la sto continuando sarà solo mia

Non sarà "solo tua" perché tu mentre stai studiando da quella guida scriverai cose lette in quella guida e non ha senso.

sarà scritto dopo che ho finto di scriverà visto che dovevo fare una cosa urgete che alcune parti, le ho prese da totem's lair, come avevo già scritto per esempio

...non ho capito una parola di quello che hai scritto...

sapevo che tu la conoscevi dopo aver fatto quell'esercizio che hai anche postato. Addeso che la finisco alla fine scrivo che alcune parti le ho prese da quella guida.

Quella guida la conosco da tempo...e comunque avresti dovuto scriverlo prima.
 
Riferimento: Guida Visual Basic Concetti sintassi e WindowsForms

Comunque ho aggiornato dove non hai capito volevo dire che ho scritto adesso che alcune parti le ho prese da quella guida.
Non lo ho aggiunto prima perché dovevo andare via.
 
Ultima modifica:
Riferimento: Guida Visual Basic Concetti sintassi e WindowsForms

Ah ... no ... così non va .... le cose copiate non mi piacciono ... non ci sono scuse che tengano ... qwe