Come trovare la data di cambio dell'ora solare / legale con ASP.Net C#

Posted by: ollie10 9/7/2009 4:46 PM

In questo esempio vediamo come con c# ed una funzione della classe TimeZone, tale funzione riceve l'anno come parametro e restituirà la data e ora del cambio

TimeZone tz = TimeZone.CurrentTimeZone;
System.Globalization.DaylightTime dc = tz.GetDaylightChanges(2009);
Console.WriteLine(dc.Start);
Console.WriteLine(dc.End);
Console.WriteLine(dc.Delta);

Questo sarà il risultato che otterremo

29/03/2009 2.00.00
25/10/2009 3.00.00
01:00:00
Tags: , , ,
Categories: Asp.NET - C# | BlogEngine.NET
Permalink | Comments (0)
RSS comment feed

Visualizzare i nomi dei mesi in base ad una culture specifica con Asp.Net C#

Posted by: ollie10 7/31/2009 10:23 AM

Con questo script di esempio vediamo come stampare il nome dei mesi utilizzando una culture specifica.

using System.Globalization;
CultureInfo ci = new CultureInfo("it-it");
for (int i = 1; i <= 12; i++)
{
	Console.WriteLine(string.Format("Mese: {0} = {1}", new DateTime(2008,i, 1).ToString("MMMM", ci), i.ToString()));
}
Tags: , ,
Categories: Asp.NET - C# | BlogEngine.NET
Permalink | Comments (0)
RSS comment feed

Lettura di un file CSV tramite ODBC

Posted by: ollie10 7/20/2009 4:06 PM

In questo esempio vediamo come leggere un file in formato CSV tramite il driver ODBC Microsoft Text Driver e caricarlo in un DataSet

//LETTURA DA FILE CSV
string fileName = @"c:\cartella\miofile.csv";
DataSet ds = new DataSet ();

string strConnString= "DRIVER={Microsoft Text Driver (*.txt; *.csv)};FileName=" + fileName
 + ";Extensions=asc,csv,tab,txt;Persist Security Info=False";

using (OdbcConnection cnn = new OdbcConnection(strConnString))
{
	cnn.Open();
	string sql = string.Format("select * from [{0}]", System.IO.Path.GetFileName(fileName));
	OdbcDataAdapter da = new OdbcDataAdapter(sql, cnn);
	// RIEMPIMENTO DATASET
	da.Fill(ds, "TblCsv");
}
Tags: , , , ,
Categories: Asp.NET - C# | Sviluppo Web
Permalink | Comments (0)
RSS comment feed

Il metodo corretto per parsare un enumerator in Asp.NET C#

Posted by: ollie10 7/13/2009 7:00 PM

Per comparare stringhe con enumerators il metodo più corretto è usare Enum.Parse, in questo esempio vediamo come parsare una stringa chiamata messageid con il corrispettivo enumerator

MessageType messageType = (MessageType)System.Enum.Parse(typeof(MessageType), messageId, true);
Tags: , ,
Categories: Asp.NET - C# | Sviluppo Web
Permalink | Comments (0)
RSS comment feed

Creare un generatore di Google Sitemap con Asp.NET C#

Posted by: ollie10 7/6/2009 7:00 PM

Con questo esempio vedremo come realizzare una funzione che genererà una sitemap ad-hoc per i contenuti del nostro sito web. La funzione prende come parametri un HttpContext ed una collezione di oggetti che ciclerà per creare i nodi dell'xml. Sarebbe anche utile passare come parametro il path dove salvare l'xml ma nel mio caso non serviva.

More...
Tags: , , ,
Categories: Asp.NET - C# | Sviluppo Web
Permalink | Comments (0)
RSS comment feed

Prevenire Il Cambio Di Url Quando Si Usa L'Url Rewriting E Il Postback

Posted by: ollie10 6/29/2009 5:17 PM

In tutti i siti che si rispettino ormai si fa largo uso delle tecniche di url rewriting per ottimizzare l'indicizzazione sui motori di ricerca. In Asp.NET però spesso si verifica un problema con il postback, questo perchè nel form viene conservato l'url leale della pagina e non quello riscritto.

Per ovviare a questo inconveniente ci sono diversi metodi, ma quello più semplice consiste in una sola riga di javascript che resetta l'action del form con quello visualizzato effettivamente nel browser, ecco il codice:

