domenica 31 gennaio 2010

Recensione libro: Silverlight 3.0 Guida completa per lo sviluppatore e il designer


Scheda del libro:






























Autore:
BOCHICCHIO D. - CIVERA C. - LEONCINI A. - LEONCINI M
Prezzo:Euro 38,00
Caratteristiche:
Pagine 454 Formato 17 x 24 cm
ISBN13:


9788820344122
Anno di edizione:10/2009
Collana:Manuali Hoepli.it
ISBN:8820344122
Lingua:Italiana
Editore:Hoepli



Il manuale Silverlight 3.0 Guida completa per sviluppatori e designer http://www.hoepli.it/libro/silverlight-30.asp?ib=9788820344122&pc=000022007002001 edito della casa editrice http://www.hoepli.it/ è il primo libro in italiano sulla tecnologia Silverlight.


Il libro è composto di ben 21 capitoli, con esempi pratici su questa tecnologia tramite il linguaggio di programmazione Visual Basic Net e C# Gli autori (Daniele Bochicchio, Cristian Civera, Alessio Leoncini e Marco Leoncini) di questo manuale, sono persone con vasta esperienza del campo nonché responsabili e gestori del portale Aspitalia.


Nel libro non è incluso nessun CD-Rom o dvd, gli esempi si possono scaricare dal seguente sito http://books.aspitalia.com/Silverlight-3.0/demo/


Ma vediamo in dettaglio i vari capitoli che fanno parte di questo libro.


Nel primo capitolo viene fornita al lettore una breve ma valida introduzione sulla tecnologia Silverlight. Le prime pagine illustrano l’architettura di questo nuovo modo di scrivere applicazioni per il web, proseguendo si passa ad alcuni esempi pratici sul linguaggio di markup XAML concludendo il capitolo con altri esempi tramite l’utilizzo del linguaggio di programmazione VB.Net e C#. Questi brevi e semplici esempi, aiutano il lettore a comprendere il funzionamento di questa tecnologia.


Nel secondo capitolo, si passa al primo vero utilizzo di Silverlight. Le varie fasi guidano il lettore a comprendere le basi di questa tecnologia. L’utilizzo dell’ambiente di sviluppo Visual studio 2008, la creazione di un’animazione durante la fase di caricamento ed alcune nozioni sulla sicurezza. Un capitolo molto breve, che aiuta il lettore a questa tecnologia.


Il terzo capitolo è rivolto ad un altro ambiente per la creazione di soluzioni basate con Silverlight. In questo capitolo sono forniti nozioni basilari sull’utilizzo del programma Expression blend. Il capitolo vuole far comprendere al lettore che la creazione di pagine web basate su tecnologia Silverlight, oltre all’utilizzo di Visual Studio 2008 e possibile anche con lo strumento Expession Blend.


Nel capitolo quarto, viene illustrata la gestione della predisposizione degli oggetti nella pagina Silverlight, in particolare vedremo come gestire l’aspetto delle pagine create con questa tecnologia. Nel capitolo sono illustrati esempi di codice e di presentazione grafica tramite l’uso di alcuni controlli come il pannello StackPanel, il controllo grid, il controllo WrapPanel e dockpanel. Nella parte conclusiva del capitolo viene illustrata la creazione di un pannello personalizzato.


Il quinto capitolo riguarda la gestione del testo, font ed effetti grafici. Nelle prime pagine del capitolo sono riportati alcuni esempi di codice, riguardante effetti grafici da applicare al testo, continuando a leggere il capitolo si passa ai controlli TextBox e PasswordBox applicando particolari effetti. Il capitolo fornisce le basi per comprendere le classi per la gestione della grafica del testo in Silverlight.


Il capitolo sesto riguarda l’utilizzo di figure geometriche, in particolare vedremo come utilizzare gli oggetti messi a disposizione da questa tecnologia. Nel capitolo si trovano diversi esempi di codice, riguardante l’utilizzo di oggetti geometriche, tra i quali l’oggetto rectangle, ellipse, line, polyline, polygon, rectangleGeometry, ellipseGeometry, ad altre interessanti tecniche di uso delle figure geometriche.


