Ivan Gentile

Office and .NET blog
posts - 24, comments - 0, trackbacks - 2

mercoledì 12 luglio 2006

Richiamare o cambiare le informazioni memorizzate all’interno di un programma durante l’esecuzione in VB.Net, C# E ASP.Net

Molto spesso abbiamo bisogno di inserire oggetti (immagini, file di testo, filmati Flash, ecc …) e di richiamarli in fase di esecuzione. Il problema può essere risolto in due modi:

 

1 – Portandoci dietro il file originale;

2 – Includendo il file nel nostro progetto e compilarlo con esso.

 

La prima soluzione non staremo qui a spiegarla e presteremo molta attenzione alla seconda soluzione.

 

Il framework .NET (già dalla versione 1.1) ci permette di memorizzare, all'interno di un progetto, qualsiasi tipo di file.
Per fare ciò è necessario:

1) importare il file all'interno del progetto utilizzando il menù Project\Add Existing Items;

2) selezionare il file all'interno del Solution Explorer e impostare tra le proprietà la Build Action come Embedded Resource;

In questo modo il nostro file EXE verra compilato direttamente don il progetto.

 

A questo punto non ci rimane altro che richiamare il file in fase di esecuzione. Per fare questo possiamo utili il codice seguente:

 

Private bmStop As Bitmap

Dim a As Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()
bmStop = New Bitmap(a.GetManifestResourceStream( "NamSpaceRadice.NomeFile.Est"))

 

NameSpaceRadice è il nome del namespace root dell'assembly mentre NomeFile.Est è il nome del file inserito nel progetto.

 

N.B.

Il metodo GetManifestResourceStream genera un'eccezione se il file e di dimensioni superiori ai 2GB

 

Ciao

Ivan

?>

posted @ 11.38 | Feedback (0)