Camuso Dot It
accelera il tuo apprendimento
home   Videolezioni

Dispense
Videoesercizi

Slides (ppt)
Esercizi

Links


Visual Studio - componenti .NET (10 videolezioni)

02-03-07 I principali componenti WinForm di Visual Studio 2005 (con C#) in 70 minuti.
VERSIONE PIU' COMPLETA rispetto a quella del 21-12-06

Descrizione Facendo seguito alla richiesta di alcuni utenti pubblico una nuova videolezione sui controlli visuali di base .NET per lo sviluppo di applicazioni Windows. E' una carrellata nella quale ogni componente viene presentato a sè a differenza del progetto 'MiniCad' sicuramente più intrigante ma anche più complesso e lungo da seguire ...

NOTA: questa videolezione è una riedizione più completa di quella del 21/12 a cui sono stati aggiunti diversi controlli; in questa manca però la parte introduttiva all'ambiente e si va 'subito al sodo' cioè all'uso dei componenti.

Contenuti:
- button
- textbox
- label
- listbox
- combobox
- checkbox
- radio button
- picture box
- date time picker
- richt text box
- GroupBox
- Panel
- SplitContainer
- TabControl
- menu strip
- context menu strip
- ToolStrip
- color dialog
- font dialog
- open/save file dialog

 

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)
Download


1h e 7m  di videolezione   click qui  47 MByte

 

21-12-06 I principali componenti WinForm di Visual Studio 2005 (con C#) in 70 minuti.
Introduzione rapida allo sviluppo di una applicazione Win Form con:

Prerequisiti: conoscenza elementare di un linguaggio di programmazione.
Errata Corrige: nella videolezione ne cito un'altra sui componenti dateTimePicker, numericUpDown, ImageList, TreeView; in realtà non esiste ma trovate un esercizio con progetto pronto e commentato qui.

Descrizione

Contenuti:
- Creazione di una applicazione WinForm
- button
- textbox (conversioni stringhe<->numeri)
- listbox
- combobox
- checkbox
- radio button
- menu
- color dialog
- font dialog
- open/save dialog

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)
Download


1h 11m  minuti di videolezione   click qui  40 MByte
errate corrige:
ho tolto il riferimento ad un inesistente progetto usato per la videolezione.

 

Introduzione all'ambiente Visual Studio 2005 con C#  - ottava  parte
Prerequisiti: video corso sul C/C++ e videolezioni precedenti sullo stesso argomento.

Descrizione

Contenuti:
- rileggere da disco i dati sulle figure da disegnare precedentemente salvati su un file di testo
- uso dell'oggetto streamReader
- gestione dell'eccezione sollevata quando non viene trovato un certo file
- metodo Peek per rilevare la fine di un file di testo
- metodo readLine, conversione da stringa a intero (argb) a colore
- leggere dati da un file binario (riconoscere l'header di una immagine PNG)
- uso del BinaryReader e metodo read
- uso elementare degli strumenti di refactoring (solo rinomina di un identificatore)
- esemplificazione si strutture try ... catch annidate
- esemplificazione di una scansione completa dei byte di un file binario (perchè è meglio non usare PeekChar  per rilevare la fine di un file binario che si sa non contenere solo testo)
- salvataggio dei dati relativi alle figure su un file binario
- oggetti BinaryWritersaveDialogBox
- creazione di un file binario
- aggiunta alle classi di tutte le figure di un metodo per salvare i dati sul file binario
- metodo write
- uso di Pad o PadRigth delle stringhe per ottenere più facilmente record a lunghezza fissa
-
uso di un editor binario freeware (witched) per controllare cosa è stato effettivamente scritto sul file
- lettura dei dati delle figure dal file binario e ricostruzione del disegno a video; uso del metodo trim per togliere gli spazi inutili da una stringa, uso del metodo ReadInt32
- navigare in un file binario con il metodo seek
- modifica di una porzione arbitraria di un file binario 

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)

 

Download