Nel capitolo settimo, vengono illustrate alcune classi per la gestione della grafica, in particolare applicare dei colori di riempimento. Le classi utilizzate in questo capitolo, quali VideoBrush, ImageBrush, RadialGradientBrush, LinearGradientBrush e soldiColorBrusm, permettono di applicare un determinato riempimento o aspetto grafico su cui si applica.


Il capitolo ottavo, come anche nei capitoli precedenti è un capitolo breve ed introduttivo su altri aspetti grafici. In questo capitolo vedremo come applicare l’effetto di rotazione degli oggetti. La possibilità di applicare un effetto visivo impostando l’oggetto in un certa inclinazione, per darle un effetto visivo.


Nel capitolo nono viene illustrato la gestione del mouse e della tastiera. In questo capitolo vedremo tecniche di come utilizzare e gestire gli eventi del mouse e della tastiera. Nella parte conclusiva di questo capitolo viene illustrata anche la gestione del multi touch. Un capitolo che fornisce le basi per gestire gli eventi del mouse e della tastiera.


Nel capitolo decimo, viene illustrato al lettore l’utilizzo di alcune tecniche per applicare effetti visivi alle immagini ed oggetti.


Il capitolo 11, fornisce le basi per comprendere la parte riguardante le animazioni in Silverlight. In questo capitolo vengono fornite nozioni di base su come applicare ad oggetti particolari animazioni.


Nel capitolo 12 vedremo l’utilizzo dello strumento gratuito deep zoom. Gli esempi contenuti in questo capitolo permettono al lettore di acquisire le basi per utilizzare con dimestichezza questo strumento.


Il capitolo 13 illustra la gestione del multimedia in particolare si trovano esempi e tecniche per la gestione audio e video. In questo capitolo, vedremo come applicare in una pagina Silverlight un video e gestirle il flusso video audio. Viene fornita anche una base di utilizzo del programma Expresion Encoder.


Con il capitolo quattordicesimo, sono forniti alcune nozioni di base dei controlli più comunemente utilizzati, L’utilizzo del controllo border, del controllo button, RadioButton e checkbox, listbox e combobox, scrollviewer GridSplitter, progress bar, in alcuni di essi viene fornita una spiegazione di base con mancanza di un vero e proprio esempio di codice. Continuando a leggere il capitolo, l’argomento dei controlli continua con l’introduzione del Toolkit, che contiene diversi controlli non disponibili in silverlight. Gli esempi di codice, riguardano il controllo TreeView, la creazione di una barra laterale stile quella del programma Outlook, il controllo Chart ed Expander.


Nel capitolo 15, vedremo l’utilizzo delle risorse e stili in questa tecnologia. Nel capitolo si fa riferimento anche al programma Microsoft Expression Blend. Proseguendo a leggere vedremo come applicare ed utilizzare particolari stili ai nostri oggetti di Silverlight.


Il capitolo 16, illustra un tema molto importante ed al tempo stesso anche complesso, la gestione dei dati. In questo capitolo vedremo come associare ai controlli una fonte dati, tramite il data Binding. Il capitolo fornisce le basi di utilizzo dei dati nei vari controlli Silverlight. Nella parte conclusiva del capitolo, viene illustrata la gestione di una fonte dati tramite un servizio web in particolare tramite Windows Communication Foundation.


Anche il capitolo successivo, ossia il 17, illustra la gestione dei dati da una fonte dati. In questo capitolo vengono fornite al lettore le basi di utilizzo della tecnologia per l’accesso ai dati, denominata Ado.Net Data Services. L’utilizzo del pacchetto .Net Ria Services, viene illustrato passo per passo, dall’installazione fino al suo utilizzo con esempi di codice riguardante la gestione dei dati, come inserimento, cancellazione, aggiornamento e caricamento dei dati, e tecniche di visualizzazione dei dati.