<script type="text/javascript">document.thewebform.action = document.location.href;</script>

Ovviamente bisognerà sostituire theform con il name corretto della propria form

Tags: , ,
Categories: Asp.NET - C#
Permalink | Comments (1)
RSS comment feed

Il Modo Corretto Di Parsare Gli Enum In Asp.NET C#

Posted by: ollie10 6/22/2009 5:02 PM

Per comparare gli enum con le string il metodo corretto è usare Enum.Parse rispetto a comparare le stringhe.

In questo esempio supponiamo di avere una stringa messageId ed un enumerator MessageType:

MessageType messageType = (MessageType)System.Enum.Parse(typeof(MessageType),messageId,true);

L'ultimo argomento dy System.Enum.Parse specifica se il confronto deve essere case sensitive o meno.

Tags: , , ,
Categories: Asp.NET - C#
Permalink | Comments (0)
RSS comment feed

Remix 2009 il web del futuro, finalmente un evento interessante

Posted by: ollie10 6/18/2009 7:30 PM

Remix 2009 MilanoNon sono solito andare a tutti gli eventi di Microsoft & Co. e non sono un superfanatico ma l'imressione che ho avuto dal ridotto numerdo di eventi a cui ho partecipato è che fossero tutti abbastanza scarsi sotto il livello contenuti fino a ieri quando sono andato al Remix 2009 tenutosi al Crowne Plaza Hotel di San Donato Milanese.

L'evento è cominciato molto bene con il Keynote e David Platt che ha cercato di spiegarci come mai il software fa "schifo".

More...
Tags:
Categories: Asp.NET - C# | News | Personale | Sviluppo Web
Permalink | Comments (1)
RSS comment feed

Salvare Immagini In Formato Jpg Con Compressione Variabile

Posted by: ollie10 5/28/2009 3:27 PM

Spesso capita di dover lavorare con delle immagini e di volerle salvare nel formato più comune per il web il jpg, usando i parametri standard dell'oggetto image il risultato però non è ottimale. La funzione Save() ha un paio di interessanti parametri EncoderParameters e ImageCodecInfo che possono venirci in aiuto.

Usando queste semplici funzioni possiamo salvare l'immagine specificando il rapporto di compressione (da 0 a 100) come faremmo con photoshop o qualsiasi altro programma di grafica

 

Image image = Bitmap.FromFile("C:\\immagine.jpg");
// SALVO L'IMMAGINE CON UN RAPPORTO DI COMPRESSIONE DEL 75%
SaveJPG(image, "C:\\output.jpg", 75);


private ImageCodecInfo GetEncoderInfo(String mimeType)
{
	int j;
	ImageCodecInfo[] encoders;
	encoders = ImageCodecInfo.GetImageEncoders();
	for (j = 0; j < encoders.Length; ++j)
	{
		if (encoders[j].MimeType == mimeType)
		return encoders[j];
	}
	return null;
}

public static void SaveJPG(Image image, string fileName, long compression)
{
	EncoderParameters eps = new EncoderParameters(1);
	eps.Param[0] = new EncoderParameter(System.Drawing.Imaging.Encoder.Quality, compression);
	ImageCodecInfo ici = GetEncoderInfo("image/jpeg");
	image.Save(fileName, ici, eps);
}
Tags: ,
Categories: Asp.NET - C#
Permalink | Comments (0)
RSS comment feed

Upgrade blog e gallery aggiornata!

Posted by: ollie10 5/13/2009 6:08 PM

Oggi finalmente dopo un porting lungo e abbastanza faticoso sono riuscito ad aggiornare il blog all'ultima versione di blogengine la 1.5.0.7. Dato che c'ero ne ho approfittato anche per dare una rinfrescata alla grafica anche perchè purtroppo quella precedente non supportava a pieno tutte le nuove features come i widget. Praticamente tutti i post sono stati validati xhtml transitional ed ho apportato piccoli miglioramenti prestazionali.

La lista delle features è disponibile qui http://www.dotnetblogengine.net/page/features.aspx

Questi giorni ho provveduto anche ad aggiornare la gallery all'ultima versione di imagevuex, il software usato pergestire le foto, anche qui sono disponibili tante migliorie, ho aggiunto tra l'altro anche le foto che da un pò non pubblicavo.

A presto

Tags:
Categories: Asp.NET - C# | BlogEngine.NET | Personale
Permalink | Comments (0)
RSS comment feed