|
|
|
|
|
|
|
Se, una volta fatta partire una
videolezione, non sentite l'audio
click qui |
03-11-07 |
Aggiunte alcune soluzioni agli esercizi sul C++ ed il ciclo FOR.
Clic qui. |
03-11-07 |
Pubblicata
la seconda videolezione sulla programmazione
con l'ambiente di sviluppo di video games GAME MAKER. L'obiettivo è quello di
esercitarsi nella programmazione C/C++ nel più divertente dei modi! Ottenere con
poche righe di codice quello che ci sarebbe costato centinaia di righe con
sistemi tradizionali. Contenuti
- Esercitiamoci con il ciclo for: fila orizzontale di fantasmini; risalire alla
larghezza di uno sprite e dell'intera stanza
- ... ed il ciclo while: fila di fantasmini che non eccede lo schermo
- File verticali e diagonali di fantasmini
- Aggiungere un menù testuale con il quale richiamare i diversi effetti:
aggiungere font ad un game; far apparire scritte in una stanza (problemi legati
all'assenza di un background)
- L'evento draw come luogo naturale per i comandi di disegno (e scrittura di
testo)
- Dichiarare variabili globali
- Distruggere i fantasmini (le istanze): instance_destroy()
- Inviare messaggi da un istanza di un oggetto ad un altro (costrutto with ...)
- Aggiungere script con passaggio di argomenti (sottoprogrammi)
- Usare script che disegnano 'segmenti' fatti di fantasmini per disegnare
legioni (dei quadrati ...) di fantasmini e 'piramidi' di fantasmini
- 1h e
11 m di videolezione
click qui 56 MByte
|
18-10-07 |
Pubblicata
la prima videolezione sulla programmazione
con l'ambiente di sviluppo di video games GAME MAKER. L'obiettivo è quello di
esercitarsi nella programmazione C/C++ nel più divertente dei modi! Ottenere con
poche righe di codice quello che ci sarebbe costato centinaia di righe con
sistemi tradizionali. Contenuti:
- Prelevare ed installare l'ambiente di sviluppo
- Aggiungere un livello, sfondi, sprites e personaggi
- Creazione a run time di personaggi
- Modifica a run time della velocità e direzione di un personaggio
- Utilizzo dell'IF per impedire che un fantasmino mobile esca dalla stanza e
programmazione di un evento legati allo scorrere del tempo (step, eseguire
controlli ogni trentesimo di secondo)
- Uso del random per aggiungere casualità al gioco
- Uso del ciclo FOR per creare orde di fantasmini
- Far fermare tutti o uno o più fantasmini premendo un tasto e farli ripartire
con un altro - 55 m di videolezione
click qui 55 MByte |
17-06-07 |
Pubblicata una matrice argomenti/risorse per prepararsi al colloquio dell'Esame
di Stato di informatica / ABACUS
clic qui
PS: rivisitate la pagina di tanto in tanto: cercherò di aggiungere almeno alcune
domande/risposte per gli argomenti ancora sprovvisti (metterò la scritta 'new e
la data di aggiunta' per facilitare il controllo).
|
06-06-07 |
Pubblicata
la seconda videolezione introduttiva allo
sviluppo di siti web con ASP .NET (C#) e l'ambiente Visual Studio (Visual Web
Developer se state usando la versione Express). NOTA: l'accento non è sulla
parte di realizzazione strutturale / grafica ma sulla programmazione
delle pagine web
Contenuti:
- uso dei controlli di validazione dati (RequiredFieldValidator,
RangeValidator, CompareValidator, ValidatorSummary)
- checkbox e radiobox singoli con programmazione evento CheckedCanged
- checkBoxList e radioButtonList: aggiunta/rimozione a run time di
checkbox e radioButton, accesso a run time agli elementi di un checkBoxList /
radioButtonList
- vari: dimensioni dei controlli, area di testo multilinea/password,
limitare il numero di caratteri inseribili in un textbox, l'ordine di
tabulazione, cambiare a run time il font, lo stile e la dimensione dei caratteri
dei componenti, aggiungere tooltip ai componenti
-
49 m di videolezione
click qui 48 MByte |
35-06-07 |
Pubblicata una
nuova videolezione sull'accesso ai data base
sul web con ASP .NET (C#) e l'ambiente Visual Studio (Visual Web
Developer se state usando la versione Express) utilizzando i componenti .NET
data aware e
le procedure guidate di configurazione. Contenuti:
- aggiunta di un db sql server in un sito web asp net
- aggiungere un dataSource collegato ad una tabella e mostrare una
scheda/record (componente detailsView) con bottoni di navigazione,
inserimento record, modifica e cancellazione
- cenni alla configurazione degli aspetti estetici del detailsView
(formattazione automatica e proprietà di dettaglio)
- come sostituire un campo chiave esterna numerico con una drop down list
(convertire un campo in un template e modificare il suo aspetto visivo)
- i gridView, dataList e formView
- sfruttare le associazioni 1-molti (chiave esterne) tra data source per
sincronizzare i relativi componenti visuali: scegliere una ditta da una drop
down list (o altro componente) e far apparire in un gridView (o altro
componente) tutti i suoi prodotti
- incorporare il componente calendar in un controllo al posto di un
textbox per scegliere le date
51m di videolezione
click qui 37 MByte |
12-05-07 |
Pubblicata una
nuova videolezione introduttiva allo
sviluppo di siti web con ASP .NET (C#) e l'ambiente Visual Studio (Visual Web
Developer se state usando la versione Express). NOTA: l'accento non è sulla
parte di realizzazione strutturale / grafica ma sulla programmazione
delle pagine web
Contenuti:
- creazione di un sito web con Visual Studio / Visual Web Developer
- rapida panoramica sull'interfaccia dell'IDE
- cenni alle cartelle standard per i siti definite in ASP .NET
- vista progettazione, html e codice (C#, code behind)
- la filosofia dietro lo sviluppo ASP .NET: la programmazione windows per eventi
trasportata nel mondo web grazie al framework .NET ed alla elaborazione lato
server
- un esempio immediato: programmare un bottone per cambiare il testo di una
label; attivare il posizionamento assoluto per i componenti web; l'autopostback
all'opera
- cenni al server web integrato
- una rapida occhiata al codice html che riceve il browser
- modificare programmaticamente le proprietà dei componenti web (colore, tipo
carattere ecc.); aggiungere i riferimenti (using) necessari ad ottenere le
enumerazioni per i colori ed altro per la grafica in generale
- il componente dropDownList (combobox) e sua programmazione come se fosse una
normale combobox .NET di una windows form; con una combobox non appena si fa
click sul nome di una regione (evento SelectedIndexChanged) in automatico (senza
bottone submit) ne appare un'altra con l'elenco delle province corrispondenti;
esecuzione di codice al caricamento della pagina nel browser (evento page_load e
suo controllo con la proprietà Page.IsPostBack);
- il textbox ed utilizzo dell'autopostback per controllare gli errori di
inserimento
- ottenere messaggi di errore più significativi attivando la generazione di
informazioni di debug per una singola pagina o per tutte le pagine di un sito
(attivazione nel file di configurazion di una applicazione web)
- usare il debugger integrato nell'IDE (finalmente ne abbiamo uno per lo
sviluppo web!)
- uso del costrutto try ... catch per intercettare errori di formato
nell'inserimento di dati in un textBox
- spostare il cursore su un controllo specifico
1h e 18m di videolezione
click qui 55 MByte |
02-03-07 |
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
1h e 7m di videolezione
click qui
47 MByte
|
28-02-07 |
Pubblicate
nuove slides
power point: ADT stack con C#. Cenni ad
alcune importanti applicazioni dell'ADT stack (parser compilatore con esempio
sul controllo bilanciamento delimitatori in una espressione, stack di
attivazione dei sottoprogrammi, notazione polacca inversa RPN, postscript).
Implementazione dello stack con C#: grafici animati per le operazioni push e
pop; codice C# (classe stacknode e classe stack).
clic qui |
19-02-07 |
Pubblicato un video rapido che riduce di
oltre il 50% il tempo di fruizione per le videolezioni sull'uso dei componenti
per data base di Visual Studio con C# (44 minuti contro i 92 delle due
videolezioni normali):
clic qui
In pratica considerando i due video rapidi è possibile sapere l'indispensabile
per l'uso dei data base con Visual Studio in una solo ora!! Maschere singole in
modalità connessa, maschere con una sola tabella (con gridView o record
singoli), maschere con più tabelle (relazioni 1-Molti) con grid e/o record
singoli anche con combobox di lookup (anche inserite nelle celle di un grid). |
04-02-07 |
Inaugurata una sezione di esercizi/esempi Javascript.
Clic qui |
28-01-07 |
Aggiunto un esercizio per principianti sulla OOP (cronometri e cronometri
'estesi' con ereditarietà).
Clic qui |
21-01-07 |
Aggiunti altri 5 esercizi per principianti C++ con soluzioni on line.
Clic qui.
Aggiunto un esercizio per principianti sulla OOP (schede contatti tipo rubrica,
niente uso di ereditarietà).
Clic qui |
10-01-07 |
Inaugurati i 'VIDEORAPIDI':
sono sintesi di lezioni già esistenti a cui sono stati tolti i 'fronzoli'
(parentesi teoriche, approfondimenti); un videorapido non dura di solito più
della metà della videolezione normale (a volte anche un terzo). Ideale per un
ripasso dopo aver già visto la videolezione normale oppure per chi vuole andare
subito al sodo... Se sono disponibili li trovate nella stessa sezione della
lezione principale.
Primo 'videorapido': accesso ad un dbms SQL SERVER con Visual Studio / C# in
modalità connessa (solo 22 minuti, meno del 50% della videolezione normale).
Clic qui. |
30-12-06 |
Pubblicati due esercizi sull'ereditarietà (C#).
clic
qui |
25-12-06 |
Pubblicata terza videolezione
sull'accesso ai data base con visual studio 2005 e C#
(sfruttare le associazioni 1 - Molti per il data binding)
Contenuti:
- stabilire una associazione 1 - Molti tra due tabelle in un data base SQL
server
- integrità referenziale
- predisporre su una form due dataGridView sincronizzati secondo una
associazione 1- Molti
- dare la possibilità di salvare anche eventuali modifiche fatte nel
dataGridView detail in uno dei seguenti modi (mettendo poi a confronto le
diverse soluzioni):
a) adattare il bindingNavigator del dataGridView master in modo da salvare anche
i dati del dataGridView detail
b) aggiungere un bindingNavigator specifico per il dataGridDetail con il suo
bottone di salvataggio
c) come al punto precedente ma mettendo il bottone di salvataggio solo sul primo
dataGridView
d) aggiungendo un bottone standard programmandolo per l'update del dataset
- sincronizzare un dataGridView con un insieme di campi singoli sempre
sfruttando una associazione 1 - Molti
- configurare un DataGridView (di default per tutte le colonne di un gridView):
dare o meno la possibilità all'utente di spostare le colonne del grid, modalità
di ridimensionamento automatico delle colonne / righe, scelta dei
colori/caratteri (e stili) / bordi per lo sfondo del grid/celle/intestazioni
colonne e righe, rendere invisibili le intestazioni, impedire la modifica dei
dati (solo lettura)
- configurazione dettagliata di una colonna: scelta di colori / caratteri /
intestazioni / bordi in modo differenziato per una particolare colonna,
nascondere una colonna
- utilizzare una combox per sincronizzare un dataGridView che mostra i record di
dettaglio di una associazione 1 - Molti (scelgo il genere di un fumetto e vedo
tutti i fumetti di quel genere)
- configurare una combobox in una form con campi singoli per funzionare come
campo lookup (scegliere il valore di una chiave esterna da un elenco descrittivo
invece di inserire il codice numerico)
- usare le combobox anche nelle celle di un dataGridView
58m minuti di videolezione
click qui 35 MByte |
21-12-06 |
Pubblicata videolezione sull'uso dei
principali componenti WinForm con Visual Studio 2005 (con C#).
Contenuti:
- Creazione di una applicazione WinForm
- button
- textbox (conversioni stringhe<->numeri)
- listbox
- combobox
- checkbox
- radio button
- menu
- color dialog
- font dialog
- open/save dialog
1h 11m minuti di videolezione
click qui
40 MByte |
20-12-06 |
Pubblicata la seconda videolezione
sull'accesso ai data base con visual studio 2005 e C#
Contenuti:
- Differenza tra accesso ai dati in modalità connessa e disconnessa
- Incorporare nel progetto un data base sqlServer esistente e creazione del
relativo DataSet con la procedura guidata
- Creazione di un dataset per un database esterno al progetto con la procedura
guidata
- Creazione di maschere per l'inserimento/modifica/cancellazione di dati (una
sola tabella, niente chiavi esterne) usando il dataGrid o campi singoli (solo
caselle di testo)
36 minuti di videolezione
click qui 22 MByte |
11-12-06 |
Convertiti con while e do ... while tutti gli
esercizi aggiunti il giorno 09-12. |
09-12-06 |
Aggiunta una sezione di esercizi C++ (principianti) click
qui
ore 16: aggiunti 4 esercizi |
29-11-06 |
Pubblicato un esercizio sullo sviluppo di
classi con C#: Classe dei numeri
binari: dà la possibilità di creare un numero binario usando una stringa
di 0 e 1 oppure un numero intero che viene automaticamente convertito nella
stringa binaria corrispondente; offre un metodo per togliere zeri inutili in
testa e per convertire il numero binario in decimale.
NEW(30-11-06): aggiunto overloading
operatore + e ++. Click qui per il
Progetto
|
28-11-06 |
Pubblicato un esercizio sullo sviluppo di
classi con C#: Classe delle frazioni:
dà la possibilità di creare una frazione a partire da numeratore e denominatore
come in Frazioni(3,4) per ottenere 3/4, oppure a partire da un intero come in
Frazioni(7) per ottenere 7/1, oppure a partire da una stringa come in
Frazioni("348/29"), oppure a partire da un numero decimale come in
Frazioni(31.95775); le frazioni vengono automaticamente ridotte ai minimi
termini; sono stati ridefiniti alcuni operatori standard in modo da poter
scrivere ad esempio espressioni come f3 = f1 + f2 con f1, f2 ed f3 tutte
frazioni. Click qui per il
Progetto
|
25-11-06 |
Pubblicato un esercizio sui componenti visuali Visual Studio 2005 (con C#).
Con due bottoni (+ e -) aumentare la data visualizzata in un DateTimePicker
del numero di giorni contenuto in un numericUpDown; con un altro bottone
costruire un TreeView che 'esplode' l'anno attualmente visualizzato nel
dateTimePicker: i nodi di primo livello del TreeView corrispondono al
primo di ogni mese e per ciascuno di essi tanti nodi si secondo livello quanti
sono i giorni di quel mese; ad ogni mese ed ad ogni giorno è associata una
immagine memorizzata in un ImageList. Click qui per il
Progetto |
21-11-06 |
21-11-06: pubblicata la prima videolezione
sull'accesso ai data base con visual studio 2005 e C#
Contenuti:
- Creare un data base sql server 2005 direttamente dall'ambiente Visual Studio
(una sola tabella)
- Creare una connessione al data base (SqlConnection)
- Inviare comandi SQL al database usando un oggetto SqlCommand: inserire
alcuni record;
- Rileggere i record inseriti in un listBox usando l'oggetto
SqlDataReader ed i suoi metodi Read e Getxxx per accedere ai
record ad ai singoli campi dei record
46 minuti di videolezione
click qui 25 MByte |
10-11-06 |
Pubblicato un esercizio sui componenti visuali Visual Studio 2005 (con C#).
Con un bottone far apparire una finestra di selezione file configurata per
filtrare solo jpeg e bmp. L'immagine eventualmente scelta deve apparire in un
riquadro. Deve essere possibile scegliere l'aspetto dell'immagine (normale,
stretched e zoom). Click qui per il
Progetto. |
29-10-06 |
I'm back! Come sempre l'inizio delle lezioni ha prosciugato quasi tutto il mio
tempo libero. Ma ogni tanto riesco a dare ancora qualche zampata ...
Pubblicato un videoesercizio (Visual Studio, C#, OOP)
che guida alla realizzazione di una semplice classe (gli intramontabili ed
inutili rettangoli :) ) ma con un taglio più semplice rispetto a quello usato
per le videolezioni (progetto MiniCad):
videoesercizio: 13MByte - 28m
click qui
progetto:
rettangoli.zip
Pubblicato un esercizio di realizzazione di una
classe singola in C# (date).
Tipo: Console. Esempio di
classe con overloading costruttori e overloading degli operatori di
autoincremento e autodecremento (++ e --) per incrementare/decrementare di
un giorno una data qualsiasi.
Click qui: PDate.zip
Pubblicato un
secondo esercizio di realizzazione di una
classe singola in C# (Dadi).
Tipo: Console. Simulazione di
un dado. Click qui:
Dadi.zip |
|
Pubblicata l'ottava videolezione del videocorso (livello principianti) sul C#
e l'IDE Visual Studio 2005.
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 BinaryWriter e saveDialogBox
- 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
click qui per la
videolezione (1h e 5 m - 31 MByte)
clic qui per il
progetto usato nella videolezione |
28-07-06 |
Pubblicata la settima videolezione del videocorso (livello principianti) sul C#
e l'IDE Visual Studio 2005.
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
click qui per la
videolezione (1h e 10m - 33 MByte)
clic qui per il
progetto usato nella videolezione
|
21-07-06 |
Pubblicata la sesta videolezione del videocorso (livello principianti) sul C#
e l'IDE Visual Studio 2005.
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
click qui per la
videolezione (1h e 23 m - 41 MByte)
clic qui per il
progetto usato nella videolezione
|
12-07-06 |
Pubblicata la quinta videolezione del videocorso (livello principianti) sul C#
e l'IDE Visual Studio 2005.
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
click qui per la
videolezione (1h e 21 m - 41 MByte)
clic qui per il
progetto usato nella videolezione
|
07-07-06 |
Pubblicata la quarta videolezione del videocorso (livello principianti) sul C#
e l'IDE Visual Studio 2005.
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
click qui per la
videolezione (1h e 2 m - 31 MByte)
|
02-07-06 |
Pubblicata la terza videolezione del videocorso (livello principianti) sul C#
e l'IDE Visual Studio 2005.
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;
click qui per la
videolezione (59 m - 29 MByte) |
28-06-06 |
Pubblicata la seconda videolezione del videocorso (livello principianti) sul C#
e l'IDE Visual Studio 2005.
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.
click qui per la
videolezione (1h e 10m - 31 MByte)
|
18-06-06 |
Inaugurato un videocorso (livello principianti) sul C#
e l'IDE Visual Studio 2005. Pubblicata la prima
videolezione.
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
click qui per la
videolezione (48m - 35 MByte)
|