Nel capitolo diciottesimo sono fornite indicazioni di tecniche di programmazione avanzata. In questo capitolo troviamo alcuni esempi di codice che possono tornare utile nello sviluppo di applicazioni basate con tecnologia Silverlight. Esempi di codice riguardante il thread, la gestione degli errori, gestire il settaggio della lingua dell’applicazione predisponendolo in base alla cultura, la finestra di dialogo ,il modello per la presentazione delle pagine. Tecniche molto interessanti che potrebbero tornarci utili nello sviluppo della nostra applicazione.


Nel penultimo capitolo (19) , in questo capitolo sono forniti tecniche riguardante l’architettura di Silverlight. Esempi di codice, molto utili che permettono di gestire le applicazioni Silverlight. La gestione dello storico di navigazione, il caricamento dinamico di un’applicazione Silverlight, ridurre le dimensioni del pacchetto XAP, e tante altre tecniche di programmazione.


Nell’ultimo capitolo, il ventesimo, viene illustrata l’utilizzo di Silverlight anche fuori dal browser di navigazione. In questo capitolo sono fornite della valide linea guida riguardante l’utilizzo di Silverlight come applicazione Client non web, ossia come una normale applicazione che viene eseguita nel proprio computer.


Terminati i vari capitoli, si trovano tre appendice che fornisco in maniera molto ma molto breve alcuni scenari. Nell’appendice a troviamo l’argomento riguardante la creazione di un servizio, mentre nell’appendice b alcuni consigli riguardante la sicurezza, infine nell’appendice c, sono elencati alcuni strumenti che possono tornarci utili nello sviluppo di applicazioni Silverlight.


Qui di seguito si riportano i vari capitoli del libro.


1) Introduzione a Silverlight


2) Primi passi con Silverlight


3) Lavorare con Express Blend 3.0


4) La gestione del Layout


5) Il supporto per testo, font ed effetti grafici


6) Oggetti per il disegno


7) L’uso dei pennelli


8) Le trasformazioni e gli effetti


9) Gestione dell’input


10) Gestione effetti speciali


11) Introduzione alle animazioni


12) Immagini intereattive con deep zoom


13) Supporto ad audio e video


14) Uso dei controlli


15) Gestione di risorse, style e template


16) Data binding e tecniche di accesso ai dati


17) .Net Ria Services: Dal server a silverlight


18) Uso avanzato di Silverlight


19) Progettare applicazioni a componenti con Silverlight


20) Silverlight dentro e fuori dal browser


Appendice a – Realizzare servizi con il .Net Framework


Appendice b – principi di sicurezza in Silverlight


Appendice c – i tool essenziali per Silverlight



Conclusioni.


Un libro molto introduttivo che fornisce le basi su alcune tecniche di utilizzo della tecnologia Silverlight. Molti capitoli trattano la parte grafica e sono molto brevi ed introduttivi. Il libro è adatto per coloro che si stanno avvicinando per la prima volta a questa tecnologia, un libro che fornisce adeguate conoscenze di base su questa tecnologia. Interessante gli esempi di codice, che sono scritti per i linguaggi di programmazione Visual Basic Net e C#. Nel libro non viene trattato la creazione di controlli personalizzati o componenti (DLL) in Silverlight, inoltre viene illustrata una breve introduzioni di utilizzo di alcuni dei controlli messi a disposizione da Silverlight.

sabato 30 gennaio 2010

.Net masterizzare tramite VB.Net e c# tramite il componente XPBurn

Riporto l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_masterizzare-con-la-tecnologia-net-trami_795.aspx


