advertisement

Vb.Net

63 %
38 %
advertisement
Information about Vb.Net

Published on November 14, 2008

Author: mwzero

Source: slideshare.net

Description

Corso Visual Basic.NET
advertisement

Microsoft Visual Basic .NET Maurizio Farina Web: http://www.mfarina.it Mail: admin@mfarina.it

Il framework .NET - Panoramica Piattaforma di sviluppo per applicazioni Desktop Server Architetture client/server , internet ed intranet . .Net (e il suo linguaggio principe, cioè C#) sono standard ISO riconosciuti e quindi non è possibile, da parte della casa madre, modificarne la sintassi.

Piattaforma di sviluppo per applicazioni

Desktop

Server

Architetture client/server ,

internet ed intranet .

.Net (e il suo linguaggio principe, cioè C#) sono standard ISO

riconosciuti e quindi non è possibile, da parte della casa madre,

modificarne la sintassi.

Il framework .NET – Programmazione Windows Applicazioni indipendenti dalla versione di Windows Windows XP + .NET Runtime Windows Server 2000/20003 + .NET Runtime Windows Vista, Windows Server 2008: .NET Nativi Progetto MONO Linux + MONO Runtime Piena portabilità di .Net su sistemi operativi non windows. (per esempio Linux). Tools di conversione Bytecode .NET in Bytecode Java Linguaggi .NET in Java e viceversa

Applicazioni indipendenti dalla versione di Windows

Windows XP + .NET Runtime

Windows Server 2000/20003 + .NET Runtime

Windows Vista, Windows Server 2008: .NET Nativi

Progetto MONO

Linux + MONO Runtime

Piena portabilità di .Net su sistemi operativi non windows. (per

esempio Linux).

Tools di conversione

Bytecode .NET in Bytecode Java

Linguaggi .NET in Java e viceversa

Il framework .NET - CLR CLR, Common Language Runtime CIL, Common Intermediate Language Linguaggi .NET Scrivo il software utilizzando uno dei linguaggi del .NET Il compilatore traduce il software nel CIL Il CLR esegue il CIL. L’esecuzione è JTIng. Ossia compilato al momento dell'esecuzione

CLR, Common Language Runtime

CIL, Common Intermediate Language

Linguaggi .NET

Scrivo il software utilizzando uno dei linguaggi del .NET

Il compilatore traduce il software nel CIL

Il CLR esegue il CIL. L’esecuzione è JTIng. Ossia compilato al momento dell'esecuzione

Il framework .NET - Versioni .NET Framework 3.5 Il .NET Framework 3.5 è stato rilasciato con l'ambiente di sviluppo Visual Studio 2008 il 19 novembre 2007 . È ancora basato sul CLR della versione 2.0, ma ne integra il Service Pack 1. Fine 2007 3.5.21022.8 3.5 Fine 2006 3.0.4506.30 3.0 Fine 2005 2.0.50727.42 2.0 Inizio 2003 1.1.4322.573 1.1 Inizio 2002 1.0.3705.0 1.0 Data di rilascio Numero Versione Versione

.NET Framework 3.5

Il .NET Framework 3.5 è stato rilasciato con l'ambiente di

sviluppo Visual Studio 2008 il 19 novembre 2007 . È ancora

basato sul CLR della versione 2.0, ma ne integra il Service Pack

1.

Il framework .NET - Versioni

Il framework .NET – Visual Basic - Novità Linguaggio orientato ad oggetti (Ereditarietà, Polimorfismo, Overloading) Tipi di dati (sono quelli del framework .NET) Gestione degli errori (costrutti try..catch…finally) Gestione dei thread Nuovi controlli

Linguaggio orientato ad oggetti (Ereditarietà, Polimorfismo, Overloading)

Tipi di dati (sono quelli del framework .NET)

Gestione degli errori (costrutti try..catch…finally)

Gestione dei thread

Nuovi controlli

Il framework .NET – OOP Programmazione procedurale, Programmazione Modulare Non sono garantite le caratteristiche di riusabilità, modificabilità e manutenibilità in quanto i dati sono scollegati dalle operazioni Che si compiono su di essi Programmazione ad Oggetti(OOP) Ogni oggetto è individuato dalle proprietà,dai metodi e dai messaggi Ex. Oggetto: Quadrato Proprietà: Misuara dei lati Azioni: Calcolo dell’area, del perimetro, etc.. Messaggi:E’ la richiesta di un altro oggetto di Calcolare l’area

Programmazione procedurale, Programmazione Modulare

Non sono garantite le caratteristiche di riusabilità, modificabilità

e manutenibilità in quanto i dati sono scollegati dalle operazioni

Che si compiono su di essi

Programmazione ad Oggetti(OOP)

Ogni oggetto è individuato dalle proprietà,dai metodi e dai

messaggi

Ex.

Oggetto: Quadrato

Proprietà: Misuara dei lati

Azioni: Calcolo dell’area, del perimetro, etc..

Messaggi:E’ la richiesta di un altro oggetto di Calcolare l’area

Il framework .NET – OOP Messaggi Costruttori La richiesta di creazione di un oggetto Distruttore La richiesta di distruggere l’oggetto e quindi di deallocare le risorse utilizzate Relazioni fra oggetti Associazioni Due oggetti sono in grado di inviarsi messaggi Aggregazioni Un oggetto contiene oggetti Specializzazioni Un oggetto eredità tutti i metodi di un altro oggetto

Messaggi

Costruttori

La richiesta di creazione di un oggetto

Distruttore

La richiesta di distruggere l’oggetto e quindi di deallocare le

risorse utilizzate

Relazioni fra oggetti

Associazioni

Due oggetti sono in grado di inviarsi messaggi

Aggregazioni

Un oggetto contiene oggetti

Specializzazioni

Un oggetto eredità tutti i metodi di un altro oggetto

Il framework .NET – OOP – Incapsulamento Public Class Quadrato private lato as Integer Public Property Lato as Integer Get Return lato End Get Set(ByVal Value as Integer) lato = Value End Set End Property Public Sub CalcolaArea() System.Console.WriteLine("Area: " + Lato * Lato) End Sub End Class

Public Class Quadrato

private lato as Integer

Public Property Lato as Integer

Get

Return lato

End Get

Set(ByVal Value as Integer)

lato = Value

End Set

End Property

Public Sub CalcolaArea()

System.Console.WriteLine("Area: " + Lato * Lato)

End Sub

End Class

Il framework .NET – OOP – Ereditarietà Public Class Cubo Inherits Quadrato Public Sub CalcolaValume() System.Console.WriteLine(“Volume: " + Lato * Lato * Lato) End Sub End Class

Public Class Cubo Inherits Quadrato

Public Sub CalcolaValume()

System.Console.WriteLine(“Volume: " + Lato * Lato * Lato)

End Sub

End Class

Il framework .NET – OOP – Polimorfismo Public class Quadrato Public Overridable Sub disegna() Console.WriteLine("Metodo disegna della classe Quadreato") End Sub End Class Public class Cubo : Inherits Quadrato Public Overrides Sub disegna() Console.WriteLine("Metodo disegna della classe Cubo ") End Sub End Class Module Module1 Sub Main() Dim quad As Quadrato Dim cub As Cubo quad = New Quadrato() cub = New Cubo() quad.disegna() ' output --> "Metodo disegna della classe Quadrato " cub.disegna() ' output --> "Metodo disegna della classe Cubo " quad = New Cubo() quad. disegna() 'output --> "Metodo disegna della classe Cubo " End Sub End Module

Public class Quadrato

Public Overridable Sub disegna()

Console.WriteLine("Metodo disegna della classe Quadreato")

End Sub

End Class

Public class Cubo : Inherits Quadrato

Public Overrides Sub disegna()

Console.WriteLine("Metodo disegna della classe Cubo ")

End Sub

End Class

Module Module1

Sub Main()

Dim quad As Quadrato

Dim cub As Cubo

quad = New Quadrato()

cub = New Cubo()

quad.disegna() ' output --> "Metodo disegna della classe Quadrato "

cub.disegna() ' output --> "Metodo disegna della classe Cubo "

quad = New Cubo()

quad. disegna() 'output --> "Metodo disegna della classe Cubo "

End Sub

End Module

Il framework .NET – OOP – Astrazione Public MustInherit Class A Public MustOverride Sub Sub1() End Class Public MustInherit Class B : Inherits A Public Sub Sub2() .......... End Sub End Class Public Class C : Inherits B public Overrides Sub Sub1() ' Implementazione del metodo .......... End Sub End Class

Public MustInherit Class A

Public MustOverride Sub Sub1()

End Class

Public MustInherit Class B : Inherits A

Public Sub Sub2()

..........

End Sub

End Class

Public Class C : Inherits B

public Overrides Sub Sub1()

' Implementazione del metodo

..........

End Sub

End Class

Il framework .NET – OOP – Overloading La possibilità di definire più versioni della stessa procedura (Sub) ma con un numero di parametri o tipi di parametri diversi. Public Class Test Public Overloads Sub Prova(ByVal Nome As String) MsgBox("Il nome specificato è: " & Nome & ".") End Sub Public Overloads Sub Prova(ByVal Numero As Integer)    MsgBox("Il numero specificato è: " & Numero & ".") End Sub End Class La parola chiave Overloads è di default quindi può essere omessa.

La possibilità di definire più versioni della stessa procedura

(Sub) ma con un numero di parametri o tipi di parametri diversi.

Public Class Test

Public Overloads Sub Prova(ByVal Nome As String)

MsgBox("Il nome specificato è: " & Nome & ".") End Sub Public Overloads Sub Prova(ByVal Numero As Integer)    MsgBox("Il numero specificato è: " & Numero & ".") End Sub

End Class

La parola chiave Overloads è di default quindi può essere

omessa.

Il framework .NET – OOP – Costruttore E’ possibile eseguire l’overloading anche del costruttore della classe Public Class Test Sub New(ByVal Nome As String) MsgBox("Il nome specificato è: " & Nome & ".") End Sub Sub New(ByVal Numero As Integer)    MsgBox("Il numero specificato è: " & Numero & ".") End Sub End Class Dim t as New Test(“prova”); Dim t as New Test(100); La parola chiave Overloads per il costruttore della classe non Và mai specificato altrimenti si ottiene un errore.

E’ possibile eseguire l’overloading anche del costruttore

della classe

Public Class Test

Sub New(ByVal Nome As String)

MsgBox("Il nome specificato è: " & Nome & ".") End Sub Sub New(ByVal Numero As Integer)    MsgBox("Il numero specificato è: " & Numero & ".") End Sub

End Class

Dim t as New Test(“prova”);

Dim t as New Test(100);

La parola chiave Overloads per il costruttore della classe non

Và mai specificato altrimenti si ottiene un errore.

Il framework .NET – OOP – Distruttore Public Class Form1 Protected Overrides Sub Finalize() MyBase.Finalize() End Sub End Class Il metodo Finalize sarà invocato dalla Garbage Collection

Public Class Form1

Protected Overrides Sub Finalize()

MyBase.Finalize()

End Sub

End Class

Il metodo Finalize sarà invocato dalla Garbage Collection

Il framework .NET – OOP – Visibilità public Visibile all’esterno protected Visibile solo alle classi che ereditano Private Visibile solo all’interno della classe Package (Namespace). Per default la classi di un namespace sono di tipo friend. Namespace N1   Namespace N2     Class Test1       '...     End Class       End Namespace End Namespace Dim Prova1 As New N1.N2.Test1()

public

Visibile all’esterno

protected

Visibile solo alle classi che ereditano

Private

Visibile solo all’interno della classe

Package (Namespace). Per default la classi di un namespace

sono di tipo friend.

Namespace N1   Namespace N2     Class Test1       '...     End Class       End Namespace

End Namespace

Dim Prova1 As New N1.N2.Test1()

Il framework .NET – OOP – RAD Identificazione delle classi e oggetti Relazioni tra le classi Implementazione del Codice

Identificazione delle classi e oggetti

Relazioni tra le classi

Implementazione del Codice

L'ambiente di sviluppo di Visual Studio NET I sorgenti hanno tutti l’estensione .vb I sorgenti sono raggruppati in progetti I progetti possono essere raggruppati in una soluzione

I sorgenti hanno tutti l’estensione .vb

I sorgenti sono raggruppati in progetti

I progetti possono essere raggruppati in una soluzione

Visual Studio NET – Nuovo Progetto Windows Form Application Windows Form Control Library ASP.NET WEB Application ASP.NET Server Control ASP.NET Web Service Application SQL Server Project Reports Application Setup Application

Windows Form Application

Windows Form Control Library

ASP.NET WEB Application

ASP.NET Server Control

ASP.NET Web Service Application

SQL Server Project

Reports Application

Setup Application

Visual Studio NET – Nuovo Progetto E’ possibile scegliere il tipo di progetto e la versione del Framework da utilizzare.

E’ possibile scegliere il tipo di progetto e la versione del

Framework da utilizzare.

Visual Studio .NET – Nuovo Progetto

Visual Studio .NET – Editor di Codice Completamento istruzioni (if..EndIf) Suggerimento metodi Raggrupamento per Sub Clausola Region #Region " Matematica “ Private Function Somma(ByVal A As Double, ByVal B As Double) As Double Return A + B End Function Private Function Sottr(ByVal A As Double, ByVal B As Double) As Double Return A – B End Function #End Region

Completamento istruzioni (if..EndIf)

Suggerimento metodi

Raggrupamento per Sub

Clausola Region

#Region " Matematica “

Private Function Somma(ByVal A As Double, ByVal B As Double) As Double

Return A + B

End Function

Private Function Sottr(ByVal A As Double, ByVal B As Double) As Double

Return A – B

End Function

#End Region

Visual Studio NET – Nuovo Item Selezionanto il nome del progetto con il tasto destro è possibile aggiungere un nuovo item.

Selezionanto il nome del progetto con il tasto destro è possibile

aggiungere un nuovo item.

Visual Studio NET – Lista dei Task Visualizzare gli errori presenti nel programma Consente di definire delle annotazioni all'interno del codice Consente di aggiungere Task senza riferimento al codice.

Visualizzare gli errori presenti nel programma

Consente di definire delle annotazioni all'interno del codice

Consente di aggiungere Task senza riferimento al codice.

Il linguaggio VB.NET I moduli : Contenitori per procedure, funzioni o variabili Module Esempio Console.WriteLine("Hello World!") Console.ReadKey() End Module Namespace: Raggruppamenti di classi Namespace Esempio Class Class1 … End Class Class 2 … End class End Namespace

I moduli : Contenitori per procedure, funzioni o variabili

Module Esempio

Console.WriteLine("Hello World!")

Console.ReadKey()

End Module

Namespace: Raggruppamenti di classi

Namespace Esempio

Class Class1



End Class

Class 2



End class

End Namespace

Il linguaggio VB.NET Dichiarazione Variabili Dim [Nome] as [tipo] Tipo generico Object valore di minimo 10 bytes, composto da una sequenza si caratteri. String valore a 4 bytes che può assumere due valori, True (vero) e False (falso). Boolean decimale da circa -1,79e+308 a +1,79e+308, con un intervallo minimo di circa 4,9e-324 Double decimale da circa -3,4e+38 a +3,4e+38, con un intervallo minimo di circa 1,4e-45 Single intero a 32 bit da -2147483648 a +2147483647 Int64 o Long: intero a 64 bit da circa -922000000000000000 a +9220000000000000000 Int32 o Integer intero a 16 bit che può assumere valori da -32768 a +32767 Int16 o Short valore a 8 bit che può assumere i valori di ogni carattere della tastiera (compresi quelli speciali) Char intero a 8 bit che può assumere valori da 0 a 255 Byte

Dichiarazione Variabili

Dim [Nome] as [tipo]

Il linguaggio VB.NET – Conversione Dati [Variabile] = CType([Valore da convertire], [Tipo in cui convertire]) Dim I As Int32 = 50 Dim B As Byte = CType(I, Byte) TypeOf Dim I As Int32 If TypeOf I Is Int32 Then ‘… End If

[Variabile] = CType([Valore da convertire], [Tipo in cui convertire])

Dim I As Int32 = 50

Dim B As Byte = CType(I, Byte)

TypeOf

Dim I As Int32

If TypeOf I Is Int32 Then

‘…

End If

Il linguaggio VB.NET Variabili static Static B As Byte Static I As Int32 = 60 Procedure Sub [nome]([modo] [parametro1] As [tipo], [eccetera]) 'corpo della procedura End Sub Function Function [nome]([modo] [parametro1] As [tipo],[eccetera]) As [tipo] 'corpo delle funzione Return [valore restituito] End Function Passaggio di parametri ByVal Viene passato il valore del parametro ByRef Viene passato il riferimento alla variabile Optional Indica che il parametro non è obbligatorio

Variabili static

Static B As Byte

Static I As Int32 = 60

Procedure

Sub [nome]([modo] [parametro1] As [tipo], [eccetera])

'corpo della procedura

End Sub

Function

Function [nome]([modo] [parametro1] As [tipo],[eccetera]) As [tipo]

'corpo delle funzione

Return [valore restituito]

End Function

Passaggio di parametri

ByVal

Viene passato il valore del parametro

ByRef

Viene passato il riferimento alla variabile

Optional

Indica che il parametro non è obbligatorio

Il linguaggio VB.NET Delegate I delegate sono puntatori a funzioni Delegate [Sub/Function]([Elenco parametri]) Esempio: Delegate Sub Display(ByVal Message As String) Sub Write1(ByVal S As String) Console.WriteLine("1: " & S) End Sub Dim D As Display D = New Display(AddressOf Write1) D("Ciao")

Delegate

I delegate sono puntatori a funzioni

Delegate [Sub/Function]([Elenco parametri])

Esempio:

Delegate Sub Display(ByVal Message As String)

Sub Write1(ByVal S As String)

Console.WriteLine("1: " & S)

End Sub

Dim D As Display

D = New Display(AddressOf Write1)

D("Ciao")

Il linguaggio VB.NET Costanti Const Pi As Single = 3.1415926535897932 Strutture Structure [nome] Dim [campo1] As [tipo] Dim [campo2] As [tipo] '... End Structure Costrutto With With [Nome struttura] .[campo1] .[campo2] End With Enumeratori Enum [Nome dell'Enumeratore] [as] [Tipo] [nome valore1] [nome valore2] '... End Enum

Costanti

Const Pi As Single = 3.1415926535897932

Strutture

Structure [nome]

Dim [campo1] As [tipo]

Dim [campo2] As [tipo]

'...

End Structure

Costrutto With

With [Nome struttura]

.[campo1]

.[campo2]

End With

Enumeratori

Enum [Nome dell'Enumeratore] [as] [Tipo]

[nome valore1]

[nome valore2]

'...

End Enum

Il linguaggio VB.NET Costrutto If If [Condizione] Then [istruzioni] Else [istruzioni alternative] End If Costrutto Select Case Select Case [Nome variabile] Case [valore1] 'istruzioni Case [valore2] 'istruzioni Case [valore3] 'istruzioni End Select

Costrutto If

If [Condizione] Then

[istruzioni]

Else

[istruzioni alternative]

End If

Costrutto Select Case

Select Case [Nome variabile]

Case [valore1]

'istruzioni

Case [valore2]

'istruzioni

Case [valore3]

'istruzioni

End Select

Il linguaggio VB.NET Costrutto Select Case – Esempi Select Case Campo1 Case 1 Case 2 Case 3 Case 4 End Select Select Case Campo1 Case 1 Or 2 Or 3 'istruzioni Case 4, 6, 7 'istruzioni End Select Select Case Campo1 Case Is <= 5 Case Is > 5 End Select

Costrutto Select Case – Esempi

Select Case Campo1

Case 1

Case 2

Case 3

Case 4

End Select

Select Case Campo1

Case 1 Or 2 Or 3

'istruzioni

Case 4, 6, 7

'istruzioni

End Select

Select Case Campo1

Case Is <= 5

Case Is > 5

End Select

Il linguaggio VB.NET – Do…Loop Do 'istruzioni Loop While [condizione] Do While [condizione] 'istruzioni Loop Do 'istruzioni Loop Until [condizione] Do Until [condizione] 'istruzioni Loop Esegue le istruzioni specificate fintanto che una condizione rimane valida, ma tutte le istruzioni vengono eseguite almeno una volta, poichè While si trova dopo Do Esegue le istruzioni specificate fintanto che una condizione rimane valida, ma se la condizione non è valida all'inizio, non viene eseguita nessuna istruzione nel blocco Esegue le istruzioni specificate fino a che non viene verificata la condizione, ma tutte le istruzioni vengono eseguite almeno una volta, poichè Until si trova dopo Do Esegue le istruzioni specificate fino a che non viene soddisfatta la condizione, ma se la condizione è valida all'inizio, non viene eseguita nessuna istruzione del blocco

Do

'istruzioni

Loop While [condizione]

Do While [condizione]

'istruzioni

Loop

Do

'istruzioni

Loop Until [condizione]

Do Until [condizione]

'istruzioni

Loop

Il linguaggio VB.NET Costrutto While…End While While [condizione] 'istruzioni End While Esempio: While campo1 < 10 Console.WriteLine(“Campo1“ + campo1) a += 1 'Incrementa di 1 End While Per terminare immediatamente un ciclo while è necessario utilizzare Exit While

Costrutto While…End While

While [condizione]

'istruzioni

End While

Esempio:

While campo1 < 10

Console.WriteLine(“Campo1“ + campo1)

a += 1 'Incrementa di 1

End While

Per terminare immediatamente un ciclo while è

necessario utilizzare Exit While

Il linguaggio VB.NET Costrutto For..To For [variabile] As [tipo] = [valore] To [numero] 'istruzioni Next Esempio: For campo1 as Int16=1 to 10 ‘ Istruzioni Next

Costrutto For..To

For [variabile] As [tipo] = [valore] To [numero]

'istruzioni

Next

Esempio:

For campo1 as Int16=1 to 10

‘ Istruzioni

Next

Il linguaggio VB.NET - Array Monodimensionali Dim [nome]([numero elementi - 1]) As [tipo] Esempio: Dim Campo(5) as Int16 Campo(0) Campo(1) Campo(2) Campo(3) Campo(4) Campo(5) Monodimensioanle con valori Dim Saluti() As String = {“Ciao&quot;, “Buongiorno&quot;, “ Arrivederci”)

Monodimensionali

Dim [nome]([numero elementi - 1]) As [tipo]

Esempio:

Dim Campo(5) as Int16

Campo(0)

Campo(1)

Campo(2)

Campo(3)

Campo(4)

Campo(5)

Monodimensioanle con valori

Dim Saluti() As String = {“Ciao&quot;, “Buongiorno&quot;,

“ Arrivederci”)

Il linguaggio VB.NET - Array A più dimensioni Dim [nome]([numero elementi - 1],,) As [tipo] Oppure Dim [nome]([numero elementi - 1])()() As [tipo] Esempio: Dim Campo(9)() As Byte For I As Byte = 0 To 9 ReDim Piano(9)(9) Next

A più dimensioni

Dim [nome]([numero elementi - 1],,) As [tipo]

Oppure

Dim [nome]([numero elementi - 1])()() As [tipo]

Esempio:

Dim Campo(9)() As Byte

For I As Byte = 0 To 9

ReDim Piano(9)(9)

Next

Il linguaggio VB.NET - Array Operazioni Clear() : cancella elementi Clone() : crea una coppia esatta dell'array Copy() / CopyTo() : Copia gli elementi di un array in un altro array Find / FindLast () : Cerca elementi in un array GetLength() : restituisce la dimensione dell'array Reverse() : inverte l'ordine di tutti gli elementi Sort() : ordina alfabeticamente l'array A.

Operazioni

Clear() : cancella elementi

Clone() : crea una coppia esatta dell'array

Copy() / CopyTo() : Copia gli elementi di un array in un altro array

Find / FindLast () : Cerca elementi in un array

GetLength() : restituisce la dimensione dell'array

Reverse() : inverte l'ordine di tutti gli elementi

Sort() : ordina alfabeticamente l'array A.

Il linguaggio VB.NET - Arraylist, Hashtable e SortedList Arraylist Dim [nome] As New Arraylist Add(x) : aggiunge Remove(x) : rimuove RemoveAt(x) : rimuove l'elemento che si trova nella posizione x IndexOf(x) : restituisce l'indice (ossia la posizione) dell'elemento x Contains(x) : restituisce vero se x è contenuto nell'arraylist, altrimenti falso Clear : pulisce l'arraylist eliminando ogni elemento Clone : restituisce una copia esatta dell'arraylist Hashtable ContainsKey(x) / ContainsValue(x) : restituisce vero se la chiave o il valori specificati sono presenti nell'hashtable Keys / Values : restituisce un collezione di tutte le chiavi o di tutti i valore presenti nell'hashtable. SortedList

Arraylist

Dim [nome] As New Arraylist

Add(x) : aggiunge

Remove(x) : rimuove

RemoveAt(x) : rimuove l'elemento che si trova nella posizione x

IndexOf(x) : restituisce l'indice (ossia la posizione) dell'elemento x

Contains(x) : restituisce vero se x è contenuto nell'arraylist, altrimenti falso

Clear : pulisce l'arraylist eliminando ogni elemento

Clone : restituisce una copia esatta dell'arraylist

Hashtable

ContainsKey(x) / ContainsValue(x) : restituisce vero se la chiave o il valori specificati sono presenti nell'hashtable

Keys / Values : restituisce un collezione di tutte le chiavi o di tutti i valore presenti nell'hashtable.

SortedList

Il linguaggio VB.NET For…Each Dim I As [tipo] For Each I In [array/collection] '... Next Esempio: Dim Interi() As Int16 = {0, 4, -2, 60, 190, -3090} For Each Numero As Int16 In Interi Console.WriteLine(Numero) Next

For…Each

Dim I As [tipo]

For Each I In [array/collection]

'...

Next

Esempio:

Dim Interi() As Int16 = {0, 4, -2, 60, 190, -3090}

For Each Numero As Int16 In Interi Console.WriteLine(Numero)

Next

Il linguaggio VB.NET - Threading Definizione di un Thread Dim th as Threading.Thread Sub da eseguire nel Thread Private Sub TheThread() While True Threading.Thread.Sleep(1000) End While End Sub Start ed Abort del Thread t = New Threading.Thread(AddressOf Me.TheThread) t.Start() t.Abort()

Definizione di un Thread

Dim th as Threading.Thread

Sub da eseguire nel Thread

Private Sub TheThread()

While True

Threading.Thread.Sleep(1000)

End While

End Sub

Start ed Abort del Thread

t = New Threading.Thread(AddressOf Me.TheThread)

t.Start()

t.Abort()

Il linguaggio VB.NET – Threading - Sincronizzazione SynckLock Private Shared LockObject As New Object() SyncLock LockObject If Str = &quot;Ciao&quot; Then I += 1 End If End SyncLock Monitor Private Shared LockObject As New Object() Try Monitor.Enter(LockObject) Catch Ex As Exception … Finally Monitor.Exit() End Try

SynckLock

Private Shared LockObject As New Object()

SyncLock LockObject

If Str = &quot;Ciao&quot; Then

I += 1

End If

End SyncLock

Monitor

Private Shared LockObject As New Object()

Try

Monitor.Enter(LockObject)

Catch Ex As Exception



Finally

Monitor.Exit()

End Try

Il linguaggio VB.NET – Threading - Sincronizzazione Mutex Private Shared mtx As New Threading.Mutex() For i As Integer = 0 To 10 Dim myThread As New Threading.Thread(AddressOf Me.TheThread) myThread.Start(100) Next Private Sub TheThread(ByVal ix As Integer) Try mtx.WaitOne() '... Catch ex As Exception Finally mtx.ReleaseMutex() End Try End Sub

Mutex

Private Shared mtx As New Threading.Mutex()

For i As Integer = 0 To 10

Dim myThread As New Threading.Thread(AddressOf Me.TheThread)

myThread.Start(100)

Next

Private Sub TheThread(ByVal ix As Integer)

Try

mtx.WaitOne()

'...

Catch ex As Exception

Finally

mtx.ReleaseMutex()

End Try

End Sub

Form E’ necessario creare una Windows Application Eredita la classe System.Windows.Forms.Form Contiene sempre un costruttore e distruttore di default E’ possibile accedere alla sub InitializeComponent

E’ necessario creare una Windows Application

Eredita la classe System.Windows.Forms.Form

Contiene sempre un costruttore e distruttore di default

E’ possibile accedere alla sub InitializeComponent

Form – Hello World Visualizzare una messagebox sul load della form Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load MsgBox(&quot;HelloWorld&quot;) End Sub

Visualizzare una messagebox sul load della form

Private Sub Form1_Load(ByVal sender As System.Object, ByVal e

As System.EventArgs) Handles MyBase.Load

MsgBox(&quot;HelloWorld&quot;)

End Sub

Form Utilizzo dei Form come oggetti Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim frm As New Form2() frm.ShowDialog() End Sub Utilizzo dei controllo .NET ActiveX Validare gli input dell'utente Private Sub Form1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles MyBase.KeyPress Select Case e.KeyChar      Case &quot;A&quot;, &quot;E&quot;, &quot;I&quot;, &quot;O&quot;, &quot;U&quot;, &quot;a&quot;, &quot;e&quot;, &quot;i&quot;, &quot;o&quot;, &quot;u&quot; MsgBox(&quot;E' stata digitata una vocale.&quot;) Case Else MsgBox(&quot;E' stata digitata una consonante.&quot;)   End Select End Sub Creare menu, barre di stato e barre di strumenti

Utilizzo dei Form come oggetti

Private Sub Button1_Click(ByVal sender As System.Object,

ByVal e As System.EventArgs) Handles Button1.Click

Dim frm As New Form2() frm.ShowDialog()

End Sub

Utilizzo dei controllo .NET ActiveX

Validare gli input dell'utente

Private Sub Form1_KeyPress(ByVal sender As Object,

ByVal e As System.Windows.Forms.KeyPressEventArgs)

Handles MyBase.KeyPress Select Case e.KeyChar     

Case &quot;A&quot;, &quot;E&quot;, &quot;I&quot;, &quot;O&quot;,

&quot;U&quot;, &quot;a&quot;, &quot;e&quot;, &quot;i&quot;, &quot;o&quot;, &quot;u&quot; MsgBox(&quot;E' stata digitata una vocale.&quot;)

Case Else MsgBox(&quot;E' stata digitata una consonante.&quot;)   End Select

End Sub

Creare menu, barre di stato e barre di strumenti

Form – il Namespace System.Window.Forms Classi Strutture Interfacce Delegati Enumerazioni

Classi

Strutture

Interfacce

Delegati

Enumerazioni

Form – Gestione degli eventi Handles Consente di indicare al compilatore che la funcion è in grado di gestire eventi   Private Sub Clic(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click, Button2.Click If sender.Equals(Button1) Then MsgBox(&quot;E' stato fatto clic sul pulsante Button1.&quot;) ElseIf sender.Equals(Button2) Then    MsgBox(&quot;E' stato fatto clic sul pulsante Button2.&quot;) End If End Sub Questa operazione è possibile solo se gli eventi prevedono lo stesso numero di parametri e dello stesso tipo.

Handles

Consente di indicare al compilatore che la funcion è in grado

di gestire eventi

  Private Sub Clic(ByVal sender As Object, ByVal e As EventArgs) Handles Button1.Click, Button2.Click

If sender.Equals(Button1) Then

MsgBox(&quot;E' stato fatto clic sul pulsante Button1.&quot;)

ElseIf sender.Equals(Button2) Then    MsgBox(&quot;E' stato fatto clic sul pulsante Button2.&quot;) End If

End Sub

Questa operazione è possibile solo se gli eventi prevedono lo

stesso numero di parametri e dello stesso tipo.

Gestione degli errori – Utilizzare il Debugger E’ possibile inserire nel codice i Breakpoint L’esecuzione del programma si ferma sul breakpoint e ci Consente di valutare le variabili

E’ possibile inserire nel codice i Breakpoint

L’esecuzione del programma si ferma sul breakpoint e ci

Consente di valutare le variabili

Gestione degli errori – Debugger – Attach the process E’ possibile eseguire il debugging anche di un’applicazione

E’ possibile eseguire il debugging anche di un’applicazione

Gestione degli errori – try…catch…finally try 'Codice che potrebbe generare un errore. Catch 'Codice da eseguire in caso di errore. Finally 'Codice da eseguire sia che si sia verificato un errore nel blocco try sia che non ci siano stati problemi. End try Regole di utilizzo In un costrutto try è necessario specificare almeno una Catch oppure una Finally; è possibile specificare più clausole Catch è consentito inserire solo una clausola Finally Per uscire da un blocco try si deve usare l'istruzione Exit try

try

'Codice che potrebbe generare un errore.

Catch 'Codice da eseguire in caso di errore.

Finally 'Codice da eseguire sia che si sia verificato un errore nel blocco try sia che non ci siano stati problemi.

End try

Regole di utilizzo

In un costrutto try è necessario specificare almeno una Catch oppure una Finally;

è possibile specificare più clausole Catch

è consentito inserire solo una clausola Finally

Per uscire da un blocco try si deve usare l'istruzione Exit try

Gestione degli errori – esempio: Try Dim A As Byte = 100 Dim B As Byte = A * A Catch ex As OverflowException MsgBox(&quot;Si è verificato un errore: &quot; & ex.Message) End try La viaribile A è di tipo Byte quindi non è ingrado di memorizzare il valore 10000 e genera l’eccezione OverflowException. Try Dim A As Byte = 100 Dim B As Byte = A * A Catch es as Exception MsgBox(&quot;Si è verificato un errore: &quot; & ex.Message) End try

Try

Dim A As Byte = 100 Dim B As Byte = A * A

Catch ex As OverflowException

MsgBox(&quot;Si è verificato un errore: &quot; & ex.Message)

End try

La viaribile A è di tipo Byte quindi non è ingrado di

memorizzare il valore 10000 e genera l’eccezione

OverflowException.

Try

Dim A As Byte = 100 Dim B As Byte = A * A

Catch es as Exception

MsgBox(&quot;Si è verificato un errore: &quot; & ex.Message)

End try

Web Form – Oggetto Page – Ciclo di Vita Page_Init Il primo evento. Page_Load I controlli Server sono caricati nell’oggetto Pagina. La View State è visibile Page_PreRender L’applicazione visualizza la pagina Page_Unload L’oggetto Page è pronto per la deallocazione dalla memoria Page_Disposed L’oggetto pagine è rilasciato dalla memoria. Questo è l’ultimo evento. Page_Error Si è verificato un errore. Page_AbortTransaction La transazione è stata abortita. Page_CommitTransaction La transazione è stata accettata Page_DataBinding Gli oggetti della pagina hanno eseguito il binding dei dati

Page_Init Il primo evento.

Page_Load I controlli Server sono caricati nell’oggetto Pagina. La View State è visibile

Page_PreRender L’applicazione visualizza la pagina

Page_Unload L’oggetto Page è pronto per la deallocazione dalla memoria

Page_Disposed L’oggetto pagine è rilasciato dalla memoria. Questo è l’ultimo evento.

Page_Error Si è verificato un errore.

Page_AbortTransaction La transazione è stata abortita.

Page_CommitTransaction La transazione è stata accettata

Page_DataBinding Gli oggetti della pagina hanno eseguito il binding dei dati

Web Form Controlli Server built-in Supporto per i WebServices e XML Il namespace System.Web.UI Gestione degli eventi Utilizzare e creare gli User Control I Server Control

Controlli Server built-in

Supporto per i WebServices e XML

Il namespace System.Web.UI

Gestione degli eventi

Utilizzare e creare gli User Control

I Server Control

#region presentations

Add a comment

Related pages

Visual Basic .NET – Wikipedia

Visual Basic .NET (Abk. VB.NET) ist eine Programmiersprache, die auf dem Microsoft.NET Framework aufbaut. Sie wurde 2002 publiziert und ist keine einfache ...
Read more

VB-Paradise 2.0 — Die große Visual–Basic– und .NET–Community

VB-Paradise ist eine große, deutschsprachige Community, die alle Themen rund um die Programmiersprache Visual Basic (VB6, VB.NET, VBA, VBS) und die .NET ...
Read more

Visual Basic – Wikipedia

Visual Basic ist eine Programmiersprache von Microsoft. Von ihr gibt es zwei Ausprägungen: Visual Basic Classic behandelt Visual Basic bis zur Version 6 ...
Read more

Visual Basic .NET - msdn.microsoft.com

VB6- und VB.NET-Anwendungs-Konfiguration leicht gemacht. Verteilung von Visual-Basic-.NET-Programmen. Verwenden des .NET-Frameworks mit Visual Basic.NET.
Read more

vb@rchiv · Willkommen in der Welt der VB Programmierung

VB.NET ADO.NET VBA C# : vb@rchiv Quick-Search: RSS-Feeds | Newsletter | Impressum | Datenschutz | vb@rchiv CD Vol.6 | Shop: Copyright ©2000-2016 ··· HOME
Read more

Newest 'vb.net' Questions - Stack Overflow

Visual Basic.NET (VB.NET) is a multi-paradigm, managed, type-safe, object-oriented computer programming language. Along with C# and F#, it is one of the ...
Read more

VB.Net Programmieren - Lernen - online - Anleitung ...

VB.Net Programmierung lernen: Mit unserem Kurs lernen Sie die Programmiersprache VB, wir geben Ihnen die Anleitung um in VB zu programmieren
Read more

VB.NET - CodeProject

VB.NET - Free source code and tutorials for Software developers and Architects.; Updated: 14 Jun 2016
Read more

VBnet™ Visual Basic Developers Resource Centre

Win32 API code for Visual Basic developers. Reference, code samples, FAQ.
Read more

VB.NET Tipps: Multithreading - msdn.microsoft.com

Diesen Artikel können Sie dank freundlicher Unterstützung von Microsoft Press auf MSDN Online lesen. Microsoft Press ist ein Partner von MSDN Online.
Read more