Posts
165
Comments
253
Trackbacks
1
C#
Fattoriali, grandi numeri e … BigInteger.

  Con un amico stiamo analizzando/realizzando un software statistico che fa largo uso del fattoriale e del coefficiente binomiale. Dovendo calcolare il fattoriale di valori come 500, non possiamo utilizzare i “normali” tipi di dato offerti dal .Net Framework 3.5, dato che, con un float calcoliamo al più 34!, con un UInt64 65! e con un double 170!. Ben lontani dal nostro obiettivo... Si potrebbe allora utilizzare qualche formula di approssimazione, come la formula di Stirling (utilizzabile operativamente in questo modo). Così facendo potremmo ottenere un risultato esprimibile secondo la notazione scientifica: 1,21993348682175 *10^1134, ma non potremmo operare...

posted @ lunedì 1 giugno 2009 12.56 | Feedback (0)
Image, MemoryStream e file .rdlc

Supponiamo di avere un file di Report in formato .rdlc, e di voler stampare una lista di prodotti visualizzando un'immagine prodotta a run-time e memorizzata in un MemoryStream, piuttosto che utilizzare file d'immagine. Ad esempio, supponiamo di avere nel nostro Database, una tabella denominata Prodotti, contenente 4 colonne: Aggiungiamo al nostro progetto (ad esempio di tipo Web Application) un DataSet tipizzato (dsProdotti)  contenente un DataTable Prodotti, a cui andiamo ad aggiungere una colonna denominata  Immagine, con proprietà DataType impostata su System.Byte[]: Aggiungiamo un nuovo file di Report (Report1.rdlc), nel designer del report,...

posted @ martedì 25 novembre 2008 17.42 | Feedback (0)
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 ...

posted @ domenica 2 novembre 2008 10.02 | Feedback (3)
WPF: XmlDataProvider

Supponiamo di avere un file XML molto semplice, del tipo: 1 <?xml version="1.0" encoding="utf-8" ?> 2 <books> 3 <book id="1"> 4 <title>Introducing To Microsoft LINQ</title> 5 <isbn>43554354523</isbn> 6 </book> 7 <book id="2"> 8 <title>Pro WPF Windows Presentation Foundation in dot NET 3.0</title> 9 <isbn>232132142</isbn> 10 </book> 11 <book id="3"> 12 <title>Foundations of F#</title> 13 <isbn>772337271</isbn> 14 </book> 15 <book id="4"> 16 ...

posted @ domenica 31 agosto 2008 11.43 | Feedback (2)
ConvertAll<>

Supponiamo di avere una situazione schematizzata dal seguente Class Diagram: Supponiamo di avere un unico metodo Add che aggiunge oggetti di tipo Person ad una lista tipizzata denominata People, come nel caso seguente: 1 2 List<Person> _people = new List<Person>(); 3 4 private void Add(Person p) 5 { 6 _people.Add(p); 7 } Utilizziamo il seguente codice per popolare la collezione People : 1 Employee e = null; 2 e = new Employee(); 3 e.Age = 21; 4 e.Name = "Peter"; 5 e.Surname = "Book"; 6 e.Office = "Piazzale Kennedy 21"; 7 8 Add(e); ...

posted @ domenica 24 agosto 2008 13.32 | Feedback (2)
EventLog

Piccolo post derivato da una risposta su un forum. Un semplice modo per dotare una nostra applicazione di un log degli eventi, è utilizzare la classe EventLog che il .Net Framework mette a disposizione. MSDN suggerisce, nel caso in cui si debba usare il log per poche operazioni di utilizzare i metodi statici della classe EventLog, altrimenti conviene registrare un log degli eventi personalizzato e utilizzare un'istanza della classe EventLog. Quando detto si traduce in poche righe di codice: 1 if (!EventLog.SourceExists("MyEventLog", ".")) 2 EventLog.CreateEventSource("MyEventLog", "CustomApplication"); 3 4 _demoLog = new EventLog("CustomApplication", ".", "MyEventLog"); Per aggiungere...

posted @ lunedì 18 agosto 2008 13.02 | Feedback (2)
System.Net.Mail: Modi diversi di inviare un'e-mail

Spesso si leggono nei forum post  di richiesta su come poter inviare e-mail (con e senza allegati) utilizzando le classi che il Framework .Net  mette a disposizione. Spero che questo piccolo post con relativo codice d'esempio possa tornare utile. Per inviare una semplice mail di testo senza allegati è sufficiente scrivere: 1 //Mail Plain Text - Senza allegato 2 MailMessage mailMessagePlainText = new MailMessage(); 3 mailMessagePlainText.From = new MailAddress("indirizzo.mittente@dominio.it", "Mittente"); 4 mailMessagePlainText.To.Add (new MailAddress ("destinatario@dominio.it","Destinatario")); 5 mailMessagePlainText.Subject ="Plain Text e-mail"; 6 //mailMessage.CC utilizzare se è necessario inviare in copia carbone 7 mailMessagePlainText.Body ="Questa è una bellissima e-mail, soprattutto utile!"; Se...

posted @ mercoledì 6 agosto 2008 13.24 | Feedback (2)
System.Security.Cryptography.Rijndael

Una classe Helper per l'algoritmo di cifratura simmetrico System.Security.Cryptography.Rijndael , magari può tornare utile: 1 public class RijndaelHelper 2 { 3 private byte[] _IV = null; 4 private byte[] _key = null; 5 private Rijndael _rijndael = null; 6 private string _lastExceptionDescription = ""; 7 8 public string LastExceptionDescription 9 { 10 ...

posted @ mercoledì 23 luglio 2008 10.30 | Feedback (0)
Content-disposition, ContentType e PDF

Supponiamo di avere un'applicazione web (classica gestione dei preventivi web, ad esempio), che al termine di una serie di operazioni produce un file pdf (il preventivo). Se volessimo rendere scaricabile/apribile il file senza che l'utente debba nuovamente fare click su di un collegamento, al termine delle operazioni potremmo eseguire il redirect verso una pagina contenente del tipo: 1 protected void Page_SaveStateComplete(object sender, EventArgs e) 2 { 3 try 4 { 5 RenderDocument(this.Context); 6 } 7 ...

posted @ martedì 13 maggio 2008 14.04 | Feedback (7)
Button e proprietà UseVisualStyleBackColor

Post nato da discussione su Forum. Per "eliminare" l'effetto del cambio del colore di sfondo (Dal Grigio all'azzurro in modalità standard) di un controllo Button su di una Window Form, è sufficiente impostare a False la proprietà UseVisualStyleBackColor del controllo Button. In questo modo disabilitiamo l'utilizzo dei visual-style per lo specifico controllo (dove supportato) Technorati Tag: UseVisualStyleBackColor

posted @ venerdì 9 maggio 2008 7.55 | Feedback (2)
Full C# Archive
News

View Pietro Libro's profile on LinkedIn

Pietro Libro