Introduzione
L’articolo illustrato qui di seguito, riporta una tecnica di come registrare i file su cd e dvd.
Il codice si può utilizzare sul sistema operativo Windows XP, Windows Vista e Windows 7, con un masterizzatore per CD e/o DVD.
La versione del Framework è 2.0 o superiore (3.X, 4.0)
Prima di tutto occorre scaricare dal seguente sito http://msdn.microsoft.com/en-us/vcsharp/aa336741.aspx il componente xpburn, il quale permette di gestire l’unita cd/Dvd in cui si trova il masterizzatore.
Dopo aver compilato il sorgente della dll, aggiungete al vostro progetto il riferimento alla dll xpburn,


Creazione dell’interfaccia
Inserite nella form, quattro pulsante, due controlli progress bar, cinque controlli label, due controlli listbox ed una casella di testo, la form dev’essere simile a quella illustrata nella figura 1.





Figura 1


La casella combinata Unità, avrà il compito di visualizzare le unità per la scrittura su cd, mentre il pulsante indicante i tre puntini "..." che si trova vicino a quello con la scritta Aggiungi, permette di selezionare i file dal proprio pc, che con il pulsante aggiungi permette di aggiungere nel controllo listbox la lista dei file da registrare sul cd-rom.
Le due progress bar, indicano lo stato della preparazione e lo stato della scrittura su cd-rom.
Mentre i due pulsante masterizza ed espelli gestiscono l’unità, con il pulsante masterizza, si avvia la scrittura dei dati, mentre con il pulsante espelli apre il cassetto dell’unità.
Nella listbox situata nella parte inferiore della finestra, visualizza le varie operazioni in corso.
Stesura del codice.
Passiamo in visualizzazione codice, per scrivere il codice per eseguire le varie operazioni.
Prima di tutto, aggiungiamo lo spazio dei nomi, del componente XPburn, aggiunto precedentemente.
Qui di seguito si riporta tale codice.


VB.Net


Imports XPBurn


C#


using XPBurn;



Si crea a livello di form, un oggetto di tipo XPBurnCD per la gestione degli eventi e dei metodi per la gestione del CD.
Riportiamo dopo la dichiarazione di classe della form il codice per la creazione dell’oggetto XPBurnCD.



VB,Net


Private WithEvents ObjMasterizza As XPBurn.XPBurnCD


C#


private XPBurn.XPBurnCD ObjMasterizza;



Nell’evento load della form, dobbiamo caricare nella casella combinata delle unità, i nomi delle unità montante sul pc per la scrittura dei dati su CD.
Qui di seguito si riporta il codice delle suddette operazioni.



Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load


Dim Intconta As Integer


'carico in una combo i nomi delle unità dove si può masterizzare


ObjMasterizza = New XPBurnCD()


For Intconta = 0 To ObjMasterizza.RecorderDrives.Count - 1


ObjMasterizza.BurnerDrive = ObjMasterizza.RecorderDrives(Intconta)


cmbdrive.Items.Add(ObjMasterizza.ProductID)


Next


'imposto la prima unità


If cmbdrive.Items.Count > 0 Then cmbdrive.SelectedIndex = 0


End Sub


C#


private void Form1_Load(object sender, EventArgs e)


{



//carico in una combo i nomi delle unità dove si può masterizzare


ObjMasterizza = new XPBurnCD();


for (int Intconta = 0; Intconta < ObjMasterizza.RecorderDrives.Count; Intconta++)


{


ObjMasterizza.BurnerDrive = ObjMasterizza.RecorderDrives[Intconta].ToString();


cmbdrive.Items.Add(ObjMasterizza.ProductID);


}



//imposto la prima unità


if (cmbdrive.Items.Count > 0)


cmbdrive.SelectedIndex = 0;



}



Analiziamo il listato di codice precedente, le prima operazione è quella di inizializzare l’oggetto di tipo XPBurnCD, terminato ciò effettua un ciclo in cui rileverà le unità cd-rom o dvd, per la scrittura dei dati. I nomi saranno riportati nella casella combinata.



