Libreria MindFlavor.Net - Versione 2.0

For the english version of this page click here.


Sommario

Cosa fa questa libreria?

Le classi fornite con .Net sono molto utili. La mancanza però di alcune form presenti invece nel sistema operativo Windows© rende scomodo gestire alcune operazioni comuni. L'esempio più classico è il download di files dalla rete. Non esiste una finestra di dialogo preimpostata per eseguire questo compito mondano. Certo è sempre possibile invocare Internet Explorer ma questa soluzione presenta due svantaggi.

  1. E' difficile da implementare
  2. Non è portabile

La soluzione ad questi problemi è lo sviluppo di una form personalizzata che svolga lo stesso compito. Ovviamente non dovete farlo voi perchè ci ho già pensato io.
Inoltre fornito insieme alla libreria c'è anche una classe (visuale) che automatizza il download multiplo. E' sufficiente creare un elenco di files da scaricare in rete e la classe gestirà tutti i dettagli - non trascurando l'interazione con l'utente.

Sommario

Istallazione

Una volta scaricata la libreria (in formato DLL) si può iniziare subito ad usarla semplicemente copiandola nella radice della cartella in cui sviluppate. Ricordatevi, se usate Visual Studio, di aggiungerla al progetto corrente.
Alternativamente potete installarla nel GAC (global assembly cache) eseguendo questo comando in una console:

gacutil /i MindFlavor.Net.dll

In questo modo la libreria sarà registrata e quindi disponibile senza doverla copiare fisicamente. Inoltre questa registrazione permette di evitare la replicazione di codice nel caso la utilizzaste in più di un progetto. Eventuali versioni successive della libreria non corromperebbero il vostro codice dato che .Net differenzia le librerie sia per il nome che per la versione (oltre che per la signature).

Sommario

Come usare la libreria

Per testare velocemente la libreria create una form e inserite due bottoni. Linkeremo l'evento OnClick del bottone a del codice che creerà le finestre. Come potrete notare ogni finestra è indipendente dal resto del codice e, soprattutto, non è bloccante (cosa necessaria scaricando da media relativamente lenti). Ricordatevi di aggiungere la libreria al percorso di compilazione e di includere il namespace MindFlavor.Net.

SingleDownloader

Questo è il codice per il primo bottone. Creiamo una istanza della classe MindFlavor.Net.SingleDownloader e avviamo il suo download. Dato che la classe gestisce autonomamente il thread di download l'interfaccia utente non viene bloccata.

private void button1_Click(object sender, System.EventArgs e)
{
	SingleDownloader sd = new SingleDownloader(
		new Uri("http://localhost/nome_del_file"),
		OverwriteMode.Ask,
		true,
		new FileInfo("D:\\temp\\test.zip"));
	sd.Show();
	sd.StartDownload();
}

Ovviamente dovete sostituire l'URI con un indirizzo di un file esistente e mappare il file di output su una directory che esista sul vostro file system (e su cui abbiate i privilegi di scrittura).
Ecco un'immagine del programma in azione.

Immagine 1 - SingleDownloader

MultiDownloader

Ora vediamo invece come invocare la finestra di dialogo che gestisce i download multipli. Colleghiamo il seguente codice all'event handler del secondo bottone.

		private void button2_Click(object sender, System.EventArgs e)
{
	Uri[] uris = 
	{
		new Uri("http://localhost/nome_del_file"),
		new Uri("http://localhost/nome_del_file"),
		new Uri("http://localhost/nome_del_file"),
		new Uri("http://localhost/nome_del_file")
	};
	
	MultiDownloader md = new MultiDownloader(
		uris,
		OverwriteMode.PreventCollision,
		true,
		2,
		new DirectoryInfo("D:\\temp"),
		DirectoryGenerationMode.HostAddress);
	
	md.Show();
	md.StartDownload();
}

Ecco un'immagine del programma in azione:

Immagine 2 - MultiDownloader

Sommario

Documentazione on-line

La documentazione on-line è disponibile cliccando qui. La versione compressa in formato HELP di Windows© è fornita insieme alla libreria. Per chi non gradisse l'help compresso di Windows© nella sezione download è disponibile l'intero help in formato html.

Sommario

Download

A parte la libreria (la cui versione è indicata per esteso) potete scaricare opzionalmente l'help in formato HTML. L'help in formato compresso è allegato alla libreria stessa.
Descrizione Versione Data di rilascio Dimensioe di download Download
Libreria MindFlavor.Net con la documentazione in formato compresso. 2.0.1393.28677 25 ottobre 2003
96 KB
Documentazione della libreria in formato HTML. 2.0.1393.28677 25 ottobre 2003
98 KB

Sommario

Ultimo aggiornamento: 29 ottobre 2003

©2003 Francesco Cogno.