<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Antferr &#187; .NET</title>
	<atom:link href="http://www.antferr.com/tag/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.antferr.com</link>
	<description>Information and communication technology me.think.toString(&#34;blog&#34;);</description>
	<lastBuildDate>Mon, 17 Oct 2011 08:44:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>RESTful API JSON Poker Texas Hold&#8217;em WCF C#</title>
		<link>http://www.antferr.com/c/restful-api-texas-holdem-wcf-c/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=restful-api-texas-holdem-wcf-c</link>
		<comments>http://www.antferr.com/c/restful-api-texas-holdem-wcf-c/#comments</comments>
		<pubDate>Thu, 13 Oct 2011 13:37:10 +0000</pubDate>
		<dc:creator>antferr</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[c#]]></category>
		<category><![CDATA[JSON]]></category>
		<category><![CDATA[RESTful]]></category>

		<guid isPermaLink="false">http://www.antferr.com/?p=605</guid>
		<description><![CDATA[
			
				
			
		
Negli ultimi anni il Poker, nella sua accezione del Texas Hold&#8217;em, è diventato il gioco più amato dagli italiani, scavalcato solo dalle scommesse, legalizzate da molto più tempo. Al momento, secondo l’istituto di ricerca Eurispes, quella del gioco d’azzardo è la terza industria del  [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.antferr.com%2Fc%2Frestful-api-texas-holdem-wcf-c%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.antferr.com%2Fc%2Frestful-api-texas-holdem-wcf-c%2F&amp;source=antferr&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Negli ultimi anni il Poker, nella sua accezione del Texas Hold&#8217;em, è diventato il gioco più amato dagli italiani, scavalcato solo dalle scommesse, legalizzate da molto più tempo. Al momento, secondo l’istituto di ricerca Eurispes, quella del gioco d’azzardo è la terza industria del paese per volume d’affari. Il fenomeno è supportato da canali televisivi a tema e dal fenomeno del &#8220;divismo&#8221; dei giocatori più conosciuti che espongono sui loro capi di abbigliamento sponsor del <a href="http://www.partypoker.fr/" target="_blank">poker on line.</a><br />

<!-- Begin Google Adsense code -->
<script type="text/javascript"><!--
google_ad_client = "pub-6474961034063636";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<br />
Dal punto di vista più strettamente informatico sono interessanti alcuni progetti ospitati su code google con licenza GNU GPL che mettono a disposizione un framework e un logic engine per il il Texas Hold&#8217;em <a href="http://code.google.com/p/openholdembot" target="_blank" rel="nofollow">openholdembot</a>,<a href="http://code.google.com/p/cspoker">cspoker</a>.<br/><br />
Nell&#8217;ipotesi di sviluppare un servizio RESTFull con Microsoft WCF che faccia da dealer e che possa servire come base per sviluppare un software sul poker ipotizziamo come possibile output un flusso JSON.<br />
Creiamo una WCF Service Application chiamata PokerWcfService e cancelliamo il servizio creato di defaul per crearne uno nostro chiamato <em>PokerService.svc</em>. All&#8217;interfaccia <em>IPokerService</em> aggiungiamo un semplice metodo <em>getCards</em> che restituisce che prende in input il numero di giocatori</p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><span style="color: #99cc00"></span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p605code4'); return false;">Mostra codice</a> CSHARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p6054"><td class="code" id="p605code4"><pre class="csharp" style="font-family:monospace;"><span style="color: #008000;">&#91;</span>OperationContract<span style="color: #008000;">&#93;</span>
<span style="color: #008000;">&#91;</span>WebInvoke<span style="color: #008000;">&#40;</span>Method <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;GET&quot;</span>,
    ResponseFormat <span style="color: #008000;">=</span> WebMessageFormat<span style="color: #008000;">.</span><span style="color: #0000FF;">Json</span>,
    BodyStyle <span style="color: #008000;">=</span> WebMessageBodyStyle<span style="color: #008000;">.</span><span style="color: #0000FF;">Bare</span>,
    UriTemplate <span style="color: #008000;">=</span> <span style="color: #666666;">&quot;getCards/{playersNumber}&quot;</span><span style="color: #008000;">&#41;</span><span style="color: #008000;">&#93;</span>
ResultGetCards getCards<span style="color: #008000;">&#40;</span><span style="color: #6666cc; font-weight: bold;">string</span> playersNumber<span style="color: #008000;">&#41;</span><span style="color: #008000;">;</span></pre></td></tr></table></div>

<p>Per implementare questo metono ho creato una classe ResultGetCards la quale al suo interno contiente una lista di oggetti di tipo PlayerHand e un oggetto ShowDown.</p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><span style="color: #99cc00"></span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p605code5'); return false;">Mostra codice</a> CSHARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p6055"><td class="code" id="p605code5"><pre class="csharp" style="font-family:monospace;">    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// Player hand, two cards</span>
    <span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> PlayerHand
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _firstCard<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> firstCard
        <span style="color: #008000;">&#123;</span>
            get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _firstCard<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            set <span style="color: #008000;">&#123;</span> _firstCard <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _secondCard<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> secondCard
        <span style="color: #008000;">&#123;</span>
            get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _secondCard<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            set <span style="color: #008000;">&#123;</span> _secondCard <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// ShowDown Flop</span>
    <span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> ShowDown
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _firstCardFlop<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> firstCardFlop
        <span style="color: #008000;">&#123;</span>
            get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _firstCardFlop<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            set <span style="color: #008000;">&#123;</span> _firstCardFlop <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _secondCardFlop<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> secondCardFlop
        <span style="color: #008000;">&#123;</span>
            get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _secondCardFlop<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            set <span style="color: #008000;">&#123;</span> _secondCardFlop <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _thirdCardFlop<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> thirdCardFlop
        <span style="color: #008000;">&#123;</span>
            get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _thirdCardFlop<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            set <span style="color: #008000;">&#123;</span> _thirdCardFlop <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _turn<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> turn
        <span style="color: #008000;">&#123;</span>
            get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _turn<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            set <span style="color: #008000;">&#123;</span> _turn <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> <span style="color: #6666cc; font-weight: bold;">string</span> _river<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">string</span> river
        <span style="color: #008000;">&#123;</span>
            get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _river<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            set <span style="color: #008000;">&#123;</span> _river <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>
<!-- Begin Google Adsense code -->
<script type="text/javascript"><!--
google_ad_client = "pub-6474961034063636";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<br />
La classe ResultGetCards risulterebbe quindi strutturata in questo modo:</p>

<div class="wp_codebox_msgheader wp_codebox_hide"><span class="right"><sup><span style="color: #99cc00"></span></a></sup></span><span class="left"><a href="javascript:;" onclick="javascript:showCodeTxt('p605code6'); return false;">Mostra codice</a> CSHARP</span><div class="codebox_clear"></div></div><div class="wp_codebox"><table><tr id="p6056"><td class="code" id="p605code6"><pre class="csharp" style="font-family:monospace;">    <span style="color: #008080; font-style: italic;">/// &lt;summary&gt;</span>
    <span style="color: #008080; font-style: italic;">/// getCards Output </span>
    <span style="color: #008080; font-style: italic;">/// &lt;/summary&gt;</span>
    <span style="color: #0600FF; font-weight: bold;">public</span> <span style="color: #6666cc; font-weight: bold;">class</span> ResultGetCards
    <span style="color: #008000;">&#123;</span>
        <span style="color: #0600FF; font-weight: bold;">private</span> ShowDown _showDown<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> ShowDown showDown
        <span style="color: #008000;">&#123;</span>
            get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _showDown<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            set <span style="color: #008000;">&#123;</span> _showDown <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">private</span> List<span style="color: #008000;">&lt;</span>PlayerHand<span style="color: #008000;">&gt;</span> _playerHands<span style="color: #008000;">;</span>
&nbsp;
        <span style="color: #0600FF; font-weight: bold;">public</span> List<span style="color: #008000;">&lt;</span>PlayerHand<span style="color: #008000;">&gt;</span> playerHands
        <span style="color: #008000;">&#123;</span>
            get <span style="color: #008000;">&#123;</span> <span style="color: #0600FF; font-weight: bold;">return</span> _playerHands<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
            set <span style="color: #008000;">&#123;</span> _playerHands <span style="color: #008000;">=</span> value<span style="color: #008000;">;</span> <span style="color: #008000;">&#125;</span>
        <span style="color: #008000;">&#125;</span>
    <span style="color: #008000;">&#125;</span></pre></td></tr></table></div>

<p>Questa è la struttura dei files<br />
<a href="http://www.antferr.com/wp-content/uploads/2011/10/pokerWcfService.jpg"><img src="http://www.antferr.com/wp-content/uploads/2011/10/pokerWcfService.jpg" alt="" title="pokerWcfService" width="338" height="268" class="alignnone size-full wp-image-680" /></a><br />
Una volta creato il servizio, definito il model e strutturata la soluzione non resta che implementare il metodo getCards.<br />
<a href="http://www.antferr.com/wp-content/uploads/2011/10/pokerWcfService2.jpg"><img src="http://www.antferr.com/wp-content/uploads/2011/10/pokerWcfService2-300x296.jpg" alt="" title="getCards" width="300" height="296" class="alignnone size-medium wp-image-689" /></a><br />
La tecnica utilizzata è quella di recuperare dall&#8217;array di stringhe card i valori per popolare il result composto dallo showdown e dalle playerCards senza ripetere mai gli stessi valori e in maniere casuale. Questo è possibile recuperando il numero necessario di valori, in base al numero di giocatori in input, dall&#8217;array che viene ogni volta ordinato in maniera casuale.<br />
L&#8217;output finale sarà del tipo:<br/><br />
<code>{"playerHands":[{"firstCard":"6H","secondCard":"QC"},{"firstCard":"1H","secondCard":"4S"},{"firstCard":"3H","secondCard":"8H"},{"firstCard":"6D","secondCard":"JC"},{"firstCard":"QH","secondCard":"3D"},{"firstCard":"2D","secondCard":"9C"},{"firstCard":"KD","secondCard":"10D"},{"firstCard":"6S","secondCard":"8D"}],"showDown":{"firstCardFlop":"5C","river":"9D","secondCardFlop":"JD","thirdCardFlop":"1S","turn":"1D"}}<br />
</code></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="antferr@gmail.com" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Buy Me a Beer for RESTful API JSON Poker Texas Hold'em WCF C#" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.antferr.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Mi offri un caffè?" title="Mi offri un caffè?" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=antferr@gmail.com&amp;amount=&amp;return=&amp;item_name=Buy+Me+a+Beer+for+RESTful+API+JSON+Poker+Texas+Hold'em+WCF+C#" target="paypal">Se i miei post ti sono stati di aiuto o ti sono sembrati intressanti puoi offrirmi un caffè :)</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.antferr.com/c/restful-api-texas-holdem-wcf-c/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Grafici .NET</title>
		<link>http://www.antferr.com/aspnet/grafici-net/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=grafici-net</link>
		<comments>http://www.antferr.com/aspnet/grafici-net/#comments</comments>
		<pubDate>Tue, 25 Nov 2008 09:19:58 +0000</pubDate>
		<dc:creator>antferr</dc:creator>
				<category><![CDATA[ASP.NET]]></category>
		<category><![CDATA[.NET]]></category>
		<category><![CDATA[dundas chart]]></category>
		<category><![CDATA[graph]]></category>
		<category><![CDATA[graph .net]]></category>
		<category><![CDATA[infragistics]]></category>
		<category><![CDATA[zedgraph]]></category>

		<guid isPermaLink="false">http://www.antferr.com/aspnet/grafici-net/</guid>
		<description><![CDATA[
			
				
			
		
Nell&#8217;ultimo anno di lavoro ho utilizzato in maniera molto approfondita tre componenti per generare  grafici su tecnologia ASP.NET: ZedGraph, Infragistics, DundasChart. La scelta di un componente per la creazione di grafici è spesso delicata. Una valutazione errata puo portare a  [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.antferr.com%2Faspnet%2Fgrafici-net%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.antferr.com%2Faspnet%2Fgrafici-net%2F&amp;source=antferr&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Nell&#8217;ultimo anno di lavoro ho utilizzato in maniera molto approfondita tre componenti per generare  grafici su tecnologia ASP.NET:<strong> ZedGraph</strong>, <strong>Infragistics</strong>, <strong>DundasChart</strong>. La scelta di un componente per la creazione di grafici è spesso delicata. Una valutazione errata puo portare a risultati che non soddisfano le esigenze.<br />
<a href="http://zedgraph.org" target="_blank"><img src="http://www.antferr.com/wp-content/uploads/2008/11/zedgraph.jpg" alt="ZedGraph" align="left" /></a><em>ZedGraph</em> ha come punto di forza l&#8217;essere gratis. Offre una gamma di grafici abbastanza ampia ma che non copre la totalità delle necessità di uno sviluppatore. I grafici a disposizione sono Bar Chart, Line Chart e Pie Chart. Mancano Gantt e Gauge ed  è possibile disegnare solo grafici 2D. Purtroppo ad oggi l&#8217;ultima release risale al 28 Novembre 2007, quindi da quasi un anno il progetto sembra essere fermo alla versione 5.1.4.<br />
Per chi non ha budeget da spendere e deve creare grafici semplici ed essenziali perdendo però più tempo per personalizzarli è sicuramente una buona scelta.<br />
<a href="http://www.infragistics.com/dotnet/netadvantage/aspnet.aspx#Overview" target="_blank"><img src="http://www.antferr.com/wp-content/uploads/2008/11/infra_chart.jpg" alt="Net Advantage" align="left" /></a><em>Infragistics</em> fornisce 35 controlli ASP.NET davvero utili e totalmente compatibili con ajax. Tra i tanti ci sono i grafici (UltraChart, UltraGauge) che offrono un alto livello di customizzazione. Infatti non è possibile acquistare esclusivamente solo i componenti grafici ma è necessario acquistare tutta la suite.  L&#8217;infragistics, parlando dei grafici sul suo sito, scrive testualmente:<br />

<!-- Begin Google Adsense code -->
<script type="text/javascript"><!--
google_ad_client = "pub-6474961034063636";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<br />
&#8220;<em>Over 50 2D and 3D Chart Types.<br />
Design-time Convenience – Custom wizard for designing single-layer or multi-layer charts, with optimized default presets to ensure you will make the best presentation of the chart type you have chosen to display.<br />
Composite Charting – Build complex charts with Series Collections, Chart Area Collections and Chart Layers Collections.<br />
Advanced Graphics – Use Anti-Aliasing, Alpha-Blending, Solid 3D, 2D or our custom Paint Elements to design the highest quality visual appearance.<br />
Multiple Rendering – Choose from multiple image types for rendering as well as SVG and SWF</em>.&#8221; Non mi sembra poco!<br />
NetAdvantage for ASP.NET è un&#8217;ottima scelta sia per il costo che per la quantità e qualità dei controlli offerti.<br />

<!-- Begin Google Adsense code -->
<script type="text/javascript"><!--
google_ad_client = "pub-6474961034063636";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<br />
<a href="http://www.dundas.com/" target="_blank"><img src="http://www.antferr.com/wp-content/uploads/2008/11/chartthumb.jpg" alt="Dundas Chart" align="left" /></a>Dundas Chart copre la totalità delle rappresentazioni grafiche con ottimi risultati da tutti i punti di vista. Davvero impressionante la funzionalità dello zoom (non presente negli altri), ottenuta trascinando il cursore del mouse lungo un&#8217;area del grafico. Pacchetti separati da quello &#8220;chart&#8221; sono Dundas Gauge e Dundas Map. Ottima scelta per chi ha soldi da spendere e pretende risultati ai massimi livelli.Tra i tre componenti grafici analizzati finora Dundas vince senza dubbio in termini di performance e di copiosità di grafici ma ha un costo piuttosto elevato, mentre Infragistic è un ottimo compromesso tra le performance e il prezzo in quanto ci fornisce oltre ai grafici tanti componenti aggiuntivi.</p>
<p><a href="http://fusion.google.com/ig/add?synd=open&amp;source=ggyp&amp;moduleurl=http://hosting.gmodules.com/ig/gadgets/file/109061796195425379430/RSS-antferr.xml" target="_blank"><br />
<img src="http://www.antferr.com/IGoogle/plus_google.gif" /><br />
</a></p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="antferr@gmail.com" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Buy Me a Beer for Grafici .NET" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.antferr.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Mi offri un caffè?" title="Mi offri un caffè?" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=antferr@gmail.com&amp;amount=&amp;return=&amp;item_name=Buy+Me+a+Beer+for+Grafici+.NET" target="paypal">Se i miei post ti sono stati di aiuto o ti sono sembrati intressanti puoi offrirmi un caffè :)</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.antferr.com/aspnet/grafici-net/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Popolare ComboBox con Enum</title>
		<link>http://www.antferr.com/c/popolare-combobox-con-enum/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=popolare-combobox-con-enum</link>
		<comments>http://www.antferr.com/c/popolare-combobox-con-enum/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 10:33:57 +0000</pubDate>
		<dc:creator>antferr</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[.NET]]></category>

		<guid isPermaLink="false">http://www.antferr.com/c/popolare-combobox-con-enum/</guid>
		<description><![CDATA[
			
				
			
		
In questi giorni, sul progetto che occupa la maggior parte della mia giornata, mi sono imbrattuto nella combobox. Questo strumento puo essere associato a diverse origi dati, una di queste è un enum.
Immaginate di avere una combobox chiamata MyCmb.  Ora create un oggetto come  [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.antferr.com%2Fc%2Fpopolare-combobox-con-enum%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.antferr.com%2Fc%2Fpopolare-combobox-con-enum%2F&amp;source=antferr&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>In questi giorni, sul progetto che occupa la maggior parte della mia giornata, mi sono imbrattuto nella <strong>combobox</strong>. Questo strumento puo essere associato a diverse origi dati, una di queste è un <strong>enum</strong>.<br />
Immaginate di avere una combobox chiamata MyCmb.  Ora create un oggetto come questo<br />
<em> public enum Animali { Leone, Zebra, Gazzella };</em><br />
Di default Leone avrà come value 0, Zebra 1 e Gazzella 2. Per cambiare il valore di partenza con cui contare basta fare così:<br />
<em> public enum Animali { Leone = 10, Zebra, Gazzella };</em><br />

<!-- Begin Google Adsense code -->
<script type="text/javascript"><!--
google_ad_client = "pub-6474961034063636";
google_ad_width = 468;
google_ad_height = 60;
google_ad_format = "468x60_as";
google_ad_type = "text_image";
google_ad_channel = "";
//-->
</script>
<script type="text/javascript"
  src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script>
<br />
Lo scopo è quello di popolare la nostra comboBox:<br />
<em> MyCmb.DataSource = System.Enum.GetValues(typeof(Animali));</em></p>
<p>Per accedere al valore selezionato invece si procede in questo modo:<br />
<em> int valore = ((int)Enum.Parse(typeof(Animali), MyCmb.SelectedValue.ToString(), true));</em><br />
<a href="http://fusion.google.com/ig/add?synd=open&amp;source=ggyp&amp;moduleurl=http://hosting.gmodules.com/ig/gadgets/file/109061796195425379430/RSS-antferr.xml" target="_blank"><br />
<img src="http://www.antferr.com/IGoogle/plus_google.gif" /><br />
</a></p>
<p>[avhamazon wishlist="3NHMODHRFICUY" asin="0470187573" linktype="pic" locale="US"]</p>
<p class="buymebeer"><form action="https://www.paypal.com/cgi-bin/webscr" target="paypal" method="post"><input type="hidden" name="cmd" value="_xclick" /><input type="hidden" name="business" value="antferr@gmail.com" /><input type="hidden" name="return" value="" /><input type="hidden" name="item_name" value="Buy Me a Beer for Popolare ComboBox con Enum" /><input type="hidden" name="amount" value="" /><input type="image" src="http://www.antferr.com/wp-content/plugins/buy-me-beer/icon_cafe.gif" align="left" alt="Mi offri un caffè?" title="Mi offri un caffè?" hspace="3" /></form><a href="https://www.paypal.com/cgi-bin/webscr?cmd=_xclick&amp;business=antferr@gmail.com&amp;amount=&amp;return=&amp;item_name=Buy+Me+a+Beer+for+Popolare+ComboBox+con+Enum" target="paypal">Se i miei post ti sono stati di aiuto o ti sono sembrati intressanti puoi offrirmi un caffè :)</a></p>]]></content:encoded>
			<wfw:commentRss>http://www.antferr.com/c/popolare-combobox-con-enum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