Per l’evento click del pulsante Espelli, dobbiamo aprire il cassetto dell’unità cd-Rom, questo avviene tramite il metodo Eject dell’oggetto di tipo XPBurnCD.
Si riporta il codice per l’evento click del pulsante espelli.


VB.Net


Private Sub BtnEspelle_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnEspelle.Click


'Espelle il cd


ObjMasterizza.Eject()


End Sub


C#


private void BtnEspelle_Click(object sender, EventArgs e)


{


//Espelle il cd


ObjMasterizza.Eject();


}



La classe XPBurnCd, mette a disposizione diversi eventi che permettono di gestire le varie fasi della scrittura dei dati su CD. Vediamoli qui di seguito alcuni.
L’evento per la prepazione, è il momento in cui si prepara a registrare, rilevando le informazioni dei file per poi registrarli sul Cd-rom è denominato PreparingBurn. L’evento BlockProgress ci fornisce indicazioni riguardante i file che vengono scritti su CD, mentre l’evento Addprogress è la fase di preparazione dei dati su cd.
Con l’evento BurnComplete, possiamo sapere la conclusione della scrittura dei dati, mentre l’evento ClosingDisck è il momento in cui viene chiuso il CD.



Qui di seguito si riportano i vari esempi di eventi illustrati precedentemente
Evento di preparazione:



VB.Net


'evento che avviene prima di registrare. Prepara il cd


Private Sub ObjMasterizza_PreparingBurn(ByVal nEstimatedSeconds As Integer) Handles ObjMasterizza.PreparingBurn


lstTesto.Items.Add("Preparazione in corso....Tempo richiesto : " & nEstimatedSeconds)



End Sub



C#


// evento che avviene prima di registrare. Prepara il cd


private void ObjMasterizza_PreparingBurn(int nEstimatedSeconds)


{


lstTesto.Items.Add(("Preparazione in corso....Tempo richiesto : " + nEstimatedSeconds));


}



Evento per la preparazione dei dati su CD.



VB.Net


Private Sub ObjMasterizza_AddProgress(ByVal nCompletedSteps As Integer, ByVal nTotalSteps As Integer) Handles ObjMasterizza.AddProgress


'aggiornamento della barra


PgbPreparazione.Maximum = nTotalSteps


PgbPreparazione.Value = nCompletedSteps


End Sub



C#


private void ObjMasterizza_AddProgress(int nCompletedSteps, int nTotalSteps)


{


// aggiornamento della barra


PgbPreparazione.Maximum = nTotalSteps;


PgbPreparazione.Value = nCompletedSteps;


}




Evento block Progress l’avanzamento di scrittura dei dati.



VB.Net


'evento che ci fornisce informazioni sullo stato della copia


Private Sub ObjMasterizza_BlockProgress(ByVal nCompletedSteps As Integer, ByVal nTotalSteps As Integer) Handles ObjMasterizza.BlockProgress


PgbScrittura.Maximum = nTotalSteps


PgbScrittura.Value = nCompletedSteps



End Sub



C#


// evento che ci fornisce informazioni sullo stato della copia


private void ObjMasterizza_BlockProgress(int nCompletedSteps, int nTotalSteps)


{


PgbScrittura.Maximum = nTotalSteps;


PgbScrittura.Value = nCompletedSteps;


}



Evento relative al completamento della scrittura dei dati.




VB.Net


'evento che si verifica quando ha completato di copiare su cd


Private Sub ObjMasterizza_BurnComplete(ByVal status As System.UInt32) Handles ObjMasterizza.BurnComplete


PgbScrittura.Maximum = 0


PgbScrittura.Value = 0


lstTesto.Items.Add("Operazione Completata")



End Sub


C#


// evento che si verifica quando ha completato di copiare su cd


private void ObjMasterizza_BurnComplete(System.UInt32 status)


{


PgbScrittura.Maximum = 0;


PgbScrittura.Value = 0;


lstTesto.Items.Add("Operazione Completata");


}




Evento di chiusura del disco




VB.Net


'evento per la chiusura del cd


