posts - 315, comments - 268, trackbacks - 15

My Links

News

View Pietro Libro's profile on LinkedIn

DomusDotNet
   DomusDotNet

Pietro Libro

Tag Cloud

Article Categories

Archives

Post Categories

Blogs amici

Links

domenica 2 novembre 2008

Icone gratis

Come segnalato da Repubblica, sul sito Six Revisions è possibile scaricare 40 Beatiful Free Icon Sets nei formati png e ico.

Technorati Tag:

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (0) | Filed Under [ Varie ed eventuali ]

Da Microsoft Virtual PC a Sun VirtualBox

Avevo la necessità di convertire una macchina virtuale da formato Microsoft Virtual PC a Sun VirtualBox. Per chi avesse avuto lo stesso problema, la soluzione è stata abbastanza semplice: ho eseguito il download di VMware Converter 3.0.3 (Starter Edition) (previa registrazione),  una volta installato è stato sufficiente lanciare il Wizard avviabile da: File\New\Convert:

image

e seguire i vari passi:

image

Impostando come Source Type: Other ed  in Virtual Machine il percorso del file con estensione *.vmc. Scegliendo Avanti, il converter inizierà a leggere le informazioni del file della macchina virtuale di Microsoft Virtural PC  (Ci metterà qualche minuto).

Proseguendo con il Wizard (dove è possibile ad esempio eseguire la conversione mantenendo la dimensione del disco fissa oppure ridimensionandolo per salvare spazio disco), al momento di scegliere il tipo di destinazione (Select the destination type), ho selezionato Other Virtual Machine, e nella schermata successiva, ho specificato il nome della Virtual Machine  e ho selezionato Workstation 6.x, VMware Fusion 1.x, Player 2.x, ACE 2.x. Andando avanti si possono scegliere altre opzioni secondo delle proprie esigenze. Secondo della dimensione del file della Virtual Machine di cui si vuol fare la conversione, la procedura richiederà un pò di tempo (nel mio caso per una file di circa 19GB sono stati necessari più di 30 minuti).

A questo punto non resta che creare una nuova macchina virtuale su Sun VirtualBox seguendo il Wizard. Al momento della scelta dell'Hard-disk virtuale, scegliere esistente:

image

nel Gestore dei dischi virtuali, fare click su aggiungi e scegliere il percorso del file con estensione *.vmdk creato utilizzando il VMWare converter.

image

Una volta selezionato il file, è sufficiente continuare fino alla fine. Una volta terminata la procedura guidata è possibile impostare le varie opzioni per la macchina virtuale appena creata (attivare l'accesso a periferiche USB, impostare le schede di rete, cartelle condivise etc...).

Al momento, l'unico problema che ho incontrato dopo la conversione è un leggero sfarfallio del contenuto della finestra della macchina virtuale durante il passaggio della modalità a Schermo intero e viceversa o durante il ridimensionamento della finestra del sistema guest, tutto sommato nulla di particolare. Non resta che testare il comportamento durante le sessioni di lavoro.

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (2) | Filed Under [ Virtual Machine ]

FTP: Download/Upload di un file con ProgressBar

Post nato da discussione su forum. Supponiamo di voler creare un client ftp (applicazione Windows Form) per il download/upload di file, utilizzando un controllo ProgressBar per visualizzare lo stato di avanzamento dell'operazione. Grazie alle classi messe a disposizione del Framework .Net, il codice per il download di un file remoto, potrebbe essere del tipo:

1 //Connessione con l'host 2 Connect(remotePathFile); 3 4 //Imposta il tipo di richiesta 5 _conn.Method = WebRequestMethods.Ftp.DownloadFile; 6 7 //Ottiene la risposta 8 _resp = (FtpWebResponse)(_conn.GetResponse()); 9 System.IO.Stream _respStream = _resp.GetResponseStream(); 10 11 if (ContinueProcess(_resp.StatusDescription)) 12 { 13 //Apre il file locale per la scrittura 14 //.... 15 16 try 17 { 18 //Recupera la dimensione del file come numero di bytes 19 Int64 totalBytes = GetFileSize(remotePathFile); 20 Int64 totalBytesRead = 0; 21 22 if (downloadFileStarted != null) downloadFileStarted(totalBytes); 23 24 byte[] buf = new byte[1024]; 25 26 int bytesRead = _respStream.Read(buf, 0, buf.Length); 27 28 while (bytesRead != 0) 29 { 30 totalBytesRead += bytesRead; 31 32 if (downloadFileProgress != null) downloadFileProgress(totalBytes, totalBytesRead); 33 34 fileStream.Write(buf, 0, bytesRead); 35 36 bytesRead = _respStream.Read(buf, 0, buf.Length); 37 } 38 39 if (downloadFileCompleted != null) downloadFileCompleted(); 40 41 return true; 42 } 43 catch (WebException ex) 44 { 45 //..... 46 } 47 finally 48 { 49 fileStream.Close(); 50 _respStream.Close(); 51 } 52 } 53 else ... 54 }

mentre il codice per eseguire l'upload, potrebbe essere del tipo:

1 if (Connect(remoteFilePath)) 2 { 3 try 4 { 5 //Connected 6 _conn.Method = WebRequestMethods.Ftp.UploadFile; 7 8 FileInfo file = new FileInfo(localFilePath); 9 10 if (file.Length > 0) 11 { 12 if (uploadFileStarted != null) uploadFileStarted(file.Length); 13 14 Stream strUpload = _conn.GetRequestStream(); 15 16 int bytesRead = 0; 17 int totalBytesRead = 0; 18 byte[] fileBytes = new byte[1024]; 19 20 FileStream strLocalFile = new FileStream(localFilePath, FileMode.Open); 21 bytesRead = strLocalFile.Read(fileBytes, 0, fileBytes.Length); 22 23 while (bytesRead != 0) 24 { 25 totalBytesRead += bytesRead; 26 27 strUpload.Write(fileBytes, 0, bytesRead); 28 29 if (uploadFileProgress != null) uploadFileProgress(file.Length, totalBytesRead); 30 31 bytesRead = strLocalFile.Read(fileBytes, 0, fileBytes.Length); 32 } 33 34 strLocalFile.Close(); 35 strUpload.Close(); 36 37 if (uploadFileCompleted != null) uploadFileCompleted(); 38 } 39 } 40 catch (WebException ex) {...} 41 catch (Exception ex) { ...} 42 } 43 else{...}

Nulla di particolare, tranne che, sia per l'upload che per il download, il file viene inviato/scaricato un blocco per volta, nell'esempio di dimensione massima di 1024 Byte.

In allegato, un'applicazione Windows Form molto semplice.

image

Le operazioni di download/upload sono eseguite su un thread diverso da quello principale.

Codice allegato

Technorati Tag: ,,,

posted @ lunedì 1 gennaio 0001 00:00 | Feedback (3) | Filed Under [ C# ]

Powered by:
Powered By Subtext Powered By ASP.NET