1h e 5 minuti di videolezione   click qui  31 MByte

 clic qui per il progetto usato nella videolezione

 

 

Introduzione all'ambiente Visual Studio 2005 con C#  - settima  parte
Prerequisiti: video corso sul C/C++ e videolezioni precedenti sullo stesso argomento.

Descrizione

Contenuti:
- le properties, metodi get e set; separazione dell'implementazione interna dall'accesso esterno (trasformare la proprietà 'colore' delle figure nella property corrispondente; un assegnamento alla proprietà ridisegna la figura con il nuovo colore)
- cenni alla modifica dell'implementazione interna (cambio di tipo) della property colore per evidenziare come se si adattano i metodi get e set affinchè continuino a restituire i tipi di valori precedenti: per tutto il codice che usava la classe prima della modifica è come se non fosse cambiato niente
- file di testo: struttura, vantaggi e svantaggi;
- stream, streamreader e streamwriter;
- aggiungere righe ad un file di testo nuovo con il metodo  writeline;
- gestione asincrona dell'I/O: il problema del buffer e l'importanza di chiamare il metodo Close
-
aggiungere righe ad un file esistente senza perdere il vecchio contenuto
- gestione degli errori di Input/Output: le eccezioni; il costrutto try ... catch ... finally; throw
-
aggiungere al 'MiniCAD' il salvataggio su un file di testo di tutte le figure
 

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)

 

Download


1h e 10 minuti di videolezione   click qui  32 MByte

 clic qui per il progetto usato nella videolezione

 

 

Introduzione all'ambiente Visual Studio 2005 con C#  - sesta  parte
Prerequisiti: video corso sul C/C++ e videolezioni precedenti sullo stesso argomento.

Descrizione Contenuti:
- Aggiunta di un ToolstripContainer in modo da poter agganciare ai lati della finestra le barre dei bottoni
- Aggiungere un menu all'applicazione: menu su più livelli, associare shortcut key (combinazioni di tasti per richiamare le voci del menu), associare un'immagine ad ogni voce del menu
- Dirottare gli eventi da un controllo ad un altro (oppure richiamare dal gestore di un evento di un controllo il gestore di un evento di un altro controllo)
- Richiamare da menu il dialog box standard di Windows per scegliere un file
- Aggiungere una seconda form all'applicazione e sua apertura da menu istanziando un nuovo oggetto tipo Form; differenza tra apertura normale e modale;
- Chiudere una form: differenza tra Close() e Hide() per il recupero di informazioni da una form
- Aggiunta di checkbox, radiobutton,  e textbox e principali proprietà / evento principale
- Interrogare lo stato dei controlli di una form dopo che è stata nascosta
- duplicare gli oggetti (ottenere una fila di checkbox)
- Programmare l'evento Load di una form per aggiungere tante righe ad una combo quanti sono i bottoni di una toolbar presente su un altra form; ogni riga viene costruita con informazioni specifiche estratte dalle proprietà di ogni bottone
- Generare controlli a run time su una form (un ArrayList di checkbox)
- Aggiungere gestori di eventi ai controlli creati a run time


 

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)

 

Download


1h e 23 minuti di videolezione   click qui  41 MByte

 clic qui per il progetto usato nella videolezione

 

Introduzione all'ambiente Visual Studio 2005 con C#  - quinta  parte
Prerequisiti: video corso sul C/C++ e videolezioni precedenti sullo stesso argomento.

Descrizione