Private Sub ObjMasterizza_ClosingDisc(ByVal nEstimatedSeconds As Integer) Handles ObjMasterizza.ClosingDisc


lstTesto.Items.Add("Chiusura disco attendere..." & nEstimatedSeconds & " Secondi")


End Sub


C#


// evento per la chiusura del cd


private void ObjMasterizza_ClosingDisc(int nEstimatedSeconds)


{


lstTesto.Items.Add(("Chiusura disco attendere..."


+ (nEstimatedSeconds + " Secondi")));


}





Siamo giunti quasi alla conclusione della stesura del codice.
Nel momento in cui viene selezionata l’unità per la scrittura del cd, dobbiamo impostare la proprietà RecorderDrivers, con il nome dell’unità CD-Rom.
Si riporta il codice delle sopraindicate operazioni.


VB.Net


Private Sub cmbdrive_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmbdrive.SelectedIndexChanged


'scelta dell'unità per masterizzare


ObjMasterizza.BurnerDrive = ObjMasterizza.RecorderDrives(cmbdrive.SelectedIndex).ToString


End Sub


C#


private void cmbdrive_SelectedIndexChanged(object sender, EventArgs e)


{


//scelta dell'unità per masterizzare


ObjMasterizza.BurnerDrive = ObjMasterizza.RecorderDrives[cmbdrive.SelectedIndex].ToString();


}


Il pulsante aggiungi, dovrà inserire nel controllo listbox, il nome del file (contenuto nella casella di testo) mentre per l’oggetto di tipo XPBurn, tramite il metodo AddFile impostiamo il percorso e nome del file da registrare ed in quale posizione sul cdrom registrarlo. Si fa presente, che nel caso si imposta un percorso di un file situato in sottocartelle, queste verranno create (se non presenti ) nel CD, nel caso viene specificato nel secondo parameto del metodo AddFile
Mentre il pulsante trova (quello con i tre puntini “…” ) dovrà visualizzare a video una finestra di dialogo per la selezione dei file.
Qui di seguito si riportano i frammenti di codice delle suddette operazioni.


VB.Net


Private Sub btnaggiungi_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnaggiungi.Click


If Not System.IO.File.Exists(txtfile.Text) Then Exit Sub


'aggiungo i file da copiare su cd


ObjMasterizza.AddFile(txtfile.Text, txtfile.Text)


lstFile.Items.Add(txtfile.Text)


End Sub



Private Sub btntrova_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btntrova.Click


Dim DlgApri As New OpenFileDialog()


'cerco i file da copiare


If DlgApri.ShowDialog = DialogResult.OK Then txtfile.Text = DlgApri.FileName


End Sub


C#



private void btnaggiungi_Click(object sender, System.EventArgs e)


{


if (!System.IO.File.Exists(txtfile.Text))


{


return;


}


// aggiungo i file da copiare su cd


ObjMasterizza.AddFile(txtfile.Text, txtfile.Text);


lstFile.Items.Add(txtfile.Text);


}



private void btntrova_Click(object sender, EventArgs e)


{


OpenFileDialog DlgApri = new OpenFileDialog();


// cerco i file da copiare


if ((DlgApri.ShowDialog() == DialogResult.OK))


{


txtfile.Text = DlgApri.FileName;


}


}




Nell’evento click del pulsante per la scrittura dei file, dobbiamo avviare la scrittura su CD. Questo avviene tramite l’esecuzione del metodo RecordDisk , il quale accetta due parametri, il primo, indica se effettuare un test (se impostato a true) mentre il secondo parametro, espelle il cd al termine della scrittura dei dati.
Di seguito riportiamo le sopraccitate operazioni.


VB.Net



Private Sub BtnCopia_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnCopia.Click


Try


'true test simulazione


'metodo che avvia la copia su cd il primo valore se è settato a true fa un test, il secondo espelle il cd a termine operazione


ObjMasterizza.RecordDisc(False, True)


