<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>ASP.Net</title><link>http://blog.shareoffice.it/ivangentile/category/93.aspx</link><description>Codice consigli e trucchi su ASP.Net con framework 2.0</description><managingEditor>Ivan Gentile</managingEditor><dc:language>it-IT</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Ivan Gentile</dc:creator><title>Trovare le informazioni del sistema operativo in VB.Net, C# e ASP.Net</title><link>http://blog.shareoffice.it/ivangentile/archive/2006/09/26/7761.aspx</link><pubDate>Tue, 26 Sep 2006 10:20:00 GMT</pubDate><guid>http://blog.shareoffice.it/ivangentile/archive/2006/09/26/7761.aspx</guid><wfw:comment>http://blog.shareoffice.it/ivangentile/comments/7761.aspx</wfw:comment><comments>http://blog.shareoffice.it/ivangentile/archive/2006/09/26/7761.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/ivangentile/comments/commentRss/7761.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/ivangentile/services/trackbacks/7761.aspx</trackback:ping><description>&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;Come trovare le informazioni del sistema&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;&lt;br /&gt;&lt;br /&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Nei sistemi Win32, esiste l’API &lt;i&gt;GetVersionEx&lt;/i&gt; che restituisce le informazioni nella struttura &lt;b&gt;OSVERSIONINFO&lt;/b&gt;. Quindi possiamo guardare i valori di tutti i vari campi della struttura ed analizzare tutto (o quasi!!) del sistema operativo in esecuzione. &lt;/font&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Il Framework 2005 ci fornisce la classe &lt;b&gt;&lt;i&gt;Environment&lt;/i&gt;&lt;/b&gt;. Questa classe contiene un metodo chiamato &lt;i&gt;OSVersion&lt;/i&gt; che restituisce l’oggetto &lt;b&gt;&lt;i&gt;OperatingSystem&lt;/i&gt;&lt;/b&gt;. Quest’oggetto può essere utilizzato per fornire informazioni sulla versione del sistema.&lt;/font&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;font color="#ff0000"&gt;Come ottenere l’oggetto &lt;i&gt;OperatingSystem&lt;/i&gt;&lt;/font&gt; &lt;/font&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;&lt;/strong&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;font color="#000080"&gt;La classe &lt;b&gt;&lt;i&gt;OperatingSystem&lt;/i&gt;&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt; contiene tre proprietà:  &lt;/font&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ol type="1"&gt;
&lt;li&gt;&lt;i&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Platform&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;: restituisce il valore del PlatformID.Ha tre differenti valori.&lt;/font&gt;
&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul type="circle"&gt;
&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;font color="#000080"&gt;&lt;span&gt;Win32NT &lt;/span&gt;&lt;span&gt;&lt;span&gt;à&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Windows NT &lt;/font&gt;
&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;font color="#000080"&gt;&lt;span&gt;Win32Windows &lt;/span&gt;&lt;span&gt;&lt;span&gt;à&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt; Windows 95 o superiore &lt;/font&gt;
&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;font color="#000080"&gt;&lt;span&gt;Win32S &lt;/span&gt;&lt;span&gt;&lt;span&gt;à&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt; Win32s è in esecuzione su una versione a 16-di Windows.&lt;/font&gt;
&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;font color="#000080"&gt;&lt;span&gt;&lt;span&gt;2.&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;i&gt;&lt;span&gt;CSD&lt;/span&gt;&lt;/i&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;: questa proprietà indica il numero &lt;b&gt;&lt;i&gt;Corrected Service Diskette&lt;/i&gt;&lt;/b&gt; del sistema operative o in alter parole la stringa che rappresenta la service pack installata. &lt;/font&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ol type="1" start="3"&gt;
&lt;li&gt;&lt;i&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Version&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;: Restiruisce la versione. Questa classe è &lt;i&gt;vuota&lt;/i&gt;, ma la classe &lt;i&gt;Version&lt;/i&gt; standard usata per indicare la versione di qualsiasi assembly in .NET definisce un insieme di valori indicati come &lt;b&gt;&lt;i&gt;Major&lt;/i&gt;.&lt;i&gt;Minor&lt;/i&gt;.&lt;i&gt;Revision&lt;/i&gt;.&lt;i&gt;Build&lt;/i&gt;&lt;/b&gt;. La classe &lt;i&gt;Version&lt;/i&gt; contiene, infatti, 4 proprietà che restituiscono completamente le informazioni del sistema operativo.&lt;/font&gt;
&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;ul type="circle"&gt;
&lt;li&gt;&lt;b&gt;&lt;i&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Major&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt; – Numero della Major Version &lt;/font&gt;
&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;i&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Minor&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt; - Numero della Minor Version &lt;/font&gt;
&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;i&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Revision&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt; - Numero della Revision &lt;/font&gt;
&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;b&gt;&lt;i&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Build&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt; - Numero della Build&lt;/font&gt;
&lt;p&gt;&lt;/p&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/ol&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;Cosa significano questi valori???&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;b&gt;&lt;span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/b&gt;&lt;span&gt;&lt;br /&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Combinando tre dei valori restituiti otterremo l’esatta versione del sistema operative utilizzato. Nella tabella seguente elenco i possibili risultati che possiamo ottenere dalla combinazione dei valori ottenuti. &lt;/font&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;table cellspacing="3" cellpadding="0" width="100%" border="1"&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;PlatformID&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;Major Version&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;strong&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;font color="#ff0000"&gt;Minor Version&lt;/font&gt; &lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;font color="#000080"&gt;&lt;strong&gt;&lt;span&gt;&lt;font color="#ff0000"&gt;Sistema Operativo&lt;/font&gt;&lt;/span&gt;&lt;/strong&gt;&lt;span&gt; &lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Win32Windows&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&amp;gt;= 4&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;0&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Win95 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Win32Windows&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&amp;gt;= 4&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&amp;gt; 0 AND &amp;lt; 90&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Win98&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Win32Windows&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&amp;gt;= 4&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&amp;gt; 0 AND &amp;gt;= 90&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;WinMe &lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Win32NT&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&amp;lt;= 4&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;0&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;WinNT &lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Win32NT  &lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;5&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;0 &lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Win2K &lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Win32NT  &lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;5&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&amp;gt; 0&lt;/font&gt;&lt;/span&gt;&lt;span&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;
&lt;td valign="top"&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;WinXP&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt; &lt;/font&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;
&lt;/p&gt;&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Nel codice seguente invece una breve descrizione Following a small sample from the class that shows the use of Environment class in System namespace.&lt;/font&gt;&lt;/span&gt;&lt;span&gt;&lt;font face="Verdana" color="#000080" size="2"&gt; &lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;i&gt;&lt;span&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;Dim os As OperatingSystem = Environment.OSVersion&lt;br /&gt;' Prendiamo le informazioni della versione&lt;br /&gt;Dim vs As Version = os.Version&lt;br /&gt;Private Me.m_nMajorVer = vs.Major&lt;br /&gt;Private Me.m_nMinorVersion = vs.Minor&lt;br /&gt;Private Me.m_nRevision = vs.Revision&lt;br /&gt;Private Me.m_nBuildNumber = vs.Build&lt;br /&gt;' Prendiamo le informazioni della service pack &lt;br /&gt;Private Me.m_strServicePack = os.ServicePack&lt;/font&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;Ciao&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span&gt;&lt;span&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;Ivan&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/ivangentile/aggbug/7761.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p><strong><span><font face="Verdana" color="#ff0000" size="2">Come trovare le informazioni del sistema</font></span></strong><span><br /><br /><font face="Verdana" color="#000080" size="2">Nei sistemi Win32, esiste l’API <i>GetVersionEx</i> che restituisce le informazioni nella struttura <b>OSVERSIONINFO</b>. Quindi possiamo guardare i valori di tutti i vari campi della struttura ed analizzare tutto (o quasi!!) del sistema operativo in esecuzione. </font>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p>
<p><span><font face="Verdana" color="#000080" size="2">Il Framework 2005 ci fornisce la classe <b><i>Environment</i></b>. Questa classe contiene un metodo chiamato <i>OSVersion</i> che restituisce l’oggetto <b><i>OperatingSystem</i></b>. Quest’oggetto può essere utilizzato per fornire informazioni sulla versione del sistema.</font>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p>
<p><strong><span><font face="Verdana" color="#000080" size="2"><font color="#ff0000">Come ottenere l’oggetto <i>OperatingSystem</i></font> </font>
<p><font face="Verdana" color="#000080" size="2"></font></p></span></strong>
</p><p><font face="Verdana" color="#000080" size="2"></font></p>
<p><span><font face="Verdana"><font size="2"><font color="#000080">La classe <b><i>OperatingSystem</i></b></font></font></font></span><span><font face="Verdana" color="#000080" size="2"> contiene tre proprietà:  </font>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p>
<ol type="1">
<li><i><span><font face="Verdana" color="#000080" size="2">Platform</font></span></i><span><font face="Verdana" color="#000080" size="2">: restituisce il valore del PlatformID.Ha tre differenti valori.</font>
<p></p></span></li>
<ul type="circle">
<li><font face="Verdana"><font size="2"><font color="#000080"><span>Win32NT </span><span><span>à</span></span></font></font></font><span><font face="Verdana" color="#000080" size="2">Windows NT </font>
<p></p></span></li>
<li><font face="Verdana"><font size="2"><font color="#000080"><span>Win32Windows </span><span><span>à</span></span></font></font></font><span><font face="Verdana" color="#000080" size="2"> Windows 95 o superiore </font>
<p></p></span></li>
<li><font face="Verdana"><font size="2"><font color="#000080"><span>Win32S </span><span><span>à</span></span></font></font></font><span><font face="Verdana" color="#000080" size="2"> Win32s è in esecuzione su una versione a 16-di Windows.</font>
<p></p></span></li></ul></ol>
<p><font face="Verdana"><font size="2"><font color="#000080"><span><span>2.<span>      </span></span></span><i><span>CSD</span></i></font></font></font><span><font face="Verdana" color="#000080" size="2">: questa proprietà indica il numero <b><i>Corrected Service Diskette</i></b> del sistema operative o in alter parole la stringa che rappresenta la service pack installata. </font>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p>
<ol type="1" start="3">
<li><i><span><font face="Verdana" color="#000080" size="2">Version</font></span></i><span><font face="Verdana" color="#000080" size="2">: Restiruisce la versione. Questa classe è <i>vuota</i>, ma la classe <i>Version</i> standard usata per indicare la versione di qualsiasi assembly in .NET definisce un insieme di valori indicati come <b><i>Major</i>.<i>Minor</i>.<i>Revision</i>.<i>Build</i></b>. La classe <i>Version</i> contiene, infatti, 4 proprietà che restituiscono completamente le informazioni del sistema operativo.</font>
<p></p></span></li>
<ul type="circle">
<li><b><i><span><font face="Verdana" color="#000080" size="2">Major</font></span></i></b><span><font face="Verdana" color="#000080" size="2"> – Numero della Major Version </font>
<p></p></span></li>
<li><b><i><span><font face="Verdana" color="#000080" size="2">Minor</font></span></i></b><span><font face="Verdana" color="#000080" size="2"> - Numero della Minor Version </font>
<p></p></span></li>
<li><b><i><span><font face="Verdana" color="#000080" size="2">Revision</font></span></i></b><span><font face="Verdana" color="#000080" size="2"> - Numero della Revision </font>
<p></p></span></li>
<li><b><i><span><font face="Verdana" color="#000080" size="2">Build</font></span></i></b><span><font face="Verdana" color="#000080" size="2"> - Numero della Build</font>
<p></p></span></li></ul></ol>
<p><strong><span><font face="Verdana" color="#ff0000" size="2">Cosa significano questi valori???</font></span></strong><b><span><br /></span></b><span><br /><font face="Verdana" color="#000080" size="2">Combinando tre dei valori restituiti otterremo l’esatta versione del sistema operative utilizzato. Nella tabella seguente elenco i possibili risultati che possiamo ottenere dalla combinazione dei valori ottenuti. </font>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p>
<table cellspacing="3" cellpadding="0" width="100%" border="1">
<tbody>
<tr>
<td valign="top">
<p><strong><span><font face="Verdana" color="#ff0000" size="2">PlatformID</font></span></strong><span>
<p><font face="Verdana" color="#ff0000" size="2"></font></p></span>
</p><p><font face="Verdana" color="#ff0000" size="2"></font></p></td>
<td valign="top">
<p><strong><span><font face="Verdana" color="#ff0000" size="2">Major Version</font></span></strong><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><strong><span><font face="Verdana" color="#000080" size="2"><font color="#ff0000">Minor Version</font> </font></span></strong><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><font face="Verdana"><font size="2"><font color="#000080"><strong><span><font color="#ff0000">Sistema Operativo</font></span></strong><span> </span></font></font></font><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td></tr>
<tr>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">Win32Windows</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">&gt;= 4</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">0</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">Win95 </font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td></tr>
<tr>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">Win32Windows</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">&gt;= 4</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">&gt; 0 AND &lt; 90</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">Win98</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td></tr>
<tr>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">Win32Windows</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">&gt;= 4</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">&gt; 0 AND &gt;= 90</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">WinMe </font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td></tr>
<tr>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">Win32NT</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">&lt;= 4</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">0</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">WinNT </font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td></tr>
<tr>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">Win32NT  </font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">5</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">0 </font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">Win2K </font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td></tr>
<tr>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">Win32NT  </font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">5</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">&gt; 0</font></span><span>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td>
<td valign="top">
<p><span><font face="Verdana" color="#000080" size="2">WinXP</font></span><span><font face="Verdana" color="#000080" size="2"> </font>
<p><font face="Verdana" color="#000080" size="2"></font></p></span>
</p><p><font face="Verdana" color="#000080" size="2"></font></p></td></tr></tbody></table>
<p><span><font face="Verdana" color="#000080" size="2">Nel codice seguente invece una breve descrizione Following a small sample from the class that shows the use of Environment class in System namespace.</font></span><span><font face="Verdana" color="#000080" size="2"> <br /><br /></font><i><span><font face="Verdana" color="#0000ff" size="2">Dim os As OperatingSystem = Environment.OSVersion<br />' Prendiamo le informazioni della versione<br />Dim vs As Version = os.Version<br />Private Me.m_nMajorVer = vs.Major<br />Private Me.m_nMinorVersion = vs.Minor<br />Private Me.m_nRevision = vs.Revision<br />Private Me.m_nBuildNumber = vs.Build<br />' Prendiamo le informazioni della service pack <br />Private Me.m_strServicePack = os.ServicePack</font></span></i></span></p>
<p><span><span><font face="Verdana" color="#0000ff" size="2"></font></span></span> </p>
<p><span><span><font face="Verdana" color="#0000ff" size="2">Ciao</font></span></span></p>
<p><span><span><font face="Verdana" color="#0000ff" size="2">Ivan</font></span></span></p><img src ="http://blog.shareoffice.it/ivangentile/aggbug/7761.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Ivan Gentile</dc:creator><title>Richiamare o cambiare le informazioni memorizzate all’interno di un programma durante l’esecuzione in VB.Net, C# E ASP.Net</title><link>http://blog.shareoffice.it/ivangentile/archive/2006/07/12/6660.aspx</link><pubDate>Wed, 12 Jul 2006 11:38:00 GMT</pubDate><guid>http://blog.shareoffice.it/ivangentile/archive/2006/07/12/6660.aspx</guid><wfw:comment>http://blog.shareoffice.it/ivangentile/comments/6660.aspx</wfw:comment><comments>http://blog.shareoffice.it/ivangentile/archive/2006/07/12/6660.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/ivangentile/comments/commentRss/6660.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/ivangentile/services/trackbacks/6660.aspx</trackback:ping><description>&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;span style="COLOR: black; FONT-FAMILY: Verdana FONT-SIZE:9"&gt;&lt;font color="#000080"&gt;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:&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000080&gt;1 &amp;#8211; Portandoci dietro il file originale;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000080&gt;2 &amp;#8211; Includendo il file nel nostro progetto e compilarlo con esso.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000080&gt;La prima soluzione non staremo qui a spiegarla e presteremo molta attenzione alla seconda soluzione.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000080&gt;Il framework .NET (gi&amp;#224; dalla versione 1.1) ci permette di memorizzare, all'interno di un progetto, qualsiasi tipo di file.&lt;BR&gt;Per fare ci&amp;#242; &amp;#232; necessario:&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000080&gt;1) importare il file all'interno del progetto utilizzando il men&amp;#249; Project\Add Existing Items;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000080&gt;2) selezionare il file all'interno del Solution Explorer e impostare tra le propriet&amp;#224; &lt;?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /&gt;&lt;st1:PersonName ProductID="la Build Action" w:st="on"&gt;la Build Action&lt;/st1:PersonName&gt; come Embedded Resource;&lt;BR style="mso-special-character: line-break"&gt;&lt;BR style="mso-special-character: line-break"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000080&gt;In questo modo il nostro file EXE verra compilato direttamente don il progetto. &lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000080&gt;A questo punto non ci rimane altro che richiamare il file in fase di esecuzione. Per fare questo possiamo utili il codice seguente:&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-FAMILY: Verdana; mso-ansi-language: EN-GB"&gt;&lt;o:p&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN lang=EN-GB style="FONT-FAMILY: Verdana; mso-ansi-language: EN-GB"&gt;&lt;FONT color=#0000ff&gt;&lt;EM&gt;Private bmStop As Bitmap&lt;BR&gt;&lt;BR&gt;Dim a As Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()&lt;BR&gt;bmStop = New Bitmap(a.GetManifestResourceStream( "NamSpaceRadice.NomeFile.Est"))&lt;o:p&gt;&lt;/o:p&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT color=#000080&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;FONT color=#000080&gt;NameSpaceRadice &amp;#232; il nome del namespace root dell'assembly mentre NomeFile.Est &amp;#232; il nome del file inserito nel progetto.&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT color=#ff0000&gt;&lt;EM&gt;&lt;/EM&gt;&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;EM&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;N.B.&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;EM&gt;&lt;FONT color=#ff0000&gt;&lt;STRONG&gt;Il metodo GetManifestResourceStream genera un'eccezione se il file e di dimensioni superiori ai 2GB&lt;/STRONG&gt;&lt;/FONT&gt;&lt;/EM&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="COLOR: black; FONT-FAMILY: Verdana"&gt;&lt;EM&gt;&lt;/EM&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&amp;nbsp;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT color=#000080&gt;Ciao&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;&lt;SPAN style="FONT-FAMILY: Verdana"&gt;&lt;o:p&gt;&lt;FONT color=#000080&gt;Ivan&lt;/FONT&gt;&lt;/o:p&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOGHELPER&gt;&lt;/BLOGHELPER&gt;&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/BLOGHELPER&gt;&lt;/bloghelper&gt;?&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/ivangentile/aggbug/6660.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><span style="COLOR: black; FONT-FAMILY: Verdana FONT-SIZE:9"><font color="#000080">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:<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><o:p><FONT color=#000080>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><FONT color=#000080>1 &#8211; Portandoci dietro il file originale;<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><FONT color=#000080>2 &#8211; Includendo il file nel nostro progetto e compilarlo con esso.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><o:p><FONT color=#000080>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><FONT color=#000080>La prima soluzione non staremo qui a spiegarla e presteremo molta attenzione alla seconda soluzione.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><o:p><FONT color=#000080>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><FONT color=#000080>Il framework .NET (gi&#224; dalla versione 1.1) ci permette di memorizzare, all'interno di un progetto, qualsiasi tipo di file.<BR>Per fare ci&#242; &#232; necessario:<BR style="mso-special-character: line-break"><BR style="mso-special-character: line-break"><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><FONT color=#000080>1) importare il file all'interno del progetto utilizzando il men&#249; Project\Add Existing Items;<BR style="mso-special-character: line-break"><BR style="mso-special-character: line-break"><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><FONT color=#000080>2) selezionare il file all'interno del Solution Explorer e impostare tra le propriet&#224; <?xml:namespace prefix = st1 ns = "urn:schemas-microsoft-com:office:smarttags" /><st1:PersonName ProductID="la Build Action" w:st="on">la Build Action</st1:PersonName> come Embedded Resource;<BR style="mso-special-character: line-break"><BR style="mso-special-character: line-break"><o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><FONT color=#000080>In questo modo il nostro file EXE verra compilato direttamente don il progetto. <o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><o:p><FONT color=#000080>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><FONT color=#000080>A questo punto non ci rimane altro che richiamare il file in fase di esecuzione. Per fare questo possiamo utili il codice seguente:<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-FAMILY: Verdana; mso-ansi-language: EN-GB"><o:p><FONT color=#000080>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN lang=EN-GB style="FONT-FAMILY: Verdana; mso-ansi-language: EN-GB"><FONT color=#0000ff><EM>Private bmStop As Bitmap<BR><BR>Dim a As Reflection.Assembly = System.Reflection.Assembly.GetExecutingAssembly()<BR>bmStop = New Bitmap(a.GetManifestResourceStream( "NamSpaceRadice.NomeFile.Est"))<o:p></o:p></EM></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: Verdana"><o:p><FONT color=#000080>&nbsp;</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><FONT color=#000080>NameSpaceRadice &#232; il nome del namespace root dell'assembly mentre NomeFile.Est &#232; il nome del file inserito nel progetto.<o:p></o:p></FONT></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><o:p><FONT color=#ff0000><EM></EM></FONT></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><o:p><EM><FONT color=#ff0000><STRONG>N.B.</STRONG></FONT></EM></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><o:p><EM><FONT color=#ff0000><STRONG>Il metodo GetManifestResourceStream genera un'eccezione se il file e di dimensioni superiori ai 2GB</STRONG></FONT></EM></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="COLOR: black; FONT-FAMILY: Verdana"><EM></EM></SPAN><SPAN style="FONT-FAMILY: Verdana"><o:p></o:p></SPAN>&nbsp;</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: Verdana"><o:p><FONT color=#000080>Ciao</FONT></o:p></SPAN></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"><SPAN style="FONT-FAMILY: Verdana"><o:p><FONT color=#000080>Ivan</FONT></o:p></SPAN></P></BLOGHELPER></BLOGHELPER></FONT></SPAN></BLOGHELPER></bloghelper>?></font></span></p><img src ="http://blog.shareoffice.it/ivangentile/aggbug/6660.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Ivan Gentile</dc:creator><title>Inviare e-mail in VB.Net, C# e ASP.Net 2.0</title><link>http://blog.shareoffice.it/ivangentile/archive/2006/03/19/4434.aspx</link><pubDate>Sun, 19 Mar 2006 14:04:00 GMT</pubDate><guid>http://blog.shareoffice.it/ivangentile/archive/2006/03/19/4434.aspx</guid><wfw:comment>http://blog.shareoffice.it/ivangentile/comments/4434.aspx</wfw:comment><comments>http://blog.shareoffice.it/ivangentile/archive/2006/03/19/4434.aspx#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.shareoffice.it/ivangentile/comments/commentRss/4434.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/ivangentile/services/trackbacks/4434.aspx</trackback:ping><description>&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Inviare e-mail nel &lt;strong&gt;Framwork 2.0&lt;/strong&gt; è quasi la stessa cosa della versione 1.0. Ci sono solo un paio di varianti.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;La prima differenza è ne fatto che tutte le funzionalità sono incluse nel nuovo namespace &lt;strong&gt;System.Net.Mail&lt;/strong&gt; e non più nel &lt;strong&gt;System.Web.Mail&lt;/strong&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;L'altra è da cercare nel codice seguente:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;MailMessage oMsg = new MailMessage();&lt;br /&gt;//Imposta il mittente&lt;br /&gt;oMsg.From = new MailAddress("&lt;u&gt;ivan.gentile&lt;/u&gt;&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;a href="mailto:ivan.gentile@sbsoft.it"&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;@sbsoft.it&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;", "Ivan Ufficio");&lt;br /&gt;//La proprietà .To è una collezione di destinatari, &lt;br /&gt;//quindi possiamo addizionare quanti destinatari vogliamo.&lt;br /&gt;oMsg.To.Add(new MailAddress("&lt;/em&gt;&lt;/font&gt;&lt;a href="mailto:ivan.gentile@libero.it"&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;ivan.gentile@libero.it&lt;/em&gt;&lt;/font&gt;&lt;/a&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;","Ivan Casa"));&lt;br /&gt;//Imposto oggetto&lt;br /&gt;oMsg.Subject = "Prova E-Mail via .Net";&lt;br /&gt;//Imposto contenuto&lt;br /&gt;oMsg.Body = "Ci sono riuscito!!!";&lt;br /&gt;oMsg.IsBodyHtml = true;&lt;br /&gt;//Imposto il Server Smtp&lt;br /&gt;SmtpClient oSmtp = new SmtpClient("&lt;font color="#ff0000"&gt;smtp.server.com&lt;/font&gt;");&lt;br /&gt;//Possiamo impostare differenti metodi di spedizione. &lt;br /&gt;//Imposta consegna diretta.&lt;br /&gt;oSmtp.DeliveryMethod = SmtpDeliveryMethod.Network;&lt;br /&gt;//Alcuni Server SMTP richiedono l'accesso autenticato&lt;br /&gt;NetworkCredential oCredential = new NetworkCredential("&lt;font color="#ff0000"&gt;username&lt;/font&gt;","&lt;font color="#ff0000"&gt;password&lt;/font&gt;");&lt;br /&gt;oSmtp.UseDefaultCredentials = false;&lt;br /&gt;oSmtp.Credentials = oCredential;&lt;br /&gt;//Spediamo la mail&lt;br /&gt;oSmtp.Send(oMsg);&lt;br /&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Consiglio di impostare tutto in un blocco &lt;strong&gt;&lt;em&gt;Try Catch&lt;/em&gt;&lt;/strong&gt; dal momento che i motivi che generano eccezzioni sono diversi come: indirizzo e-mail errato, errori di autentificazione, problemi di rete, ecc...&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Per chi volesse utilizzare questo codice in ASP.Net:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;em&gt;&lt;configuration&gt;&lt;/configuration&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font face="Verdana"&gt;Dim oMsg As MailMessage = New&lt;/font&gt;&lt;/font&gt;&lt;font face="Verdana" color="#0000ff"&gt; MailMessage()&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font face="Verdana" color="#0000ff"&gt;oMsg.To.Add(&lt;/font&gt;&lt;font face="Verdana" color="#0000ff"&gt;&lt;a href="mailto:ivan.gentile@sbsoft.it"&gt;ivan.gentile@sbsoft.it&lt;/a&gt;&lt;/font&gt;&lt;font face="Verdana" color="#0000ff"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font face="Verdana" color="#0000ff"&gt;oMsg.From = &lt;/font&gt;&lt;font color="#0000ff"&gt;&lt;font face="Verdana"&gt;New MailAddress(&lt;a href="mailto:ivan.gentile@sbsoft.it"&gt;ivan.gentile@sbsoft.it&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;font face="Verdana" color="#0000ff"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font face="Verdana" color="#0000ff"&gt;oMsg.Subject = &lt;/font&gt;&lt;font face="Verdana" color="#0000ff"&gt;"Prova"&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;oMsg.Body = "FATTO!!!"&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;font face="Verdana"&gt;Dim oSmtp As SmtpClient = New SmtpClient("&lt;font color="#ff0000"&gt;smtp.server.com&lt;/font&gt;"&lt;/font&gt;&lt;/font&gt;&lt;font face="Verdana" color="#0000ff"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;oSmtp.Send(oMsg)&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;
&lt;p align="center"&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;&lt;strong&gt;Okkio le parole in rosso devono essere adattate in base al server smtp utilizzato.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Ciao&lt;/p&gt;&lt;/font&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ivan&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/ivangentile/aggbug/4434.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p><font face="Verdana" color="#000080" size="2">Inviare e-mail nel <strong>Framwork 2.0</strong> è quasi la stessa cosa della versione 1.0. Ci sono solo un paio di varianti.</font></p>
<p><font face="Verdana" color="#000080" size="2">La prima differenza è ne fatto che tutte le funzionalità sono incluse nel nuovo namespace <strong>System.Net.Mail</strong> e non più nel <strong>System.Web.Mail</strong>.</font></p>
<p><font face="Verdana" color="#000080" size="2">L'altra è da cercare nel codice seguente:</font></p>
<p><font face="Verdana"><font size="2"><em><font color="#0000ff">MailMessage oMsg = new MailMessage();<br />//Imposta il mittente<br />oMsg.From = new MailAddress("<u>ivan.gentile</u></font></em></font></font><a href="mailto:ivan.gentile@sbsoft.it"><font face="Verdana" color="#0000ff" size="2"><em>@sbsoft.it</em></font></a><font face="Verdana" color="#0000ff" size="2"><em>", "Ivan Ufficio");<br />//La proprietà .To è una collezione di destinatari, <br />//quindi possiamo addizionare quanti destinatari vogliamo.<br />oMsg.To.Add(new MailAddress("</em></font><a href="mailto:ivan.gentile@libero.it"><font face="Verdana" color="#0000ff" size="2"><em>ivan.gentile@libero.it</em></font></a><font face="Verdana" color="#0000ff" size="2"><em>","Ivan Casa"));<br />//Imposto oggetto<br />oMsg.Subject = "Prova E-Mail via .Net";<br />//Imposto contenuto<br />oMsg.Body = "Ci sono riuscito!!!";<br />oMsg.IsBodyHtml = true;<br />//Imposto il Server Smtp<br />SmtpClient oSmtp = new SmtpClient("<font color="#ff0000">smtp.server.com</font>");<br />//Possiamo impostare differenti metodi di spedizione. <br />//Imposta consegna diretta.<br />oSmtp.DeliveryMethod = SmtpDeliveryMethod.Network;<br />//Alcuni Server SMTP richiedono l'accesso autenticato<br />NetworkCredential oCredential = new NetworkCredential("<font color="#ff0000">username</font>","<font color="#ff0000">password</font>");<br />oSmtp.UseDefaultCredentials = false;<br />oSmtp.Credentials = oCredential;<br />//Spediamo la mail<br />oSmtp.Send(oMsg);<br /></em></font></p>
<p><font face="Verdana" color="#000080" size="2">Consiglio di impostare tutto in un blocco <strong><em>Try Catch</em></strong> dal momento che i motivi che generano eccezzioni sono diversi come: indirizzo e-mail errato, errori di autentificazione, problemi di rete, ecc...</font></p>
<p><font face="Verdana" color="#000080" size="2">Per chi volesse utilizzare questo codice in ASP.Net:</font></p>
<p><font color="#0000ff"><em><configuration></configuration></em></font></p>
<p><font size="2"><font color="#0000ff"><font face="Verdana">Dim oMsg As MailMessage = New</font></font><font face="Verdana" color="#0000ff"> MailMessage()</font></font></p>
<p><font size="2"><font face="Verdana" color="#0000ff">oMsg.To.Add(</font><font face="Verdana" color="#0000ff"><a href="mailto:ivan.gentile@sbsoft.it">ivan.gentile@sbsoft.it</a></font><font face="Verdana" color="#0000ff">)</font></font></p>
<p><font size="2"><font face="Verdana" color="#0000ff">oMsg.From = </font><font color="#0000ff"><font face="Verdana">New MailAddress(<a href="mailto:ivan.gentile@sbsoft.it">ivan.gentile@sbsoft.it</a></font></font><font face="Verdana" color="#0000ff">)</font></font></p>
<p><font size="2"><font face="Verdana" color="#0000ff">oMsg.Subject = </font><font face="Verdana" color="#0000ff">"Prova"</font></font></p>
<p><font face="Verdana" color="#0000ff" size="2">oMsg.Body = "FATTO!!!"</font></p>
<p><font size="2"><font color="#0000ff"><font face="Verdana">Dim oSmtp As SmtpClient = New SmtpClient("<font color="#ff0000">smtp.server.com</font>"</font></font><font face="Verdana" color="#0000ff">)</font></font></p>
<p><font face="Verdana" color="#0000ff" size="2">oSmtp.Send(oMsg)</font></p>
<p></p><font face="Verdana" color="#000080" size="2">
<p align="center"><font face="Verdana" color="#ff0000" size="2"><strong>Okkio le parole in rosso devono essere adattate in base al server smtp utilizzato.</strong></font></p>
<p>Ciao</p></font>
<p><font face="Verdana" color="#000080" size="2">Ivan</font></p><img src ="http://blog.shareoffice.it/ivangentile/aggbug/4434.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Ivan Gentile</dc:creator><title>Id associato agli ASP Control client-side in ASP.Net 2.0</title><link>http://blog.shareoffice.it/ivangentile/archive/2006/03/16/4376.aspx</link><pubDate>Thu, 16 Mar 2006 11:54:00 GMT</pubDate><guid>http://blog.shareoffice.it/ivangentile/archive/2006/03/16/4376.aspx</guid><wfw:comment>http://blog.shareoffice.it/ivangentile/comments/4376.aspx</wfw:comment><comments>http://blog.shareoffice.it/ivangentile/archive/2006/03/16/4376.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/ivangentile/comments/commentRss/4376.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/ivangentile/services/trackbacks/4376.aspx</trackback:ping><description>&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Quando lavoriamo con ASP.Net 2.0 e le &lt;strong&gt;Master Pages&lt;/strong&gt; accade un qualcosa di particolare.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;ASP.Net rinomina automaticamente tutti gli &lt;em&gt;ASP Controls&lt;/em&gt; inseriti all'interno della &lt;strong&gt;Master Page&lt;/strong&gt; per evitare problemi di replicazione dei nomi.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;Vi garantisco che è impossibile assegnare ad un ASP Control un &lt;strong&gt;ID&lt;/strong&gt;, dal momento che in automatico ASP genererà un nuovo &lt;strong&gt;ID&lt;/strong&gt;, addirittura aggiungendolo al preesistente.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ovviamente esiste un metodo per risolvere questo problema!!!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Possiamo utilizzare il metodo &lt;em&gt;&lt;strong&gt;MioControllo.ClientID&lt;/strong&gt;&lt;/em&gt; che restituisce l'&lt;strong&gt;ID&lt;/strong&gt; che ASP ha assegnato al nostro controllo client side.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Facciamo un esempio!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Supponiamo di aver inserito in una nostra pagina web un controllo &lt;em&gt;&lt;font color="#0000ff"&gt;asp:TextBox&lt;/font&gt;&lt;/em&gt;  con &lt;font color="#0000ff"&gt;&lt;em&gt;ID='Testo'&lt;/em&gt;&lt;/font&gt;. Avremo cioè:&lt;/font&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;font color="#000080"&gt;&lt;font color="#0000ff"&gt;&lt;em&gt;&lt;font face="Verdana" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;asp:TextBox ID='Testo' runat="server" /&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;e di voler generare una funzioncina in javascript che ci permetta di modificare il testo contenuto nella casella. Cioè:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;em&gt;&lt;font face="Verdana" size="2"&gt;&amp;lt;&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;script language=javascript type="text/javascript"&amp;gt;&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;                // Associamo a DocOut l'ID associato al nostro &lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;                // controllo dal client&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;em&gt;&lt;font face="Verdana" size="2"&gt;                var&lt;/font&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt; DocOut="&amp;lt;%=Testo.ClientID%&amp;gt;";&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;font color="#0000ff"&gt;&lt;em&gt;&lt;font face="Verdana"&gt;                function&lt;/font&gt;&lt;font face="Verdana"&gt; SettaTesto() &lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;                {&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font color="#0000ff" size="2"&gt;&lt;em&gt;                                var doc=document.getElementById(DocOut);&lt;/em&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;                                doc.value='CIAOOOOO!!!!';&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;                }&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;&amp;lt;/script&amp;gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ovviamente dobbiamo richiamare questa funzione collegandola ad esempio alla pressione di un tasto, come:&lt;/font&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;font face="Verdana"&gt;&lt;font color="#000080" size="2"&gt;&lt;font color="#0000ff"&gt;&lt;em&gt;&amp;lt;input type="button" language="javascript" onclick="SettaImmagine()" /&amp;gt;&lt;/em&gt;&lt;/font&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Il gioco è fatto!!!&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ciao&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ivan&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/ivangentile/aggbug/4376.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p><font face="Verdana" color="#000080" size="2">Quando lavoriamo con ASP.Net 2.0 e le <strong>Master Pages</strong> accade un qualcosa di particolare.</font></p>
<p><font face="Verdana" color="#000080" size="2">ASP.Net rinomina automaticamente tutti gli <em>ASP Controls</em> inseriti all'interno della <strong>Master Page</strong> per evitare problemi di replicazione dei nomi.</font></p>
<p><font face="Verdana" color="#ff0000" size="2">Vi garantisco che è impossibile assegnare ad un ASP Control un <strong>ID</strong>, dal momento che in automatico ASP genererà un nuovo <strong>ID</strong>, addirittura aggiungendolo al preesistente.</font></p>
<p><font face="Verdana" color="#000080" size="2">Ovviamente esiste un metodo per risolvere questo problema!!!</font></p>
<p><font face="Verdana" color="#000080" size="2">Possiamo utilizzare il metodo <em><strong>MioControllo.ClientID</strong></em> che restituisce l'<strong>ID</strong> che ASP ha assegnato al nostro controllo client side.</font></p>
<p><font face="Verdana" color="#000080" size="2">Facciamo un esempio!</font></p>
<p><font face="Verdana" color="#000080" size="2">Supponiamo di aver inserito in una nostra pagina web un controllo <em><font color="#0000ff">asp:TextBox</font></em>  con <font color="#0000ff"><em>ID='Testo'</em></font>. Avremo cioè:</font></p>
<p align="center"><font color="#000080"><font color="#0000ff"><em><font face="Verdana" size="2">&lt;</font><font face="Verdana"><font size="2">asp:TextBox ID='Testo' runat="server" /&gt;</font></font></em></font></font></p>
<p><font face="Verdana" color="#000080" size="2">e di voler generare una funzioncina in javascript che ci permetta di modificare il testo contenuto nella casella. Cioè:</font></p>
<p><font color="#0000ff"><em><font face="Verdana" size="2">&lt;</font><font face="Verdana"><font size="2">script language=javascript type="text/javascript"&gt;</font></font></em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>                // Associamo a DocOut l'ID associato al nostro </em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>                // controllo dal client</em></font></p>
<p><font color="#0000ff"><em><font face="Verdana" size="2">                var</font><font face="Verdana"><font size="2"> DocOut="&lt;%=Testo.ClientID%&gt;";</font></font></em></font></p>
<p><font size="2"><font color="#0000ff"><em><font face="Verdana">                function</font><font face="Verdana"> SettaTesto() </font></em></font></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>                {</em></font></p>
<p><font face="Verdana"><font color="#0000ff" size="2"><em>                                var doc=document.getElementById(DocOut);</em></font></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>                                doc.value='CIAOOOOO!!!!';</em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>                }</em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>&lt;/script&gt;</em></font></p>
<p><font face="Verdana" color="#000080" size="2">Ovviamente dobbiamo richiamare questa funzione collegandola ad esempio alla pressione di un tasto, come:</font></p>
<p align="center"><font face="Verdana"><font color="#000080" size="2"><font color="#0000ff"><em>&lt;input type="button" language="javascript" onclick="SettaImmagine()" /&gt;</em></font> </font></font></p>
<p><font face="Verdana" color="#000080" size="2">Il gioco è fatto!!!</font></p>
<p><font face="Verdana" color="#000080" size="2">Ciao</font></p>
<p><font face="Verdana" color="#000080" size="2">Ivan</font></p><img src ="http://blog.shareoffice.it/ivangentile/aggbug/4376.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Ivan Gentile</dc:creator><title>Preview immagine prima di farne l'upload in Javascript con ASP.Net</title><link>http://blog.shareoffice.it/ivangentile/archive/2006/03/15/4367.aspx</link><pubDate>Wed, 15 Mar 2006 17:32:00 GMT</pubDate><guid>http://blog.shareoffice.it/ivangentile/archive/2006/03/15/4367.aspx</guid><wfw:comment>http://blog.shareoffice.it/ivangentile/comments/4367.aspx</wfw:comment><comments>http://blog.shareoffice.it/ivangentile/archive/2006/03/15/4367.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/ivangentile/comments/commentRss/4367.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/ivangentile/services/trackbacks/4367.aspx</trackback:ping><description>&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Di seguito vi riporto uno &lt;strong&gt;script (client-side)&lt;/strong&gt; per effettuare la &lt;strong&gt;preview &lt;/strong&gt;di un immagine prima di farne l'upload sul server.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Garantisco che non è stato facile, quindi eccola:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;&amp;lt;script language=javascript type="text/javascript"&amp;gt;&lt;br /&gt;var maxLarghezza=100;&lt;br /&gt;var maxAltezza=100;&lt;br /&gt;var TipiFile=["bmp","gif","png","jpg","jpeg"];&lt;br /&gt;var Output="img";&lt;br /&gt;var FotoMom;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;    function ApplicaModifica()&lt;br /&gt;    {&lt;br /&gt;        var Campo=document.getElementById(Output);&lt;br /&gt;        var x=parseInt(FotoMom.width);&lt;br /&gt;        var y=parseInt(FotoMom.height);&lt;br /&gt;        if (x&amp;gt;maxLarghezza) &lt;br /&gt;        {&lt;br /&gt;            y*=maxLarghezza/x;&lt;br /&gt;            x=maxLarghezza;&lt;br /&gt;        }&lt;br /&gt;        if (y&amp;gt;maxAltezza) &lt;br /&gt;        {&lt;br /&gt;            x*=maxAltezza/y;&lt;br /&gt;            y=maxAltezza;&lt;br /&gt;        }&lt;br /&gt;        Campo.style.display=(x&amp;lt;1 || y&amp;lt;1)?"none":"";&lt;br /&gt;        Campo.src=FotoMom.src;&lt;br /&gt;        Campo.width=x;&lt;br /&gt;        Campo.height=y;&lt;br /&gt;    }&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;    function SettaImmagine() &lt;br /&gt;    {&lt;br /&gt;        var source=document.getElementById('file').value;&lt;br /&gt;        var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();&lt;br /&gt;        for (var i=0; i&amp;lt;TipiFile.length; i++) if (TipiFile[i]==ext) break;&lt;br /&gt;        if (i&amp;lt;TipiFile.length) &lt;br /&gt;        {&lt;br /&gt;            xxx='file://localhost/' + source;&lt;br /&gt;            xxx=xxx.toLowerCase();&lt;br /&gt;            FotoMom=new Image()&lt;br /&gt;            FotoMom.src=xxx;&lt;br /&gt;            setTimeout("ApplicaModifica()",200);&lt;br /&gt;        }&lt;br /&gt;        else &lt;br /&gt;        {&lt;br /&gt;            alert('FORMATO NON VALIDO!!\n');&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&amp;lt;/script&amp;gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;......&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;......&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;&amp;lt;BODY&amp;gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;input type="file" id="file" onchange="SettaImmagine()"&amp;gt;&lt;br /&gt;&amp;lt;br&amp;gt;&lt;br /&gt;&amp;lt;img id="img" src=""&amp;gt;&lt;br /&gt;&amp;lt;br&amp;gt; &lt;br /&gt;&amp;lt;/BODY&amp;gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ciao&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ivan&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/ivangentile/aggbug/4367.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p><font face="Verdana" color="#000080" size="2">Di seguito vi riporto uno <strong>script (client-side)</strong> per effettuare la <strong>preview </strong>di un immagine prima di farne l'upload sul server.</font></p>
<p><font face="Verdana" color="#000080" size="2">Garantisco che non è stato facile, quindi eccola:</font></p>
<p><font face="Verdana" color="#000080" size="2"></font> </p>
<p><font face="Verdana" color="#0000ff" size="2"><em>&lt;script language=javascript type="text/javascript"&gt;<br />var maxLarghezza=100;<br />var maxAltezza=100;<br />var TipiFile=["bmp","gif","png","jpg","jpeg"];<br />var Output="img";<br />var FotoMom;</em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>    function ApplicaModifica()<br />    {<br />        var Campo=document.getElementById(Output);<br />        var x=parseInt(FotoMom.width);<br />        var y=parseInt(FotoMom.height);<br />        if (x&gt;maxLarghezza) <br />        {<br />            y*=maxLarghezza/x;<br />            x=maxLarghezza;<br />        }<br />        if (y&gt;maxAltezza) <br />        {<br />            x*=maxAltezza/y;<br />            y=maxAltezza;<br />        }<br />        Campo.style.display=(x&lt;1 || y&lt;1)?"none":"";<br />        Campo.src=FotoMom.src;<br />        Campo.width=x;<br />        Campo.height=y;<br />    }</em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>    function SettaImmagine() <br />    {<br />        var source=document.getElementById('file').value;<br />        var ext=source.substring(source.lastIndexOf(".")+1,source.length).toLowerCase();<br />        for (var i=0; i&lt;TipiFile.length; i++) if (TipiFile[i]==ext) break;<br />        if (i&lt;TipiFile.length) <br />        {<br />            xxx='file://localhost/' + source;<br />            xxx=xxx.toLowerCase();<br />            FotoMom=new Image()<br />            FotoMom.src=xxx;<br />            setTimeout("ApplicaModifica()",200);<br />        }<br />        else <br />        {<br />            alert('FORMATO NON VALIDO!!\n');<br />        }<br />    }<br />&lt;/script&gt;</em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>......</em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>......</em></font></p>
<p><br /><font face="Verdana" color="#0000ff" size="2"><em>&lt;BODY&gt;<br />&lt;br&gt;<br />&lt;input type="file" id="file" onchange="SettaImmagine()"&gt;<br />&lt;br&gt;<br />&lt;img id="img" src=""&gt;<br />&lt;br&gt; <br />&lt;/BODY&gt;</em></font></p>
<p><font face="Verdana" color="#000080" size="2"></font> </p>
<p><font face="Verdana" color="#000080" size="2">Ciao</font></p>
<p><font face="Verdana" color="#000080" size="2">Ivan</font></p><img src ="http://blog.shareoffice.it/ivangentile/aggbug/4367.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Ivan Gentile</dc:creator><title>Resettare il campo contatore in SQL SERVER (VB.Net, ASP.Net e C#)</title><link>http://blog.shareoffice.it/ivangentile/archive/2006/02/18/3977.aspx</link><pubDate>Sat, 18 Feb 2006 08:51:00 GMT</pubDate><guid>http://blog.shareoffice.it/ivangentile/archive/2006/02/18/3977.aspx</guid><wfw:comment>http://blog.shareoffice.it/ivangentile/comments/3977.aspx</wfw:comment><comments>http://blog.shareoffice.it/ivangentile/archive/2006/02/18/3977.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/ivangentile/comments/commentRss/3977.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/ivangentile/services/trackbacks/3977.aspx</trackback:ping><description>&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Qualche tempo fa, ho letto in un forum che qualcuno cecava una soluzione per riazzerare il campo contatore, dopo aver eliminato il contenuto di una tabella in SQL Server.&lt;br /&gt;E' veramente molto semplice! &lt;br /&gt;... è anche possibile fare ripartire il contatore da un certo numero o dal numero max che ha raggiunto.&lt;br /&gt;Si pensi al caso in cui si voglia ripristinare una tabella dopo aver eliminato un certo numero di record. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Supponiamo che Amico sia il nome della nostra tabella e IdAmico quello del campo contatore.&lt;br /&gt;Analizziamo tutte le situazioni:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;1 - Fare ripartire da 1 il contatore:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;                                  &lt;em&gt;&lt;font color="#0000ff"&gt;&lt;strong&gt;DBCC CHECKIDENT ('Amico', RESEED, 1);&lt;/strong&gt;&lt;/font&gt;&lt;/em&gt; &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;2 - Fare ripartire il contatore da un certo valore (Esempio 20):&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;                                  &lt;strong&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;DBCC CHECKIDENT ('Amico', RESEED, 20);&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;3 - Fare ripartire il contatore dal massimo valore raggiunto (ovviamente se la tabella non è vuota!!): &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;                &lt;strong&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;DECLARE @MaxVal int SET @MaxVal = (SELECT MAX(IdAmico) FROM Amico)&lt;/font&gt;&lt;/em&gt;&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;                &lt;em&gt;&lt;strong&gt;&lt;font color="#0000ff"&gt;DBCC CHECKIDENT ('Amico', RESEED, @MaxVal) &lt;/font&gt;&lt;/strong&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ovviamente per esguire questo monando bisogna avere tutte le autorizzazioni sul database, altrimenti il darà nessun risultato.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ciao&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ivan&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/ivangentile/aggbug/3977.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p><font face="Verdana" color="#000080" size="2">Qualche tempo fa, ho letto in un forum che qualcuno cecava una soluzione per riazzerare il campo contatore, dopo aver eliminato il contenuto di una tabella in SQL Server.<br />E' veramente molto semplice! <br />... è anche possibile fare ripartire il contatore da un certo numero o dal numero max che ha raggiunto.<br />Si pensi al caso in cui si voglia ripristinare una tabella dopo aver eliminato un certo numero di record. </font></p>
<p><font face="Verdana" color="#000080" size="2">Supponiamo che Amico sia il nome della nostra tabella e IdAmico quello del campo contatore.<br />Analizziamo tutte le situazioni:</font></p>
<p><font face="Verdana" color="#000080" size="2">1 - Fare ripartire da 1 il contatore:</font></p>
<p><font face="Verdana" color="#000080" size="2">                                  <em><font color="#0000ff"><strong>DBCC CHECKIDENT ('Amico', RESEED, 1);</strong></font></em> </font></p>
<p><font face="Verdana" color="#000080" size="2">2 - Fare ripartire il contatore da un certo valore (Esempio 20):</font></p>
<p><font face="Verdana" color="#000080" size="2">                                  <strong><em><font color="#0000ff">DBCC CHECKIDENT ('Amico', RESEED, 20);</font></em></strong></font></p>
<p><font face="Verdana" color="#000080" size="2">3 - Fare ripartire il contatore dal massimo valore raggiunto (ovviamente se la tabella non è vuota!!): </font></p>
<p><font face="Verdana" color="#000080" size="2">                <strong><em><font color="#0000ff">DECLARE @MaxVal int SET @MaxVal = (SELECT MAX(IdAmico) FROM Amico)</font></em></strong></font></p>
<p><font face="Verdana" color="#000080" size="2">                <em><strong><font color="#0000ff">DBCC CHECKIDENT ('Amico', RESEED, @MaxVal) </font></strong></em></font></p>
<p><font face="Verdana" color="#000080" size="2">Ovviamente per esguire questo monando bisogna avere tutte le autorizzazioni sul database, altrimenti il darà nessun risultato.</font></p>
<p><font face="Verdana" color="#000080" size="2">Ciao</font></p>
<p><font face="Verdana" color="#000080" size="2">Ivan</font></p><img src ="http://blog.shareoffice.it/ivangentile/aggbug/3977.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Ivan Gentile</dc:creator><title>Aggiungere una colonna di immagini ad una DataGridView in VB.Net</title><link>http://blog.shareoffice.it/ivangentile/archive/2006/02/04/3819.aspx</link><pubDate>Sat, 04 Feb 2006 13:12:00 GMT</pubDate><guid>http://blog.shareoffice.it/ivangentile/archive/2006/02/04/3819.aspx</guid><wfw:comment>http://blog.shareoffice.it/ivangentile/comments/3819.aspx</wfw:comment><comments>http://blog.shareoffice.it/ivangentile/archive/2006/02/04/3819.aspx#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.shareoffice.it/ivangentile/comments/commentRss/3819.aspx</wfw:commentRss><trackback:ping>http://blog.shareoffice.it/ivangentile/services/trackbacks/3819.aspx</trackback:ping><description>&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Sto sviluppando un applicazione nella quale utilizzo una &lt;strong&gt;&lt;em&gt;DataGridView&lt;/em&gt;&lt;/strong&gt; per visualizzare il risultato di una classifica di aziende.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Come in tutte le classifiche che si rispettino ho pensato fosse carino (ovviamente opinabile!!) vedere riportata un immaginetta che indicasse l'azienda prima in classifica con un gagliardetto &lt;font color="#008000"&gt;verde&lt;/font&gt; e le altre, con uno &lt;font color="#ff0000"&gt;rosso&lt;/font&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Si tratta in pratica di aggiungere una colonna di tipo &lt;strong&gt;&lt;em&gt;DataGridViewImageColumn&lt;/em&gt;&lt;/strong&gt; contenente in tutte le righe l'immagine con il gagliardetto &lt;font color="#ff0000"&gt;rosso&lt;/font&gt; e modificare poi solo quella che si trova nella prima con quello &lt;font color="#008000"&gt;verde&lt;/font&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Il codice da utilizzare è il seguente:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;            'INSERISCE COLONNA CON IMMAGINE&lt;br /&gt;            Dim Colonna As DataGridViewImageColumn&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;            Colonna = New DataGridViewImageColumn&lt;br /&gt;            Colonna.ImageLayout = DataGridViewImageCellLayout.Normal&lt;br /&gt;            Colonna.Image = New System.Drawing.Bitmap(Rosso)&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;            DataGridView1.Columns.Insert(5, Colonna)&lt;br /&gt;            DataGridView1.Columns(5).HeaderText = "Stato"&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;&lt;font face="Verdana"&gt;            DataGridView1.Rows(Indice).Cells(5).Value = &lt;/font&gt;&lt;font face="Verdana"&gt;New System.Drawing.Bitmap(Verde)&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p align="center"&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;&lt;strong&gt;OKKIO!!! Rosso e Verde sono due immagini incorporate tra le risorse del progetto.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ciao&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ivan&lt;/font&gt;&lt;/p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;&lt;/font&gt;&lt;img src ="http://blog.shareoffice.it/ivangentile/aggbug/3819.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p><font face="Verdana" color="#000080" size="2">Sto sviluppando un applicazione nella quale utilizzo una <strong><em>DataGridView</em></strong> per visualizzare il risultato di una classifica di aziende.</font></p>
<p><font face="Verdana" color="#000080" size="2">Come in tutte le classifiche che si rispettino ho pensato fosse carino (ovviamente opinabile!!) vedere riportata un immaginetta che indicasse l'azienda prima in classifica con un gagliardetto <font color="#008000">verde</font> e le altre, con uno <font color="#ff0000">rosso</font>.</font></p>
<p><font face="Verdana" color="#000080" size="2">Si tratta in pratica di aggiungere una colonna di tipo <strong><em>DataGridViewImageColumn</em></strong> contenente in tutte le righe l'immagine con il gagliardetto <font color="#ff0000">rosso</font> e modificare poi solo quella che si trova nella prima con quello <font color="#008000">verde</font>.</font></p>
<p><font face="Verdana" color="#000080" size="2">Il codice da utilizzare è il seguente:</font></p>
<p><font face="Verdana" color="#000080" size="2"></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>            'INSERISCE COLONNA CON IMMAGINE<br />            Dim Colonna As DataGridViewImageColumn</em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>            Colonna = New DataGridViewImageColumn<br />            Colonna.ImageLayout = DataGridViewImageCellLayout.Normal<br />            Colonna.Image = New System.Drawing.Bitmap(Rosso)</em></font></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>            DataGridView1.Columns.Insert(5, Colonna)<br />            DataGridView1.Columns(5).HeaderText = "Stato"</em></font></p>
<p><font size="2"><em><font color="#0000ff"><font face="Verdana">            DataGridView1.Rows(Indice).Cells(5).Value = </font><font face="Verdana">New System.Drawing.Bitmap(Verde)</font></font></em></font></p>
<p> </p>
<p align="center"><font face="Verdana" color="#ff0000" size="2"><strong>OKKIO!!! Rosso e Verde sono due immagini incorporate tra le risorse del progetto.</strong></font></p>
<p><font face="Verdana" color="#000080" size="2">Ciao</font></p>
<p><font face="Verdana" color="#000080" size="2">Ivan</font></p><font face="Verdana" color="#000080" size="2"></font><img src ="http://blog.shareoffice.it/ivangentile/aggbug/3819.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Ivan Gentile</dc:creator><title>Backup e recovery di un database SQL in VB.net</title><link>http://blog.shareoffice.it/ivangentile/archive/2006/01/31/3791.aspx</link><pubDate>Tue, 31 Jan 2006 15:46:00 GMT</pubDate><guid>http://blog.shareoffice.it/ivangentile/archive/2006/01/31/3791.aspx</guid><description>&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Non so a quanti di voi è successo (probabilmente sono solo io l'imbranato!!) ma se dovesse servire qui spiego come fare.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Tutto nasce dal famoso &lt;strong&gt;BACKUP/RECOVERY&lt;/strong&gt; dei database in SQL.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Per creare una copia di BACKUP del database, SQL server mette a disposizione un generatore automatico di script, permettendoci anche di salvarlo in un file o nella clipboard.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Lo script generato non è altro che un istruzione SQL che, come tale, può essere mandata in esecuzione da codice come qualsiasi altra istruzione (&lt;strong&gt;&lt;em&gt;INSERT&lt;/em&gt;&lt;/strong&gt;, &lt;strong&gt;&lt;em&gt;DELETE&lt;/em&gt;&lt;/strong&gt; ....).&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Supponiamo che il nostro database si chiami &lt;font color="#0000ff"&gt;&lt;em&gt;STO_PER_MORIRE&lt;/em&gt;&lt;/font&gt; e di volerne creare una copia di BACKUP nella nostra cartella dei progetti &lt;font color="#0000ff"&gt;&lt;em&gt;C:\Documents and Settings\Ivan\Documenti\Visual Studio 2005\Projects\Backup\Copia&lt;/em&gt;&lt;/font&gt; e di voler chiamare la copia del database &lt;font color="#0000ff"&gt;&lt;em&gt;Copia.bak&lt;/em&gt;&lt;/font&gt;.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Allora basta generare la nostra query con il wizard di SQL server, copiarla nel codice VB, C# o ASP.net ed eseguirla. &lt;/font&gt;&lt;/p&gt;
&lt;p align="center"&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;&lt;strong&gt;ATTENZIONE! Ricordate che la parola chiave "GO" non è del linguaggio SQL, quindi può essere cancellata.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Riporto il codice VB.net per comodita, ma è uguale in tutti gli altri.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" size="2"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;Public Sub Esegui_query(ByVal Con_connessione As Integer&lt;/font&gt;&lt;font face="Verdana"&gt;)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;      Try&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;      Dim Nome_db as String = "STO_PER_MORIRE"&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;      Dim Path_backup as String = "C:\Documents and Settings\Ivan\Documenti\Visual Studio 2005" _&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;                                          &amp;amp; "\Projects\Backup\Copia"&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;      Dim Nome_backup as String = "Copia.bak"&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;      Dim Query as String&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;&lt;font color="#0000ff" size="2"&gt;      Query = "BACKUP DATABASE [" &amp;amp; Nome_db &amp;amp; "] TO DISK = N'" &amp;amp; Path_backup &amp;amp; "\" _&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;&lt;font color="#0000ff" size="2"&gt;                 &amp;amp; Nome_backup &amp;amp; "' WITH NOFORMAT, INIT, NAME = N'" &amp;amp; Nome_db &amp;amp; "-Full " _&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;&lt;font color="#0000ff" size="2"&gt;                 &amp;amp; "Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10"&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;      Using db As New&lt;/font&gt;&lt;font face="Verdana"&gt; SqlConnection(StringaConnessione)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;            Dim comando As New&lt;/font&gt;&lt;font face="Verdana"&gt; SqlCommand(Query, db)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#0000ff" size="2"&gt;&lt;em&gt;            db.Open()&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;            &lt;/font&gt;&lt;font face="Verdana"&gt;comando.ExecuteNonQuery()&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;&lt;font color="#0000ff" size="2"&gt;      End Using&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;&lt;font color="#0000ff" size="2"&gt;      Exit Try&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;      Catch Ex As&lt;/font&gt;&lt;font face="Verdana"&gt; Exception&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;font color="#0000ff"&gt;&lt;font size="2"&gt;&lt;font face="Verdana"&gt;            &lt;/font&gt;&lt;font face="Verdana"&gt;'TODO:Errore&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;&lt;font color="#0000ff" size="2"&gt;      End Try&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;em&gt;&lt;font color="#0000ff" size="2"&gt;End Sub&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font color="#000080" size="2"&gt;&lt;/font&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ovviamente l'operazione di RECOVERY si sviluppa allo stesso modo.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font color="#000080" size="2"&gt;Ciao&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font color="#000080" size="2"&gt;Ivan&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/ivangentile/aggbug/3791.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p><font face="Verdana" color="#000080" size="2">Non so a quanti di voi è successo (probabilmente sono solo io l'imbranato!!) ma se dovesse servire qui spiego come fare.</font></p>
<p><font face="Verdana" color="#000080" size="2">Tutto nasce dal famoso <strong>BACKUP/RECOVERY</strong> dei database in SQL.</font></p>
<p><font face="Verdana" color="#000080" size="2">Per creare una copia di BACKUP del database, SQL server mette a disposizione un generatore automatico di script, permettendoci anche di salvarlo in un file o nella clipboard.</font></p>
<p><font face="Verdana" color="#000080" size="2">Lo script generato non è altro che un istruzione SQL che, come tale, può essere mandata in esecuzione da codice come qualsiasi altra istruzione (<strong><em>INSERT</em></strong>, <strong><em>DELETE</em></strong> ....).</font></p>
<p><font face="Verdana" color="#000080" size="2">Supponiamo che il nostro database si chiami <font color="#0000ff"><em>STO_PER_MORIRE</em></font> e di volerne creare una copia di BACKUP nella nostra cartella dei progetti <font color="#0000ff"><em>C:\Documents and Settings\Ivan\Documenti\Visual Studio 2005\Projects\Backup\Copia</em></font> e di voler chiamare la copia del database <font color="#0000ff"><em>Copia.bak</em></font>.</font></p>
<p><font face="Verdana" color="#000080" size="2">Allora basta generare la nostra query con il wizard di SQL server, copiarla nel codice VB, C# o ASP.net ed eseguirla. </font></p>
<p align="center"><font face="Verdana" color="#ff0000" size="2"><strong>ATTENZIONE! Ricordate che la parola chiave "GO" non è del linguaggio SQL, quindi può essere cancellata.</strong></font></p>
<p><font face="Verdana" color="#000080" size="2">Riporto il codice VB.net per comodita, ma è uguale in tutti gli altri.</font></p>
<p><font face="Verdana" size="2"></font> </p>
<p><em><font color="#0000ff"><font size="2"><font face="Verdana">Public Sub Esegui_query(ByVal Con_connessione As Integer</font><font face="Verdana">)</font></font></font></em></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>      Try</em></font></p>
<p><em><font face="Verdana" color="#0000ff" size="2">      Dim Nome_db as String = "STO_PER_MORIRE"</font></em></p>
<p><em><font face="Verdana" color="#0000ff" size="2">      Dim Path_backup as String = "C:\Documents and Settings\Ivan\Documenti\Visual Studio 2005" _</font></em></p>
<p><em><font face="Verdana" color="#0000ff" size="2">                                          &amp; "\Projects\Backup\Copia"</font></em></p>
<p><em><font face="Verdana" color="#0000ff" size="2">      Dim Nome_backup as String = "Copia.bak"</font></em></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>      Dim Query as String</em></font></p>
<p><font face="Verdana"><em><font color="#0000ff" size="2">      Query = "BACKUP DATABASE [" &amp; Nome_db &amp; "] TO DISK = N'" &amp; Path_backup &amp; "\" _</font></em></font></p>
<p><font face="Verdana"><em><font color="#0000ff" size="2">                 &amp; Nome_backup &amp; "' WITH NOFORMAT, INIT, NAME = N'" &amp; Nome_db &amp; "-Full " _</font></em></font></p>
<p><font face="Verdana"><em><font color="#0000ff" size="2">                 &amp; "Database Backup', SKIP, NOREWIND, NOUNLOAD, STATS = 10"</font></em></font></p>
<p><em><font color="#0000ff"><font size="2"><font face="Verdana">      Using db As New</font><font face="Verdana"> SqlConnection(StringaConnessione)</font></font></font></em></p>
<p><em><font color="#0000ff"><font size="2"><font face="Verdana">            Dim comando As New</font><font face="Verdana"> SqlCommand(Query, db)</font></font></font></em></p>
<p><font face="Verdana" color="#0000ff" size="2"><em>            db.Open()</em></font></p>
<p><em><font color="#0000ff"><font size="2"><font face="Verdana">            </font><font face="Verdana">comando.ExecuteNonQuery()</font></font></font></em></p>
<p><font face="Verdana"><em><font color="#0000ff" size="2">      End Using</font></em></font></p>
<p><font face="Verdana"><em><font color="#0000ff" size="2">      Exit Try</font></em></font></p>
<p><em><font color="#0000ff"><font size="2"><font face="Verdana">      Catch Ex As</font><font face="Verdana"> Exception</font></font></font></em></p>
<p><em><font color="#0000ff"><font size="2"><font face="Verdana">            </font><font face="Verdana">'TODO:Errore</font></font></font></em></p>
<p><font face="Verdana"><em><font color="#0000ff" size="2">      End Try</font></em></font></p>
<p><font face="Verdana"><em><font color="#0000ff" size="2">End Sub</font></em></font></p>
<p><font face="Verdana"><font color="#000080" size="2"></font></font> </p>
<p><font face="Verdana" color="#000080" size="2">Ovviamente l'operazione di RECOVERY si sviluppa allo stesso modo.</font></p>
<p><font face="Verdana"><font color="#000080" size="2">Ciao</font></font></p>
<p><font face="Verdana"><font color="#000080" size="2">Ivan</font></font></p><img src ="http://blog.shareoffice.it/ivangentile/aggbug/3791.aspx" width = "1" height = "1" /></body></item><item><dc:creator>Ivan Gentile</dc:creator><title>Effettuare l'upload di un file in ASP.NET 2.0 e Visual Basic 2005</title><link>http://blog.shareoffice.it/ivangentile/archive/2006/01/18/3685.aspx</link><pubDate>Wed, 18 Jan 2006 10:36:00 GMT</pubDate><guid>http://blog.shareoffice.it/ivangentile/archive/2006/01/18/3685.aspx</guid><description>&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Nel vecchio ASP bisogna scrivere non poche righe di codice per effettuare l'upload di un file.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Il Framework 2.0 fornisce un controllo server-side, il &lt;strong&gt;FILEUPLOAD&lt;/strong&gt;. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Le istruzioni per farlo sono le seguenti:&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;em&gt;&lt;font size="2"&gt;&lt;%@ page="" language="VB" %=""&gt;&lt;br /&gt;&lt;br /&gt;&lt;/%@&gt;&lt;/font&gt;&lt;font face="Verdana" size="2"&gt;    Protected Sub Button1_Click(ByVal sender As Object, _&lt;br /&gt;      ByVal e As System.EventArgs)&lt;br /&gt;        If FileUpload1.HasFile Then&lt;br /&gt;            Try&lt;br /&gt;                FileUpload1.SaveAs("C:\Uploads\" &amp;amp; FileUpload1.FileName)&lt;br /&gt;                Label1.Text = "Upload avvenuto con successo!!"&lt;br /&gt;            Catch ex As Exception&lt;br /&gt;                Label1.Text = "Si è verificato un errore!"&lt;br /&gt;            End Try&lt;br /&gt;        Else&lt;br /&gt;            Label1.Text = "Non è stato selzionato nessun file."&lt;br /&gt;        End If&lt;br /&gt;    End Sub&lt;/font&gt;&lt;/em&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#ff0000" size="2"&gt;Attenzione: Per default il controllo non permette di fare l'upload di file con dimensioni maggiori a 4 MB. &lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font color="#0000ff"&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;font color="#000080"&gt;Per risolvere il problema del limite di upload bisogna intervenire o nel file web.config.comments (che in ASP.Net 2.0 trovi nella cartella&lt;/font&gt;&lt;font color="#000080"&gt; &lt;em&gt;C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG&lt;/em&gt;) on nel web.config della tua applicazione.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana"&gt;&lt;font size="2"&gt;&lt;font color="#000080"&gt;Bisogna cercare il nodo chiamat&lt;/font&gt;&lt;font color="#000080"&gt;o &lt;strong&gt;&lt;httpruntime&gt;&lt;/httpruntime&gt;&lt;/strong&gt;e troverete una proprietà di nome &lt;strong&gt;maxRequestLength&lt;/strong&gt; impostata a 4096 (KB) ovviamente basta aumentarla al numero di kilobyt&lt;/font&gt;&lt;font color="#000080"&gt;es desiderati (10 MB = 11264 KB).&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ricordate che impostandolo nel web.config.comments sarà default per tutte le applicazioni realizzate su quella macchina, mentre nel web.config solo per la vostra applicazione.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ciao&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font face="Verdana" color="#000080" size="2"&gt;Ivan&lt;/font&gt;&lt;/p&gt;&lt;img src ="http://blog.shareoffice.it/ivangentile/aggbug/3685.aspx" width = "1" height = "1" /&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p><font face="Verdana" color="#000080" size="2">Nel vecchio ASP bisogna scrivere non poche righe di codice per effettuare l'upload di un file.</font></p>
<p><font face="Verdana" color="#000080" size="2">Il Framework 2.0 fornisce un controllo server-side, il <strong>FILEUPLOAD</strong>. </font></p>
<p><font face="Verdana" color="#000080" size="2">Le istruzioni per farlo sono le seguenti:</font></p>
<p><font color="#0000ff"><em><font size="2"><%@ page="" language="VB" %=""><br /><br /></%@></font><font face="Verdana" size="2">    Protected Sub Button1_Click(ByVal sender As Object, _<br />      ByVal e As System.EventArgs)<br />        If FileUpload1.HasFile Then<br />            Try<br />                FileUpload1.SaveAs("C:\Uploads\" &amp; FileUpload1.FileName)<br />                Label1.Text = "Upload avvenuto con successo!!"<br />            Catch ex As Exception<br />                Label1.Text = "Si è verificato un errore!"<br />            End Try<br />        Else<br />            Label1.Text = "Non è stato selzionato nessun file."<br />        End If<br />    End Sub</font></em></font></p>
<p><font face="Verdana" color="#ff0000" size="2">Attenzione: Per default il controllo non permette di fare l'upload di file con dimensioni maggiori a 4 MB. </font></p>
<p><font color="#0000ff"><font face="Verdana"><font size="2"><font color="#000080">Per risolvere il problema del limite di upload bisogna intervenire o nel file web.config.comments (che in ASP.Net 2.0 trovi nella cartella</font><font color="#000080"> <em>C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG</em>) on nel web.config della tua applicazione.</font></font></font></font></p>
<p><font face="Verdana"><font size="2"><font color="#000080">Bisogna cercare il nodo chiamat</font><font color="#000080">o <strong><httpruntime></httpruntime></strong>e troverete una proprietà di nome <strong>maxRequestLength</strong> impostata a 4096 (KB) ovviamente basta aumentarla al numero di kilobyt</font><font color="#000080">es desiderati (10 MB = 11264 KB).</font></font></font></p>
<p><font face="Verdana" color="#000080" size="2">Ricordate che impostandolo nel web.config.comments sarà default per tutte le applicazioni realizzate su quella macchina, mentre nel web.config solo per la vostra applicazione.</font></p>
<p><font face="Verdana" color="#000080" size="2">Ciao</font></p>
<p><font face="Verdana" color="#000080" size="2">Ivan</font></p><img src ="http://blog.shareoffice.it/ivangentile/aggbug/3685.aspx" width = "1" height = "1" /></body></item></channel></rss>