Contenuti:
- aggiungere al miniCad la possibilità di tracciare linee usando il mouse
- gestione dell'evento MouseDown e MouseUp per identificare gli estremi della linea da tracciare
- distinguere qual'è il bottone del mouse premuto in un certo momento
- aggiungere il disegno di rettangoli (con metodi per il calcolo del perimetro e dell'area: servono per esemplificare il meccanismo del late/dynamic binding più avanti)
- i quadrati come classe specializzata dei rettangoli: ridefinizione di un metodo per il calcolo del perimetro più efficiente
- conformità di tipo e static/early binding: esemplificazione con rettangoli e quadrati
- uso della keyword new per metodi nella classe figlia che devono oscurare quelli della classe madre
- aggiungere il disegno di ellissi
- gestione degli eventi keyDown e keyUp per far tracciare dei cerchi scegliendo come figura l'ellisse e tenendo premuto il tasto CTRL durante il disegno
- gestione dell'evento mouseMove per tracciare/cancellare in tempo reale la sagoma delle figure durante lo spostamento del mouse
-  aggiungere il disegno a mano libera
-  memorizzare le figure che vengono via via disegnate in una lista dinamica (ArrayList)
- attivare il late/dynamic binding (keyword virtual e override) sul metodo 'disegna'; breve confronto con le tecniche non OOP per capire le potenzialità di questo meccanismo
- gestione dell'evento paint per ridisegnare le figure quando la finestra viene spostata oltre i limiti dello schermo o viene nascosta dietro un'altra finestra: uso del foreach con la collezione ArrayList di figure
 

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)

 

Download


1h e 21 minuti di videolezione   click qui  41 MByte

 clic qui per il progetto usato nella videolezione

 

Introduzione all'ambiente Visual Studio 2005 con C#  - quarta parte
Prerequisiti: video corso sul C/C++ e videolezioni precedenti sullo stesso argomento.

Descrizione

Contenuti:
- introduzione teorica (breve) all'ereditarietà
- progetto delle classi per il miniCAD (figure, linee, rettangoli, quadrati, cerchi ecc.)
- cosa mettere a fattor comune nella classe base (figure): vantaggi
-  relazioni di composizione (una linea usa due punti come estremi) contrapposte a quelle di ereditarietà (relazioni is-a)
- qualche definizione: cllassi base, superclassi, antenate, madri, derivate, discendenti, figlie ecc.
- riorganizzazione e pulizia nel vecchio progetto di esempio per sfruttare l'ereditarietà
- implementazione della classe delle figure
- uso della keyword this per accedere alle variabili dello stato interno in caso di ambiguità con gli identificatori dei parametri di un metodo
- derivare la classe dei punti da quella delle figure
- inizializzare lo stato interno ereditato: accesso diretto ai membri tramite il livello di accessibilità protected; accesso tramite l'uso di metodi 'get' e 'set' (non si tratta delle properties, affrontate più avanti)
- costruttori della classe figlia che richiamano quelli della classe madre: keyword base come inizializzatore;
-utilizzo di this per richiamare da un costruttore un altro della stessa classe
- problema della non persistenza dei disegni su una form (verrà risolto più avanti)
- la classe delle linee
- aggiungere alla form una ToolStripBar (barra bottoni) per la scelta della figura da far disegnare (uso di Paint per realizzare velocemente delle icone 32x32 da usare come immagini per i bottoni sulla toolbar)
- scrivere un gestore di evento da associare a tutti i bottoni della toolbar per centralizzare la gestione dell'evento e scrivere meno codice e più facilmente manutenibile;
- gestire la proprietà checked per evidenziare di volta in volta il bottone in uso: uso del costrutto foreach per iterare su tutti i bottoni della toolbar e casting del parametro sender; uso del costrutto switch con le stringhe

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)

 

Download


1h e 2 minuti di videolezione   click qui  31 MByte

 

Introduzione all'ambiente Visual Studio 2005 con C#  - terza parte
Prerequisiti: video corso sul C/C++ e videolezioni precedenti sullo stesso argomento.

Descrizione