Catch ex As XPBurnException


MessageBox.Show(ex.Message)



End Try


End Sub


C#


private void BtnCopia_Click(object sender, EventArgs e)


{


try


{


// true test simulazione


// metodo che avvia la copia su cd il primo valore se è settato a true fa un test, il secondo espelle il cd a termine operazione


ObjMasterizza.RecordDisc(false, true);


}


catch (XPBurnException ex)


{


MessageBox.Show(ex.Message);


}


}


Conclusioni


L’articolo ha voluto affrontare in maniera semplice ma dettagliata alcuni casi dell’utilizzo della dll XpBurn (http://msdn.microsoft.com/en-us/vcsharp/aa336741.aspx ) per la registrazione dei dati su supporti dischi, quali CD.
Tramite la voce Download potete scaricare oltre ai sorgenti relativo all’articolo per entrambi i linguaggi di programmazione, anche i sorgenti della libreria e la guida sull’utilizzo di tale componente.


Download

download software gratuito per la gestione di arredi

Se state cercando un software gratuito per l'arredamento in italiano, mobilia fa per voi.


Il software scaricabile dal seguente sito http://mobiliasoft.com/index.html permette di creare interni di case ed uffici, con degli ottmi risultati.


Per maggiori informazioni e download visitate il sito indicato.

lunedì 25 gennaio 2010

download gratuito di software per la fatturazione e magazzino

Vi segnalo questo http://www.eurofatt.it programma gratuito riguardante la fatturazione e la gestione del magazzino.


Un programma gratuito per tenere i conti in ordine.


domenica 24 gennaio 2010

Creazione di un componente in Silverlight tramite VB.Net e C#

Riporto l'articolo scritto per il sito http://www.iprogrammatori.it/articoli/programmazione/art_la-creazione-di-componenti-in-silverligh_805.aspx


Introduzione


In questo articolo vedremo come creare componenti da utilizzare in vari progetti. I componenti sono delle DLL che possiamo aggiungere nei riferimenti dei nostri progetti, simili a quelle utilizzate in ambiente Windows e Asp.Net.


Creazione del progetto.


Aprite visual studio 2008 SP1, e dalla finestra File, selezionate nuovo progetto, dopo aver selezionato il linguaggio di vostro interesse selezionate il tipo di progetto Silverlight, mentre nella parte destra tra i modelli disponibili selezionate “Libreria di classi Silverlight” come illustrato in figura 1.


Figura 1


Confermate il tutto tramite il pulsante Ok.
Verrà creata un classe, rinominiamola in matematica, questa classe avrà un metodo che passando due variabili di tipo interi restituirà la somma.
Di seguito si riporta il codice delle suddette operazioni per il linguaggio Visual Basic Net e C#


Codice VB.Net


Public Class Matematica



Public Function Somma(ByVal ValoreA As Integer, ByVal ValoreB As Integer) As Integer


Return ValoreA + ValoreB


End Function



End Class




Codice C#



public class Matematica


{


public Int32 Somma(Int32 ValoreA, Int32 ValoreB)


{


return ValoreA + ValoreB;


}



}



Come visto nel procedente articolo, inseriamo in questo progetto un nuovo componente di Silverlight. Dalla finestra Esplora soluzione, selezionare il menu aggiungi e successivamente nuovo elemento, nella finestra che viene aperta selezionare “controllo Utente Silverlight”.
Come controllo utilizzeremo quello preposto nell’articolo precedente, ossia la creazione di un pulsante tondo.
Qui di seguito si riporta il codice XAML.



<StackPanel>


<StackPanel.Resources>


<Storyboard x:Name="Effetto">


<DoubleAnimation


Storyboard.TargetName="elpPulsante"


Storyboard.TargetProperty="Opacity"


From="1.0" To="0.0" Duration="0:0:1"


AutoReverse="True"


RepeatBehavior="Forever" />


</Storyboard>


</StackPanel.Resources>


<Ellipse Name="elpPulsante" MouseLeftButtonDown="Ellipse_MouseLeftButtonDown" Width="200" Height="100" Fill="Blue" Stroke="Yellow" StrokeThickness="4" ></Ellipse>


</StackPanel>


Mentre qui di seguito riportiamo il codice il codice .Net, che è lo stesso dell’articolo precedente, riguardante l'evento click sul pulsante tondo.


Codice VB.Net


Private Sub Ellipse_MouseLeftButtonDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)