Contenuti:
- aggiungere un metodo 'disegna' alla classe dei punti per 'accendere' punti sulla superficie grafica dei controlli
- il metodo CreateGraphics dei controlli e le primitive grafiche richiamabili dall'oggetto restituito
- metodo DrawRectangle ed esame delle sue versioni overloaded
- l'oggetto grafico Pen; utilizzo delle 'penne' predefinite
-  programmare il gestore dell'evento click di un bottone: casting del parametro EventArgs di quest'ultimo verso un evento di tipo MouseEventArgs
- aggiungere altri costruttori ad una classe
- Utilizzo dell'oggetto Random per estrarre numeri casuali (metodo NextDouble())
- Utilizzo della classe Math (metodo Ceiling() per arrotondare un numero)
- Membri statici di una classe
- Programmare in modo differenziato il click destro/sinistro (accedendo alle proprietà dell'evento MouseEventArgs): con il mouse destro si seleziona un colore con il dialog box standard di Windows e con il sinistro si disegnano punti sulla form;
- breve parentesi sull'uso delle enumerazioni (enum) per comprendere come il framework rappresenti certi valori associati, ad esempio, allo stato del mouse o alla risposta data dall'utente all'apertura di un certo dialog box;
- differenza tra l'evento Click e MouseClick;

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)

 

Download


59 minuti di videolezione   click qui  29 MByte

 

 

Introduzione all'ambiente Visual Studio 2005 con C#  - seconda parte
Prerequisiti: video corso sul C/C++ e videolezioni precedenti sullo stesso argomento.

Descrizione Contenuti:
- Alcuni (brevi) richiami teorici in tema di OOP: modularità, information hiding; il salto di qualità richiesto alla OOP (cenni all'incapsulamento ed all'ereditarietà come filosofie di sviluppo)
- confronto tra le tecniche tradizionali (con una breve parentesi sull'uso delle struct) e OOP per la rappresentazione di un oggetto del mondo reale; criticità dell'approccio non OOP
- l'incapsulamento con C#: classi ed istanze (oggetti), stato interno e metodi
- un esempio concreto: inizio di un progetto 'MiniCAD'; definizione di una classe per rappresentare punti sullo schermo, come riferirsi ai colori (struct Color di system.drawing); namespace e using (comprimere ed espandere regioni di codice), livello di visibilità public e private, creazione di un oggetto, comando new , il costruttore e la sua importanza, ridefinire il costruttore base, significato del reference ad un oggetto prima e dopo il comando new;
- creare oggetti dal codice di gestione di un evento: cenni al significato del parametro sender e del parametro eventargs dei gestori degli eventi.
Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)

 

Download


1h e 10 minuti di videolezione   click qui  31 MByte

 

 

Introduzione all'ambiente Visual Studio 2005 con C#  - prima parte
Prerequisiti: video corso sul C/C++

Descrizione Contenuti:
- prerequisiti
- come procurarsi l'IDE Visual Studio 2005 - C# (free dal sito Microsoft, nessuna scadenza)
- creare la prima applicazione WinForms
- cenni sull'uso del debugger integrato
- controllare i principali pannelli nell'IDE
- Soluzioni e progetti
- Struttura della cartella di progetto
- Eseguire l'applicazione fuori dall'IDE
Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)

 

Download


48m minuti di videolezione   click qui  35 MByte

 

23-03-08 Files di testo

Descrizione Prerequisiti: conoscenza dei costrutti di base di un linguaggio C-like (come nel mio video corso sul C/C++) e dello sviluppo di applicazioni in ambiente grafico windows con Visual Studio e C# (videolezioni su questa stessa pagina...)

Contenuti:
- breve introduzione teorica sui tipi di file (testo e binari)
- definizione dell'obiettivo didattico della lezione: sviluppo di una applicazione per analizzare un file sorgente html per estrarre le righe contenenti tag obsoleti o incompatibili tra i browser; le righe estratte potranno poi essere salvate in un altro file
- definizione dell'interfaccia dell'applicazione
- Apertura di un file di testo attraverso la creazione di un oggetto StreamReader
- lettura di una singola riga da un file di testo (metodi Read/ReadLine)
- tipico ciclo di lettura while di tutte le righe di un file di testo (property EndOfStream)
- chiusura di un file di testo
- creazione di un file di testo in modalità distruttiva attraverso la creazione di un oggetto StreamWriter
- scrittura di righe in un file di testo con i metodo Write/WriteLine e chiusura del file
- la modalità di apertura in scrittura non distruttiva (append)
- scrittura di dati numerici in un file di testo e successiva rilettura con le necessarie conversioni
- trattamento degli errori durante l'uso dei file: gestione delle eccezioni con try ... catch; verifica dell'esistenza di un file prima del tentativo di apertura con il metodo File.Exists
- brevi cenni ad altri overload interessanti di metodi usati nella videolezione e ad altri metodi delle classi StreamReader/Writer: l'approfondimento è lasciato agli studenti


Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)
Download


46m  di videolezione   click qui  30 MByte

 

31-03-08 Files binari

Descrizione

Realizzazione di una rubrica di contatti.
Prerequisiti: conoscenza dei costrutti di base di un linguaggio C-like (come nel mio video corso sul C/C++) e dello sviluppo di applicazioni in ambiente grafico windows con Visual Studio e C# (videolezioni su questa stessa pagina...). Inoltre è assai consigliata la visione della videolezione sui file di testo con C#).

Contenuti:

PARTE A
- progettazione delle classi Contatti e Rubriche
- schede dati a lunghezza fissa o variabile: pro e contro
- creazione del file rubrica vuoto con controllo esistenza e conferma sovrascrittura (classe FileStream e BinaryWriter
- cenni alle diverse modalità di apertura di un file binario
- scrittura in un file binario
- metodo 'cerca': dal cognome desiderato si ottiene una lista di contatti come risultato
-
apertura in lettura di un file binario (classe BinaryReader)>
-
metodo PeekChar per rilevate la fine del file binario in fase di lettura
- lettura dei dati con i metodi ReadString/int32/double ecc.
- struttura di una stringa su un file binario
- eliminazione degli spazi inutili con Trim()
- aggiunta di una scheda con controllo della presenza di eventuali doppioni (apertura del file in append (formattazione di stringhe ad una lunghezza prefissata: metodo PadRight())
- controllo del contenuto del file binario con un editor binario (Witched)

 

PARTE B
Contenuti:
- ricerca sequenziale di una scheda di dati nel file binario delle rubriche
- modifica di una scheda della rubrica con ricerca sequenziale; sovrascrittura di una porzione di un file binario
- modifica di una scheda della rubrica con accesso diretto (tramite la posizione della scheda sul file (metodo seek della classe stream)

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)
Download


PARTE A: 61m  di videolezione   click qui  30 MByte

PARTE B: 43m  di videolezione   click qui  30 MByte

 

Polimorfismo e late binding

Descrizione Assimilare concetti quali polimorfismo e late binding seguendo il gruppo delle videolezioni del corso base non è il massimo della praticità. Per chi ha questa esigenza specifica ho quindi preparato da zero questa videolezione.

Contenuti:
- limiti della gestione statica del binding: difficoltà a gestire contenitori di oggetti diversi ed a trattarli in modo omogeneo
- conformità di tipo
- late/dynamic binding
- come ridurre sensibilmente le righe di codice in situazioni particolari sfruttando polimorfismo e late binding e guadagnare enormemente in estensiiblità dei propri programmi

Formato    .exe (visualizzatore autoscompattante con partenza automatica della videolezione)
Download


21m  di videolezione   click qui  15 MByte

N o v i t à

Gruppo sul Riordino Istituti Tecnici

NEOASSUNTI in ruolo 2009

25/04/10:
Nuovo esercizio oop / late binding VAI

11/04/10:
Videoesercizio OOP / ereditarieta' e late binding: VAI

06-04-10:
Nuova videolezione: PHP/MySql VAI

04/04/10:
Nuovo videoesercizio (e nuova sezione): I componenti principali di .NET / C# VAI

21/03/10:
Nuova videolezione: introduzione al PHP - 1 VAI

31/01/10:
Nuovo videoesercizio: diagramma ER e schema relazionale di un tema assegnato all'Esame di Stato VAI

20/01/10:
Nuovo videoesercizio C# / OOP: classe FrazioniVAI