Effetto.Begin()


End Sub



Public Sub Messaggio(ByVal testo As String)


MessageBox.Show(testo)


End Sub



Codice C#



private void Ellipse_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)


{


Effetto.Begin();


}


public void Messaggio(string Testo)


{


MessageBox.Show(Testo);


}



Ora che abbiamo terminato la stesura del codice, compiliamo il progetto per verificare la correttezza del codice e generare la dll. Si crea un nuovo progetto di Silverlight, tra i modelli disponibili selezioniamo “Applicazione Silverlight” come mostrato in figura 2, in questo modo possiamo utilizzare il componente appena creato.





Figura 2


Nel progetto, aggiungi il riferimento al nostro componente, dalla finestra “Esplorare Soluzioni” facciamo click con il tasto destro del mouse sul nome del progetto e selezioniamo la voce Aggiungi riferimento, nella finestra che viene aperta (figura 3) selezionare la linguetta con la dicitura “Progetti” e tra la lista dei progetti, selezionare quello riguardante il componente creato.



Passiamo al file Page, nel codice xaml, dopo aver digitato xmlns:Componente= selezioniamo dalla lista il nome del componente che abbiamo aggiunto al progetto, come illustrato nella figura 4.



Figura 4


A questo punto, dopo il tag Grid, dobbiamo aggiungere il nostro componente, ed in particolare la classe pulsante, dopo aver digitato digitato "<Componente", dove Componente è il nome impostato nel tag xmlns relativo al componente,, la finestra di Visual Studio, ci visualizza le classi che abbiamo creato precedentemente(figura 5), ed in particolare la classe pulsante, quella riguardante il controllo Silverlight, mentre la classe Matematica è quella dove si trova il metodo per effettuare la somma di due numeri interi.



Figura 5


Qui di seguito si riporta il codice XAML.


<Componente:Pulsante Name="Pulsante" MouseLeftButtonDown="Pulsante_MouseLeftButtonDown"></Componente:Pulsante>


A questo punto non resta che scrivere il codice .net per l’evento MouseLefDown, in questo evento si crea un oggetto di tipo matematica e si utilizza il metodo Messaggio della classe Pulsante, per visualizzare a video la somma di due interi utilizzando il metodo somma della classe matematica.
Di seguito si riporta il codice .Net delle suddette operazoni.


Codice VB.Net


Private Sub Pulsante_MouseLeftButtonDown(ByVal sender As System.Object, ByVal e As System.Windows.Input.MouseButtonEventArgs)


Dim matematica As New SLComponente.Matematica()


comPulsante.Messaggio("La Somma di 4 + 2 = " & matematica.Somma(4, 2))


End Sub




Codice C#


private void Pulsante_MouseLeftButtonDown(object sender, MouseButtonEventArgs e)


{


SLComponenteCS.Matematica Matematica = new SLComponenteCS.Matematica();


Pulsante.Messaggio("La Somma di 4 + 2 = " + Matematica.Somma(4, 2));


}


Conclusioni.


L’articolo ha voluto fornire le basi per lo sviluppo di componenti in Silverlight per entrambi i linguaggi di programmazione. Come si visto, la programmazione dei componente è molto flessibile ma al tempo stesso offre al programmatore enormi potenzialità lasciandolo libero di scrivere applicazioni ben più complesse di quella vista in questo articolo.
Tramite la parola download potete scaricare il progetto utilizzato nell’articolo, per entrambi i linguaggi di programmazione.



Download