<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2italianfull.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0"><channel><title>Undolog.com</title><link>http://www.undolog.com</link><description>Research &amp; Development  Blog</description><language>en</language><lastBuildDate>Fri, 06 Nov 2009 15:15:07 PST</lastBuildDate><generator>http://wordpress.org/?v=2.8.5</generator><sy:updatePeriod xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">hourly</sy:updatePeriod><sy:updateFrequency xmlns:sy="http://purl.org/rss/1.0/modules/syndication/">1</sy:updateFrequency><creativeCommons:license>http://creativecommons.org/licenses/by-nc-nd/2.0/</creativeCommons:license><image><link>http://creativecommons.org/licenses/by-nc-nd/2.0/</link><url>http://creativecommons.org/images/public/somerights20.gif</url><title>Some Rights Reserved</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/undolog" type="application/rss+xml" /><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fundolog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/undolog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fundolog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fundolog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fundolog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><feedburner:feedFlare href="http://add.my.yahoo.com/content?lg=it&amp;url=http%3A%2F%2Ffeeds.feedburner.com%2Fundolog" src="http://eur.i1.yimg.com/eur.yimg.com/i/it/my/mioya1.gif">Subscribe with Mio Yahoo!</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item><title>Very short snippet: formattare un data di un controllo UIDatePicker</title><link>http://feedproxy.google.com/~r/undolog/~3/TZGUTlJsC9M/</link><category>Mobile</category><category>Objective-C</category><category>Sviluppo</category><category>iPhone</category><category>Device</category><category>Format</category><category>NSDateFormatter</category><category>SDK 2.2.1</category><category>Snipp</category><category>UIDatePicker</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Fri, 06 Nov 2009 02:28:38 PST</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2633</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/HNIcFq9jC-SshPWQg050AQSdC84/0/da"><img src="http://feedads.g.doubleclick.net/~a/HNIcFq9jC-SshPWQg050AQSdC84/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/HNIcFq9jC-SshPWQg050AQSdC84/1/da"><img src="http://feedads.g.doubleclick.net/~a/HNIcFq9jC-SshPWQg050AQSdC84/1/di" border="0" ismap="true"></img></a></p><p>Il controllo <code>UIDatePicker</code> è forse il più bel controllo grafico presente su Apple iPhone. Oltre alla bellezza risulta anche semplice da utilizzare, versatile ed estremamente utilizzato in moltissime situazioni. </p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/11/Immagine-17.png" alt="UIDatePicker" title="UIDatePicker" width="336" height="229" /></p>
<p>Diventa quindi importate saper "leggere" la data impostata nel controllo:</p>
<div class="igBar"><span id="lobjc-3"><a href="#" onclick="javascript:showCodeTxt('objc-3'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Objective-C:</span>
<div id="objc-3">
<div class="objc" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #11740a; font-style: italic;">// questo metodo funziona sia sul Simulatore sia sul Device (SDK 2.2.1)</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDate_Class/"><span style="color: #400080;">NSDate</span></a> <span style="color: #002200;">*</span>date <span style="color: #002200;">=</span> dateInsert.date;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/"><span style="color: #400080;">NSDateFormatter</span></a> <span style="color: #002200;">*</span>dateFormat <span style="color: #002200;">=</span> <span style="color: #002200;">&#91;</span><span style="color: #002200;">&#91;</span><a href="http://developer.apple.com/documentation/Cocoa/Reference/Foundation/Classes/NSDateFormatter_Class/"><span style="color: #400080;">NSDateFormatter</span></a> alloc<span style="color: #002200;">&#93;</span> init<span style="color: #002200;">&#93;</span>;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #002200;">&#91;</span>dateFormat setDateFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;yyyy-MM-dd HH:mm&quot;</span><span style="color: #002200;">&#93;</span>;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Data formattata: %@&quot;</span>, <span style="color: #002200;">&#91;</span>dateFormat stringFromDate<span style="color: #002200;">:</span>date<span style="color: #002200;">&#93;</span> <span style="color: #002200;">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<div class="igBar"><span id="lobjc-4"><a href="#" onclick="javascript:showCodeTxt('objc-4'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Objective-C:</span>
<div id="objc-4">
<div class="objc" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #11740a; font-style: italic;">// anche questo funziona su entrambi, Simulatore e Device, ma quando lo si</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #11740a; font-style: italic;">// compila per il Device emette un Warning</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #11740a; font-style: italic;">// warning: 'NSDate' may not respond to '-descriptionWithCalendarFormat:timeZone:locale:'</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">NSLog<span style="color: #002200;">&#40;</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Data formattata: %@&quot;</span>, <span style="color: #002200;">&#91;</span>dateInsert.date descriptionWithCalendarFormat<span style="color: #002200;">:</span><span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;%Y%m%d %H:%M&quot;</span> timeZone<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span> locale<span style="color: #002200;">:</span><span style="color: #a61390;">nil</span><span style="color: #002200;">&#93;</span> <span style="color: #002200;">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
</div>
<p></p>

	Tags: <a href="http://www.undolog.com/tag/device/" title="Device" rel="tag">Device</a>, <a href="http://www.undolog.com/tag/format/" title="Format" rel="tag">Format</a>, <a href="http://www.undolog.com/tag/iphone/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/mobile/" title="Mobile" rel="tag">Mobile</a>, <a href="http://www.undolog.com/tag/nsdateformatter/" title="NSDateFormatter" rel="tag">NSDateFormatter</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/objective-c-sviluppo/" title="Objective-C" rel="tag">Objective-C</a>, <a href="http://www.undolog.com/tag/sdk-2-2-1/" title="SDK 2.2.1" rel="tag">SDK 2.2.1</a>, <a href="http://www.undolog.com/tag/snipp/" title="Snipp" rel="tag">Snipp</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/tag/uidatepicker/" title="UIDatePicker" rel="tag">UIDatePicker</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/02/xcode-3-1-3-ripristinare-le-sdk-2-2-1/" title="XCode 3.1.3: ripristinare le SDK 2.2.1 (2 luglio, 2009)">XCode 3.1.3: ripristinare le SDK 2.2.1</a> (0)</li>
	<li><a href="http://www.undolog.com/2008/10/31/very-short-snippet-php-plain-date/" title="Very short snippet: PHP plain date (31 ottobre, 2008)">Very short snippet: PHP plain date</a> (1)</li>
	<li><a href="http://www.undolog.com/2009/10/09/very-short-snippet-iphone-numeri-casuali/" title="Very short snippet: iPhone, numeri casuali (9 ottobre, 2009)">Very short snippet: iPhone, numeri casuali</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/02/11/very-short-snippet-formattare-valute-in-php/" title="Very short snippet: formattare valute in PHP (11 febbraio, 2009)">Very short snippet: formattare valute in PHP</a> (1)</li>
	<li><a href="http://www.undolog.com/2009/08/27/come-impostare-xcode-per-usare-liphone-al-posto-del-simulatore/" title="Come impostare XCode per usare l&#8217;iPhone al posto del simulatore (27 agosto, 2009)">Come impostare XCode per usare l&#8217;iPhone al posto del simulatore</a> (0)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/TZGUTlJsC9M" height="1" width="1"/>]]></content:encoded><description>Il controllo UIDatePicker è forse il più bel controllo grafico presente su Apple iPhone. Oltre alla bellezza risulta anche semplice da utilizzare, versatile ed estremamente utilizzato in moltissime situazioni. 

Diventa quindi importate saper "leggere" la data impostata nel controllo:
PLAIN TEXT
Objective-C:




// questo metodo funziona sia sul Simulatore sia sul Device (SDK 2.2.1)


NSDate *date = dateInsert.date;


NSDateFormatter *dateFormat [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/11/06/very-short-snippet-formattare-un-data-di-un-controllo-uidatepicker/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/11/06/very-short-snippet-formattare-un-data-di-un-controllo-uidatepicker/</feedburner:origLink></item><item><title>Adobe Flash CS4: creare un Ajax Loader o Activity Indicator</title><link>http://feedproxy.google.com/~r/undolog/~3/kBzvnF-gldA/</link><category>Actionscript 3.0</category><category>Flash</category><category>Flash CS3</category><category>Flash CS4</category><category>Sviluppo</category><category>Tutorials</category><category>Activity Indicator</category><category>Adobe Flash CS4</category><category>Ajax Loader</category><category>PNG</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Wed, 04 Nov 2009 06:19:44 PST</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2595</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/j1UXxnTKUnNJXkFGqrWBFVLOaQw/0/da"><img src="http://feedads.g.doubleclick.net/~a/j1UXxnTKUnNJXkFGqrWBFVLOaQw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/j1UXxnTKUnNJXkFGqrWBFVLOaQw/1/da"><img src="http://feedads.g.doubleclick.net/~a/j1UXxnTKUnNJXkFGqrWBFVLOaQw/1/di" border="0" ismap="true"></img></a></p><p>Creare un <strong>Ajax Loader</strong> (o <strong>Activity indicator</strong> per chi è ormai abituato ad usare l'Apple iPhone) per il Web non è una cosa difficile: esistono <a href="http://www.ajaxload.info/" target="_blank">servizi che generano immagini gif animate</a> di tutti i tipi. Tuttavia il formato GIF ha il grosso difetto di non supportare le trasparenze come si deve. La trasparenza, nel formato GIF attuale, coinvolge un solo piano di bit con la conseguenza che se non abbiamo un colore di sfondo uniforme, i bordi dell'immagine risultano notevolmente sgranati e frammentati.<br />
L'animazione mostrata qui sotto è stata realizzata impostando come colore di trasparenza il bianco.</p>
<p class="center"><img title="ajax-loader" src="/wp-content/uploads/2009/11/ajax-loader.gif" alt="ajax-loader" width="16" height="16" /></p>
<p>Quindi se lo sfondo è bianco (o un colore simile) non ci sono problemi. Al contrario, appena sostituiamo lo sfondo, ecco cosa accade:</p>
<div style="margin: 0pt auto; background: #000000 none repeat scroll 0% 0%; text-align: center; width: 48px; height: 48px;"><img style="margin-top:16px" title="ajax-loader" src="/wp-content/uploads/2009/11/ajax-loader.gif" alt="ajax-loader" width="16" height="16" /></div>
<p>In attesa, quindi, della diffusione del formato <a href="http://animatedpng.com/" target="_blank">APNG</a> (Animated PNG) - che supporterà un vero e proprio canale alpha per le trasparenze, importare GIF animati in contesti come Adobe Flash risulta "graficamente" una pessima scelta. Ecco allora come realizzare un'animazione in Adobe Flash del tutto simile a quelle presenti sul Web.</p>
<h4>Costruiamo il nostro Ajax Loader in Adobe Flash: il "petalo"</h4>
<p>Prima di tutto creiamo un MovieClip vuoto (o se preferite potete lavorare direttamente sullo stage) e disegnamo una linea verticale nera, il nostro petalo, alta 60/70 pixel per comodità, impostando uno spessore (tratto) di 10:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-1.png" alt="Ajax Loader in Adobe Flash" width="63" height="113" /></p>
<p>Selezioniamo la nostra linea e trasformiamola temporaneamente in un oggetto immagine (F8). Dal pannello <strong>Allinea</strong>, centriamola nello stage. Adesso duplichiamo (CTRL+D o CMD+D) la nostra linea, centriamo la linea duplicata e ruotiamola dal pannello <strong>Trasforma</strong> di 30 gradi:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-18.png" alt="Ajax Loader in Adobe Flash" /> <img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-2.png" alt="Ajax Loader in Adobe Flash" width="103" height="102" /></p>
<p>Ripetiamo questa operazione (duplica, centra, ruota di 30 gradi) fino ad ottenere:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-3.png" alt="Ajax Loader in Adobe Flash" width="116" height="109" /></p>
<p>Selezioniamo tutta l'immagine, cioè la somma degli oggetti:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-4.png" alt="Ajax Loader in Adobe Flash" width="113" height="110" /></p>
<p>Dal menu <strong>Elabora</strong> selezionate <strong>Dividi</strong> (CTRL+B o CMD+B):</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-5.png" alt="Ajax Loader in Adobe Flash" width="113" height="108" /></p>
<p>Poi, sempre dal menu Elabora, selezionate <strong>Forma</strong> &gt; <strong>Converti linee in riempimenti</strong>. In questo modo abbiamo ottenuto una figura "unica".</p>
<p>Adesso dobbiamo "bucare" il centro della nostra immagine. Per fare questo aumentate un po' lo <strong>zoom</strong> (tipo 400). Create un <strong>nuovo livello</strong> e proteggiamo quello con il lavoro svolto fino adesso:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-7.png" alt="Ajax Loader in Adobe Flash" width="228" height="74" /></p>
<p>Su questo nuovo livello potremmo lavorare in tranquillità, senza danneggiare l'altra nostra immagine. Disegniamo, partendo dal centro (mantenete premuto il tasto <strong>ALT</strong> insieme al tasto maiuscole <strong>SHIFT</strong>) un cerchio rosso senza bordo:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-8.png" alt="Ajax Loader in Adobe Flash" width="355" height="361" /></p>
<p>Nella figura qui sopra ho impostato la trasparenza del cerchio per evidenziare la sua posizione rispetto alla nostra figura (che si trova sul livello sottostante). Notate che ho appositamente "tagliato" gli spigoli dove si congiungono i "petali" della nostra figura. Il cerchio, quindi, dev'essere della giusta grandezza, cosa che ci tornerà comoda più avanti. Fatto questo selezionate il cerchio, copiatelo (CTRL+C o CMD+C) ed eliminate pure l'ultimo livello creato, sbloccate il livello con la nostra figura, e incollate!</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-9.png" alt="Ajax Loader in Adobe Flash" width="206" height="230" /></p>
<p>Cliccate adesso sul bianco dello stage in modo da deselezionare il cerchio rosso. Ora abbiamo "fuso" i nostri due oggetti. Selezionate nuovamente il cerchio rosso ed eliminatelo!</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-11.png" alt="Ajax Loader in Adobe Flash" width="215" height="205" /></p>
<p>Ottimo! Adesso selezioniamo tutto il nostro oggetto e cambiamogli colore con un grigio chiaro:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-12.png" alt="Ajax Loader in Adobe Flash" width="197" height="185" /></p>
<p>Selezioniamo poi il primo petalo (ore 12) e impostiamolo a nero (voi ovvimente potete scegliere la gradazione di colori che preferite):</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-13.png" alt="Ajax Loader in Adobe Flash" /></p>
<p>Impostiamo ora il secondo petalo (ore 13) ad un grigio scuro:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-14.png" alt="Ajax Loader in Adobe Flash" /></p>
<p>Proseguiamo per gli altri due petali (scegliete vuoi quanta gradazione applicare) fino ad ottenere:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-15.png" alt="Ajax Loader in Adobe Flash" /></p>
<h4>L'animazione</h4>
<p>Perfetto, ci siamo quasi, l'ultimo sforzo richiesto è creare la rotazione. Questa non deve riguardare i petali ma solo il colore. Per fare questo avremmo potuto procedere anche in altri modi (vedi ad esempio con luso delle maschere...), tuttavia questo mi sembra più semplice. Spostiamoci di qualche fotogramma avanti, tipo al 5 e inseriamo un <strong>Fotogramma chiave</strong>.</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-16.png" alt="Ajax Loader in Adobe Flash" /></p>
<p>Da pannello <strong>Trasforma</strong> ruotiamo la nostra immagine di 30 gradi, gli stessi gradi utilizzati durante la creazione dei nostri "petali". Ripetiamo questa operazione (inserimento Fotogramma chiave e rotazione di 30 gradi) mantenedo sempre costanti in numero di fotogrammi tra una chiave e un'altra, fino ad ottenere:</p>
<p class="center"><img style="border:1px solid #aaa" title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/Immagine-19.png" alt="Ajax Loader in Adobe Flash" /></p>
<p>Finito! Il nostro <strong>Ajax Loader in Adobe Flash</strong> è terminato! Ecco qui sotto la versione GIF esportata da Flash.</p>
<p class="center"><img title="Ajax Loader in Adobe Flash" src="/wp-content/uploads/2009/11/aaaa1.gif" alt="Ajax Loader in Adobe Flash" width="80" height="80" /></p>
<p>Qui sotto il filmato Flash con uno sfondo in movimento (notate che non ci sono distorzioni o sgranature):<br />

<object width="80" height="80">
<param name="movie" value="/wp-content/uploads/2009/11/ajax-loader.swf"></param>
<param name="quality" value="high"></param>
<param name="wmode" value="window"></param>
<param name="menu" value="false"></param>
<param name="bgcolor" value="#000000"></param>
<param name="allowFullScreen" value="true"></param>
<embed type="application/x-shockwave-flash" width="80" height="80" src="/wp-content/uploads/2009/11/ajax-loader.swf" quality="high" bgcolor="#000000" wmode="window" menu="false" allowFullScreen="true" ></embed>
</object>
<br />
<a href="/wp-content/uploads/2009/11/ajax-loader.fla.zip">Il sorgente</a> <img src='http://www.undolog.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>

	Tags: <a href="http://www.undolog.com/category/sviluppo/flash-cs3/actionscript-30/" title="Actionscript 3.0" rel="tag">Actionscript 3.0</a>, <a href="http://www.undolog.com/tag/activity-indicator/" title="Activity Indicator" rel="tag">Activity Indicator</a>, <a href="http://www.undolog.com/tag/adobe-flash-cs4/" title="Adobe Flash CS4" rel="tag">Adobe Flash CS4</a>, <a href="http://www.undolog.com/tag/ajax-loader/" title="Ajax Loader" rel="tag">Ajax Loader</a>, <a href="http://www.undolog.com/category/sviluppo/flash/" title="Flash" rel="tag">Flash</a>, <a href="http://www.undolog.com/category/sviluppo/flash-cs3/" title="Flash CS3" rel="tag">Flash CS3</a>, <a href="http://www.undolog.com/category/sviluppo/flash-cs4-sviluppo/" title="Flash CS4" rel="tag">Flash CS4</a>, <a href="http://www.undolog.com/tag/png/" title="PNG" rel="tag">PNG</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/category/tutorials/" title="Tutorials" rel="tag">Tutorials</a>, <a href="http://www.undolog.com/tag/tutorials/" title="Tutorials" rel="tag">Tutorials</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/03/wordpress-usare-gli-shortcodes/" title="Wordpress: usare gli shortcodes (3 luglio, 2009)">Wordpress: usare gli shortcodes</a> (5)</li>
	<li><a href="http://www.undolog.com/2008/11/01/wordpress-rimuovere-i-menu-dellamministrazione/" title="Wordpress: rimuovere i menu dell&#8217;amministrazione (1 novembre, 2008)">Wordpress: rimuovere i menu dell&#8217;amministrazione</a> (7)</li>
	<li><a href="http://www.undolog.com/2009/02/09/wordpress-personalizzare-la-navigazione-tra-i-post/" title="Wordpress: personalizzare la navigazione tra i post (9 febbraio, 2009)">Wordpress: personalizzare la navigazione tra i post</a> (5)</li>
	<li><a href="http://www.undolog.com/2008/10/03/wordpress-come-scrivere-un-reply-to-comment-usando-jquery/" title="Wordpress: come scrivere un reply to comment usando jQuery (3 ottobre, 2008)">Wordpress: come scrivere un reply to comment usando jQuery</a> (18)</li>
	<li><a href="http://www.undolog.com/2008/10/24/wordpress-come-creare-passo-passo-un-proprio-login/" title="Wordpress: come creare passo passo un proprio login (24 ottobre, 2008)">Wordpress: come creare passo passo un proprio login</a> (21)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/kBzvnF-gldA" height="1" width="1"/>]]></content:encoded><description>Creare un Ajax Loader (o Activity indicator per chi è ormai abituato ad usare l'Apple iPhone) per il Web non è una cosa difficile: esistono servizi che generano immagini gif animate di tutti i tipi. Tuttavia il formato GIF ha il grosso difetto di non supportare le trasparenze come si deve. La trasparenza, nel formato [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/11/04/adobe-flash-cs4-creare-un-ajax-loader-o-activity-indicator/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><feedburner:origLink>http://www.undolog.com/2009/11/04/adobe-flash-cs4-creare-un-ajax-loader-o-activity-indicator/</feedburner:origLink></item><item><title>Objective-C: NSLog() su struct C</title><link>http://feedproxy.google.com/~r/undolog/~3/vpjB-EWEauc/</link><category>Mobile</category><category>Objective-C</category><category>Sviluppo</category><category>iPhone</category><category>Apple</category><category>CGPoint</category><category>CGRect</category><category>NSLog()</category><category>NSString</category><category>NSStringFromCGRect()</category><category>Object</category><category>struct</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Thu, 29 Oct 2009 02:02:46 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2582</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/xBCXuJZWxilFQVUv9Df7-iGjfUg/0/da"><img src="http://feedads.g.doubleclick.net/~a/xBCXuJZWxilFQVUv9Df7-iGjfUg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/xBCXuJZWxilFQVUv9Df7-iGjfUg/1/da"><img src="http://feedads.g.doubleclick.net/~a/xBCXuJZWxilFQVUv9Df7-iGjfUg/1/di" border="0" ismap="true"></img></a></p><p>La sintassi <code>NSLog(@"%@", ... );</code> funziona ed è utilizzata per ottenere informazioni sugli oggetti, ma non funziona su tipi dato C come struct <code>CGRect</code> o <code>CGPoint</code>, ad esempio. Per poter sfruttare <code>NSLog(@"%@", ... );</code> anche su struct di tipo C possiamo appoggiarci a funzioni di conversione come <code>NSStringFromCGRect()</code> o <code>NSStringFromCGPoint</code>:</p>
<div class="igBar"><span id="lobjc-9"><a href="#" onclick="javascript:showCodeTxt('objc-9'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Objective-C:</span>
<div id="objc-9">
<div class="objc" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">CGrect mioRect <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span>CGRect<span style="color: #002200;">&#41;</span><span style="color: #002200;">&#123;</span>10,20,30,40<span style="color: #002200;">&#125;</span>;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">CGPoint mioPoint <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span>CGPoint<span style="color: #002200;">&#41;</span><span style="color: #002200;">&#123;</span>32,64<span style="color: #002200;">&#125;</span>;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #11740a; font-style: italic;">//</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">NSLog<span style="color: #002200;">&#40;</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Info rettangolo: %@&quot;</span>, NSStringFromCGRect<span style="color: #002200;">&#40;</span>mioRect<span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#41;</span>;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">NSLog<span style="color: #002200;">&#40;</span> <span style="color: #bf1d1a;">@</span><span style="color: #bf1d1a;">&quot;Info point: %@&quot;</span>, NSStringFromCGPoint<span style="color: #002200;">&#40;</span>mioPoint<span style="color: #002200;">&#41;</span> <span style="color: #002200;">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
</div>
<p>
Nello specifico è possibile perfezionare tale procedure scrivendosi delle piccole macro utili come:</p>
<div class="igBar"><span id="lobjc-10"><a href="#" onclick="javascript:showCodeTxt('objc-10'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Objective-C:</span>
<div id="objc-10">
<div class="objc" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #6e371a;">#define NSLogRect(rect) NSLog(@&quot;%s: (%0.0f, %0.0f) %0.0f x %0.0f&quot;, #rect, rect.origin.x, rect.origin.y, rect.size.width, rect.size.height)</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Oppure:</p>
<div class="igBar"><span id="lobjc-11"><a href="#" onclick="javascript:showCodeTxt('objc-11'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Objective-C:</span>
<div id="objc-11">
<div class="objc" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #6e371a;">#define NSLogCGPoint(point) NSLog(@&quot;%s: (%0.0f, %0.0f)&quot;, #point point.x, point.y)</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">CGPoint mioPoint <span style="color: #002200;">=</span> <span style="color: #002200;">&#40;</span>CGPoint<span style="color: #002200;">&#41;</span><span style="color: #002200;">&#123;</span>32,64<span style="color: #002200;">&#125;</span>;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">NSLogCGPoint<span style="color: #002200;">&#40;</span>mioPoint<span style="color: #002200;">&#41;</span>;</div>
</li>
</ol>
</div>
</div>
</div>
<p>
Che darà come output:</p>
<div class="igBar"><span id="lobjc-12"><a href="#" onclick="javascript:showCodeTxt('objc-12'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Objective-C:</span>
<div id="objc-12">
<div class="objc" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">mioPoint<span style="color: #002200;">:</span> <span style="color: #002200;">&#40;</span><span style="color: #2400d9;color:#800000;">32</span>, <span style="color: #2400d9;color:#800000;">64</span><span style="color: #002200;">&#41;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>

	Tags: <a href="http://www.undolog.com/tag/apple/" title="Apple" rel="tag">Apple</a>, <a href="http://www.undolog.com/tag/cgpoint/" title="CGPoint" rel="tag">CGPoint</a>, <a href="http://www.undolog.com/tag/cgrect/" title="CGRect" rel="tag">CGRect</a>, <a href="http://www.undolog.com/tag/iphone/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/mobile/" title="Mobile" rel="tag">Mobile</a>, <a href="http://www.undolog.com/tag/nslog/" title="NSLog()" rel="tag">NSLog()</a>, <a href="http://www.undolog.com/tag/nsstring/" title="NSString" rel="tag">NSString</a>, <a href="http://www.undolog.com/tag/nsstringfromcgrect/" title="NSStringFromCGRect()" rel="tag">NSStringFromCGRect()</a>, <a href="http://www.undolog.com/tag/object/" title="Object" rel="tag">Object</a>, <a href="http://www.undolog.com/tag/objective-c/" title="Objective-C" rel="tag">Objective-C</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/objective-c-sviluppo/" title="Objective-C" rel="tag">Objective-C</a>, <a href="http://www.undolog.com/tag/struct/" title="struct" rel="tag">struct</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/27/objective-c-unalternativa-alluso-di-cgrectmake/" title="Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake (27 luglio, 2009)">Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake</a> (2)</li>
	<li><a href="http://www.undolog.com/2009/06/23/objective-c-conversione-dei-tipi/" title="Objective-C: conversione dei tipi (23 giugno, 2009)">Objective-C: conversione dei tipi</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/13/iphone-secondapp-indovina-il-numero-parte-2/" title="iPhone SecondApp: indovina il numero &#8211; parte 2 (13 luglio, 2009)">iPhone SecondApp: indovina il numero &#8211; parte 2</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/06/23/iphone-firstapp-indovina-il-numero-parte-1/" title="iPhone FirstApp: indovina il numero &#8211; parte 1 (23 giugno, 2009)">iPhone FirstApp: indovina il numero &#8211; parte 1</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/06/26/come-eliminare-nslog-dai-sorgenti-xcode/" title="Come eliminare NSLog() dai sorgenti XCode (26 giugno, 2009)">Come eliminare NSLog() dai sorgenti XCode</a> (0)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/vpjB-EWEauc" height="1" width="1"/>]]></content:encoded><description>La sintassi NSLog(@"%@", ... ); funziona ed è utilizzata per ottenere informazioni sugli oggetti, ma non funziona su tipi dato C come struct CGRect o CGPoint, ad esempio. Per poter sfruttare NSLog(@"%@", ... ); anche su struct di tipo C possiamo appoggiarci a funzioni di conversione come NSStringFromCGRect() o NSStringFromCGPoint:
PLAIN TEXT
Objective-C:




CGrect mioRect = &amp;#40;CGRect&amp;#41;&amp;#123;10,20,30,40&amp;#125;;


CGPoint mioPoint [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/10/29/objective-c-nslog-su-struct-c/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/10/29/objective-c-nslog-su-struct-c/</feedburner:origLink></item><item><title>Very short trick: 3 trick per gli sviluppatori Apple iPhone</title><link>http://feedproxy.google.com/~r/undolog/~3/Rij-fCX-SCM/</link><category>Mobile</category><category>Objective-C</category><category>Sviluppo</category><category>iPhone</category><category>Apple</category><category>fullscreen</category><category>tips-&amp;-tricks</category><category>trick</category><category>XCode</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Wed, 28 Oct 2009 06:06:11 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2567</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/IApM1emFZI-lddLI37yEWg0db5w/0/da"><img src="http://feedads.g.doubleclick.net/~a/IApM1emFZI-lddLI37yEWg0db5w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/IApM1emFZI-lddLI37yEWg0db5w/1/da"><img src="http://feedads.g.doubleclick.net/~a/IApM1emFZI-lddLI37yEWg0db5w/1/di" border="0" ismap="true"></img></a></p><h4>Icona applicazione</h4>
<p>L'icona 57x57 pixel che andrà a rappresentare la nostra applicazione viene "alterata" automaticamente dall'Apple iPhone: viene aggiunto un bordo arrotondato, un effetto luminoso e 3D. Questa impostazione può essere cambiata selezionando il file <code>[nome applicazione]-Info.plist</code> e aggiungendo la property <strong>"Icon already includes gloss and bevel effects"</strong>:</p>
<p class="center"><img style="border:1px solid #aaa" title="Icona applicazione" src="http://www.undolog.com/wp-content/uploads/2009/10/Immagine-1.png" alt="Icona applicazione" width="305" height="29" /></p>
<h4>Fullscreen, eliminare la status bar</h4>
<p>Sempre agendo sul file <code>[nome applicazione]-Info.plist</code> è possibile "nascondere" la barra di stato che si trova nella parte alta dello schermo, così da realizzare applicazioni in fullscreen. Anche in questo caso basta aggiungere la property <strong>"Status bar is initially hidden"</strong>:</p>
<p class="center"><img style="border:1px solid #aaa" title="Fullscreen, eliminare la status bar" src="http://www.undolog.com/wp-content/uploads/2009/10/Immagine-5.png" alt="Fullscreen, eliminare la status bar" width="306" height="31" /></p>
<h4>XCode: eliminare una riga</h4>
<p>Per eliminare una riga intera in XCode si può utilizzare la combinazione:<code> CTRL+A, CTRL+K, CTRL+K</code>.</p>

	Tags: <a href="http://www.undolog.com/tag/apple/" title="Apple" rel="tag">Apple</a>, <a href="http://www.undolog.com/tag/fullscreen/" title="fullscreen" rel="tag">fullscreen</a>, <a href="http://www.undolog.com/tag/iphone/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/mobile/" title="Mobile" rel="tag">Mobile</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/objective-c-sviluppo/" title="Objective-C" rel="tag">Objective-C</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/tag/tips-tricks/" title="tips-&amp;-tricks" rel="tag">tips-&amp;-tricks</a>, <a href="http://www.undolog.com/tag/trick/" title="trick" rel="tag">trick</a>, <a href="http://www.undolog.com/tag/xcode/" title="XCode" rel="tag">XCode</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/10/xcode-organizzare-il-codice-con-la-direttiva-pragma-mark/" title="XCode: organizzare il codice con la direttiva #pragma mark (10 luglio, 2009)">XCode: organizzare il codice con la direttiva #pragma mark</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/20/xcode-consigli-sul-debugging-preferences/" title="XCode: consigli sul Debugging Preferences (20 luglio, 2009)">XCode: consigli sul Debugging Preferences</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/23/xcode-shortcut/" title="Xcode shortcut (23 luglio, 2009)">Xcode shortcut</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/06/16/very-short-trick-fermare-nstimer/" title="Very short trick: fermare NSTimer (16 giugno, 2009)">Very short trick: fermare NSTimer</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/27/objective-c-unalternativa-alluso-di-cgrectmake/" title="Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake (27 luglio, 2009)">Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake</a> (2)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/Rij-fCX-SCM" height="1" width="1"/>]]></content:encoded><description>Icona applicazione
L'icona 57x57 pixel che andrà a rappresentare la nostra applicazione viene "alterata" automaticamente dall'Apple iPhone: viene aggiunto un bordo arrotondato, un effetto luminoso e 3D. Questa impostazione può essere cambiata selezionando il file [nome applicazione]-Info.plist e aggiungendo la property "Icon already includes gloss and bevel effects":

Fullscreen, eliminare la status bar
Sempre agendo sul file [nome [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/10/28/very-short-trick-3-trick-per-gli-sviluppatori-apple-iphone/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/10/28/very-short-trick-3-trick-per-gli-sviluppatori-apple-iphone/</feedburner:origLink></item><item><title>XCode Objective-C: abbreviazioni utili da tastiera</title><link>http://feedproxy.google.com/~r/undolog/~3/dRYcxHPMV00/</link><category>Mobile</category><category>Objective-C</category><category>Software</category><category>Sviluppo</category><category>iPhone</category><category>Completamento automatico</category><category>Macros</category><category>XCode</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Mon, 26 Oct 2009 08:09:49 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2554</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/6lQKZeqYfxPvHffSQFXN8gJ_r2U/0/da"><img src="http://feedads.g.doubleclick.net/~a/6lQKZeqYfxPvHffSQFXN8gJ_r2U/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/6lQKZeqYfxPvHffSQFXN8gJ_r2U/1/da"><img src="http://feedads.g.doubleclick.net/~a/6lQKZeqYfxPvHffSQFXN8gJ_r2U/1/di" border="0" ismap="true"></img></a></p><p>XCode è davvero un ambiente di sviluppo potente e riserva sempre qualche sorpresa. Esso permette una funzione simile agli "snippet" del noto editor <a href="http://macromates.com/" target="_blank">TextMate</a>. In pratica è possibile inserire blocchi di codice utilizzando la sequenza tasto ESC + una combinazione di una o più sequenze di caratteri. Ad esempio se volete inserire un blocco <code>if</code> prova a premere <code>ESC+if</code> e otterrete:</p>
<p class="aligncenter"><img style="border:1px solid #aaa" title="XCode" src="http://www.undolog.com/wp-content/uploads/2009/10/Immagine-3.png" alt="Immagine 3" width="286" height="101" /></p>
<p>Come mostrato in figura, appare un menu (lo stesso del completamento automatico) dove è possibile scegliere tra un semplice blocco <code>if</code> o <code>if/else</code>. Cliccando "invio" si ottiene:</p>
<p class="aligncenter"><img style="border:1px solid #aaa" title="XCode" src="http://www.undolog.com/wp-content/uploads/2009/10/Immagine-4.png" alt="Immagine 4" width="172" height="69" /></p>
<p>Ecco due link utili per avere la lista completa delle combinazioni da tastiera:</p>
<ul>
<li><a href="http://developer.apple.com/iphone/library/documentation/DeveloperTools/Conceptual/XcodeWorkspace/100-The_Text_Editor/text_editor.html#//apple_ref/doc/uid/TP40002679-SW35" target="_blank">Guida ufficiale Apple su XCode: sezione Macros</a></li>
<li><a href="http://www.mobileorchard.com/wp-content/uploads/2009/04/xcode-macros-cheatsheet.pdf" target="_blank">Un comodo e pratico PDF di una sola pagina con tutte le combinazioni</a></li>
</ul>

	Tags: <a href="http://www.undolog.com/tag/completamento-automatico/" title="Completamento automatico" rel="tag">Completamento automatico</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/tag/macros/" title="Macros" rel="tag">Macros</a>, <a href="http://www.undolog.com/category/mobile/" title="Mobile" rel="tag">Mobile</a>, <a href="http://www.undolog.com/tag/objective-c/" title="Objective-C" rel="tag">Objective-C</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/objective-c-sviluppo/" title="Objective-C" rel="tag">Objective-C</a>, <a href="http://www.undolog.com/category/software/" title="Software" rel="tag">Software</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/tag/xcode/" title="XCode" rel="tag">XCode</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/23/xcode-shortcut/" title="Xcode shortcut (23 luglio, 2009)">Xcode shortcut</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/10/xcode-organizzare-il-codice-con-la-direttiva-pragma-mark/" title="XCode: organizzare il codice con la direttiva #pragma mark (10 luglio, 2009)">XCode: organizzare il codice con la direttiva #pragma mark</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/27/objective-c-unalternativa-alluso-di-cgrectmake/" title="Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake (27 luglio, 2009)">Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake</a> (2)</li>
	<li><a href="http://www.undolog.com/2009/06/29/iphone-tutti-i-font-di-sistema/" title="iPhone: tutti i font di sistema (29 giugno, 2009)">iPhone: tutti i font di sistema</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/13/iphone-secondapp-indovina-il-numero-parte-2/" title="iPhone SecondApp: indovina il numero &#8211; parte 2 (13 luglio, 2009)">iPhone SecondApp: indovina il numero &#8211; parte 2</a> (0)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/dRYcxHPMV00" height="1" width="1"/>]]></content:encoded><description>XCode è davvero un ambiente di sviluppo potente e riserva sempre qualche sorpresa. Esso permette una funzione simile agli "snippet" del noto editor TextMate. In pratica è possibile inserire blocchi di codice utilizzando la sequenza tasto ESC + una combinazione di una o più sequenze di caratteri. Ad esempio se volete inserire un blocco if [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/10/26/xcode-objective-c-abbreviazioni-utili-da-tastiera/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/10/26/xcode-objective-c-abbreviazioni-utili-da-tastiera/</feedburner:origLink></item><item><title>Web Analytics</title><link>http://feedproxy.google.com/~r/undolog/~3/WiticBo7QsQ/</link><category>Internet</category><category>Sviluppo</category><category>Tecnologia</category><category>accessi</category><category>Davide Vasta</category><category>google</category><category>reinvigorate</category><category>SEM</category><category>seo</category><category>Web Analytics</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Fri, 23 Oct 2009 15:49:42 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2544</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/es0rRbK1GnQiX2pQpspC0Une8lE/0/da"><img src="http://feedads.g.doubleclick.net/~a/es0rRbK1GnQiX2pQpspC0Une8lE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/es0rRbK1GnQiX2pQpspC0Une8lE/1/da"><img src="http://feedads.g.doubleclick.net/~a/es0rRbK1GnQiX2pQpspC0Une8lE/1/di" border="0" ismap="true"></img></a></p><p><a title="More about Web analytics" href="http://www.anobii.com/books/Web_analytics/9788850329007/01b1d49f51a7553cd1/"><img style="padding: 5px;float:left;border:1px solid #aaa;margin-right:12px" title="More about Web analytics" src="http://image.anobii.com/anobi/image_book.php?type=4&amp;item_id=01b1d49f51a7553cd1&amp;time=1251144731" alt="More about Web analytics" /></a> L'analisi degli accessi di un sito Web è un'argomento vasto ed interessantissimo. La maggioranza delle volte l'analisi viene affidata a strumenti come <a href="http://www.google.it/analytics/index.html" target="_blank">Google Analitycs</a>, <a href="http://www.woopra.com/" target="_blank">Woopra</a>, <a href="http://www.reinvigorate.net/" target="_blank">Reinvigorate</a>, etc... tuttavia, per i più smaliziati, potrebbe venire in mente di costruire un proprio personale strumento di analisi o, semplicemente, di dare un'occhiata ai "misteriosi" file di log del nostro Web Server. Consiglio, allora, la lettura di <a title="More about Web analytics" href="http://www.anobii.com/books/Web_analytics/9788850329007/01b1d49f51a7553cd1/">Web Analytics</a> di Davide Vasta, testo utilissimo per comprendere in modo dettagliato tutti i processi che si trovano dietro il tracciamento degli accessi.</p>
<p>La guida è davvero completa in quanto analizza ogni aspetto che ruota intorno all'argomento di Web Analitycs. Utilissimi anche i consigli indirizzati ai coder, a chi sviluppa pagine Web, su come usare "correttamente" tag e attributo. Elenco qui sotto gli argomenti principali trattati nel testo evidenziando, a mio parere, quelli più interessanti ed utili anche ai "coder", cioè a coloro che non si interessano direttamente di analisi SEO:</p>
<ul>
<li><strong>Le basi delle Web Analytics: log file e metriche</strong></li>
<li>Gli strumenti di analisi</li>
<li><strong>Prime analisi: visite, frequenza di rimbalzo, pagine viste, percorsi di navigazione, link un uscita</strong></li>
<li>Analisi storiche, stagionali e geografiche</li>
<li>Analisi di keyword e pagine rilevanti</li>
<li>Analisi per referrer e dei KPI</li>
<li>Analisi delle conversioni</li>
<li>Analisi in tempo reale</li>
<li>Serach engine marketing (SEM) e Web Analytics</li>
<li>Strumenti di analisi per i log</li>
<li><strong>Aumentare la visibilità di un sito</strong></li>
<li>Aspetti legali della Web Analytics</li>
</ul>

	Tags: <a href="http://www.undolog.com/tag/accessi/" title="accessi" rel="tag">accessi</a>, <a href="http://www.undolog.com/tag/davide-vasta/" title="Davide Vasta" rel="tag">Davide Vasta</a>, <a href="http://www.undolog.com/tag/google/" title="google" rel="tag">google</a>, <a href="http://www.undolog.com/category/sviluppo/internet/" title="Internet" rel="tag">Internet</a>, <a href="http://www.undolog.com/tag/reinvigorate/" title="reinvigorate" rel="tag">reinvigorate</a>, <a href="http://www.undolog.com/tag/sem/" title="SEM" rel="tag">SEM</a>, <a href="http://www.undolog.com/tag/seo/" title="seo" rel="tag">seo</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/category/tecnologia/" title="Tecnologia" rel="tag">Tecnologia</a>, <a href="http://www.undolog.com/tag/web-analytics/" title="Web Analytics" rel="tag">Web Analytics</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2007/06/14/reinvigorate-snoop/" title="Reinvigorate Snoop (14 giugno, 2007)">Reinvigorate Snoop</a> (0)</li>
	<li><a href="http://www.undolog.com/2007/02/27/reinvigorate-measure-analyze-evolve/" title="Reinvigorate: measure. analyze. evolve. (27 febbraio, 2007)">Reinvigorate: measure. analyze. evolve.</a> (1)</li>
	<li><a href="http://www.undolog.com/2007/05/10/google-analytics-nuova-versione/" title="Google Analytics: nuova versione (10 maggio, 2007)">Google Analytics: nuova versione</a> (0)</li>
	<li><a href="http://www.undolog.com/2007/03/07/aggiornamenti-reinvigorate/" title="Aggiornamenti Reinvigorate (7 marzo, 2007)">Aggiornamenti Reinvigorate</a> (0)</li>
	<li><a href="http://www.undolog.com/2008/10/03/wordpress-come-scrivere-un-reply-to-comment-usando-jquery/" title="Wordpress: come scrivere un reply to comment usando jQuery (3 ottobre, 2008)">Wordpress: come scrivere un reply to comment usando jQuery</a> (18)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/WiticBo7QsQ" height="1" width="1"/>]]></content:encoded><description>L'analisi degli accessi di un sito Web è un'argomento vasto ed interessantissimo. La maggioranza delle volte l'analisi viene affidata a strumenti come Google Analitycs, Woopra, Reinvigorate, etc... tuttavia, per i più smaliziati, potrebbe venire in mente di costruire un proprio personale strumento di analisi o, semplicemente, di dare un'occhiata ai "misteriosi" file di log [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/10/24/web-analytics/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/10/24/web-analytics/</feedburner:origLink></item><item><title>Argomenti variabili in Javascript: due alternative</title><link>http://feedproxy.google.com/~r/undolog/~3/zCzlnCOhnyA/</link><category>Internet</category><category>Javascript</category><category>Sviluppo</category><category>Argomenti funzione</category><category>arguments</category><category>Object</category><category>Object Literal</category><category>Parametri</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Fri, 09 Oct 2009 05:00:00 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2536</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/OIjbTED-47_7OfzAnR79xJvUp5w/0/da"><img src="http://feedads.g.doubleclick.net/~a/OIjbTED-47_7OfzAnR79xJvUp5w/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/OIjbTED-47_7OfzAnR79xJvUp5w/1/da"><img src="http://feedads.g.doubleclick.net/~a/OIjbTED-47_7OfzAnR79xJvUp5w/1/di" border="0" ismap="true"></img></a></p><p>In Javascript è possibile scrivere funzioni con argomenti variabili, cioè funzioni che non accettano necessariamente un numero predefinito di <em>inputs</em>. Ad esempio è possibile scrivere funzioni come questa:</p>
<div class="igBar"><span id="ljavascript-16"><a href="#" onclick="javascript:showCodeTxt('javascript-16'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-16">
<div class="javascript" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #006600; font-style: italic;">// Questa funzione mostra il numero e il valore degli argomenti</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #006600; font-style: italic;">// passati facendo riferimento all'oggetto interno arguments e</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #006600; font-style: italic;">// non richiedendo nessuna dichiarazione </span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #003366; font-weight: bold;">function</span> parametri_variabili<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000066;">alert</span> <span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">'Numero argomenti passati = '</span> <span style="color: #339933;">+</span> arguments.<span style="color: #660066;">length</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #006600; font-style: italic;">// stampa tutti gli argomenti</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> o <span style="color: #339933;">=</span> <span style="color: #3366CC;">''</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">for</span> <span style="color: #009900;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i <span style="color: #339933;">=</span> <span style="color: #CC0000;color:#800000;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&lt;</span>arguments.<span style="color: #660066;">length</span><span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; o <span style="color: #339933;">+=</span> arguments<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span> <span style="color: #339933;">+</span> <span style="color: #3366CC;">'<span style="color: #000099; font-weight: bold;">\n</span>'</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#125;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> o <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Quindi si ha:</p>
<div class="igBar"><span id="ljavascript-17"><a href="#" onclick="javascript:showCodeTxt('javascript-17'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-17">
<div class="javascript" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">parametri_variabili<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #006600; font-style: italic;">// nessuno</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">parametri_variabili<span style="color: #009900;">&#40;</span> <span style="color: #3366CC;">&quot;ciao&quot;</span><span style="color: #339933;">,</span> 32 <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp;<span style="color: #006600; font-style: italic;">// due argomenti: stringa e numero</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Questa tecnica è davvero utile in moltissimi casi, tuttavia - a mio parere - è possibile migliorarla in quanto questo approccio comporta:</p>
<ul>
<li>Gli argomenti devono seguire sempre lo stesso ordine: arguments[0] è il primo, arguments[1] è il secondo, e via discorrendo...</li>
<li>L'accesso agli argomenti è per indice (arguments[0] o arguments[4] ad esempio), quindi poco "leggibile" nell'implementazione all'intero del codice</li>
</ul>
<p>Un'alternativa potrebbe essere quela di usare gli oggetti-inline (Object Literal). Ad esempio potremmo scrivere:</p>
<div class="igBar"><span id="ljavascript-18"><a href="#" onclick="javascript:showCodeTxt('javascript-18'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-18">
<div class="javascript" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #003366; font-weight: bold;">function</span> parametri_variabili<span style="color: #009900;">&#40;</span> args <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> args.<span style="color: #660066;">miaStringa</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000066;">alert</span><span style="color: #009900;">&#40;</span> args.<span style="color: #660066;">mioNumero</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #006600; font-style: italic;">// Utilizzando</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">parametri_variabili<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; miaString<span style="color: #339933;">:</span> <span style="color: #3366CC;">'ciao'</span><span style="color: #339933;">,</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; mioNumero<span style="color: #339933;">:</span> 32</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #006600; font-style: italic;">// Oppure</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">parametri_variabili<span style="color: #009900;">&#40;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; mioNumero<span style="color: #339933;">:</span> <span style="color: #CC0000;color:#800000;">32</span><span style="color: #339933;">,</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; miaString<span style="color: #339933;">:</span> <span style="color: #3366CC;">'ciao'</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Come si può vedere dal codice, <strong>l'ordine degli argomenti</strong>, essendo proprietà di un oggetto, <strong>non è importante</strong>. Inoltre nell'implementazione della funzione il codice risulta esssere <strong>più chiaro</strong>, trattando "proprietà" di un oggetto invece di indici di un array.<br />
Questa tecnica è decisamente ottima nel caso di funzioni con molti argomenti, ovviamente.</p>

	Tags: <a href="http://www.undolog.com/tag/argomenti-funzione/" title="Argomenti funzione" rel="tag">Argomenti funzione</a>, <a href="http://www.undolog.com/tag/arguments/" title="arguments" rel="tag">arguments</a>, <a href="http://www.undolog.com/category/sviluppo/internet/" title="Internet" rel="tag">Internet</a>, <a href="http://www.undolog.com/category/sviluppo/internet/javascript/" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.undolog.com/tag/javascript/" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.undolog.com/tag/object/" title="Object" rel="tag">Object</a>, <a href="http://www.undolog.com/tag/object-literal/" title="Object Literal" rel="tag">Object Literal</a>, <a href="http://www.undolog.com/tag/parametri/" title="Parametri" rel="tag">Parametri</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2008/06/11/argomenti-variabili-in-actionscript-30/" title="Argomenti variabili in Actionscript 3.0 (11 giugno, 2008)">Argomenti variabili in Actionscript 3.0</a> (0)</li>
	<li><a href="http://www.undolog.com/2008/05/07/argomenti-variabili-e-di-default-in-javascript-actionscript-e-php/" title="Argomenti variabili e di default in Javascript, Actionscript e PHP (7 maggio, 2008)">Argomenti variabili e di default in Javascript, Actionscript e PHP</a> (2)</li>
	<li><a href="http://www.undolog.com/2008/03/25/unobtrusive-swfobject-20/" title="Unobtrusive SWFObject 2.0 (25 marzo, 2008)">Unobtrusive SWFObject 2.0</a> (2)</li>
	<li><a href="http://www.undolog.com/2007/01/06/javascript-object-parte-i/" title="Javascript Object (parte I) (6 gennaio, 2007)">Javascript Object (parte I)</a> (0)</li>
	<li><a href="http://www.undolog.com/2008/10/03/wordpress-come-scrivere-un-reply-to-comment-usando-jquery/" title="Wordpress: come scrivere un reply to comment usando jQuery (3 ottobre, 2008)">Wordpress: come scrivere un reply to comment usando jQuery</a> (18)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/zCzlnCOhnyA" height="1" width="1"/>]]></content:encoded><description>In Javascript è possibile scrivere funzioni con argomenti variabili, cioè funzioni che non accettano necessariamente un numero predefinito di inputs. Ad esempio è possibile scrivere funzioni come questa:
PLAIN TEXT
JavaScript:




// Questa funzione mostra il numero e il valore degli argomenti


// passati facendo riferimento all'oggetto interno arguments e


// non richiedendo nessuna dichiarazione 


function parametri_variabili&amp;#40;&amp;#41; &amp;#123;


&amp;#160; &amp;#160; alert [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/10/09/argomenti-variabili-in-javascript-due-alternative/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/10/09/argomenti-variabili-in-javascript-due-alternative/</feedburner:origLink></item><item><title>Very short snippet: iPhone, numeri casuali</title><link>http://feedproxy.google.com/~r/undolog/~3/akiKoHUo2aA/</link><category>Mobile</category><category>Objective-C</category><category>Sviluppo</category><category>iPhone</category><category>Apple</category><category>arc4random()</category><category>numeri casuali</category><category>Snipp</category><category>Snippets</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Fri, 09 Oct 2009 02:19:29 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2528</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/5EYfWFAyac0Y9Am07hnzMMvy-Ks/0/da"><img src="http://feedads.g.doubleclick.net/~a/5EYfWFAyac0Y9Am07hnzMMvy-Ks/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/5EYfWFAyac0Y9Am07hnzMMvy-Ks/1/da"><img src="http://feedads.g.doubleclick.net/~a/5EYfWFAyac0Y9Am07hnzMMvy-Ks/1/di" border="0" ismap="true"></img></a></p><p>Se avete bisogno di generare numeri casuali in una applicazione Apple iPhone dovete mettere da parte Objective-C, in quanto non propone nessuna classe allo scopo. La soluzione viene dal C che propone: <code>rand(), srand(), random(), srandom() e arc4random()</code>.<br />
Tra tutte la più gettonata è sicuramente <code>arc4random()</code>, in quanto non richiede nessuna inizializzazione speciale o funzioni di <em>seeding</em>, restituendo un buon valore "randomico"; potremmo dire che è <em>auto-inizializzante</em>.</p>
<div class="igBar"><span id="lobjc-20"><a href="#" onclick="javascript:showCodeTxt('objc-20'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Objective-C:</span>
<div id="objc-20">
<div class="objc" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #11740a; font-style: italic;">// Genera un numero casuale da 0 a 99</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #a61390;">int</span> rnd <span style="color: #002200;">=</span> arc4random<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">%</span> <span style="color: #2400d9;color:#800000;">100</span>;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #11740a; font-style: italic;">// Genera un numero casuale da 20 a 50</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #a61390;">int</span> rnd <span style="color: #002200;">=</span> &nbsp;<span style="color: #002200;">&#40;</span>arc4random<span style="color: #002200;">&#40;</span><span style="color: #002200;">&#41;</span> <span style="color: #002200;">%</span> 51<span style="color: #002200;">&#41;</span> <span style="color: #002200;">+</span> <span style="color: #2400d9;color:#800000;">20</span>;</div>
</li>
</ol>
</div>
</div>
</div>
<p></p>

	Tags: <a href="http://www.undolog.com/tag/apple/" title="Apple" rel="tag">Apple</a>, <a href="http://www.undolog.com/tag/arc4random/" title="arc4random()" rel="tag">arc4random()</a>, <a href="http://www.undolog.com/tag/iphone/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/mobile/" title="Mobile" rel="tag">Mobile</a>, <a href="http://www.undolog.com/tag/numeri-casuali/" title="numeri casuali" rel="tag">numeri casuali</a>, <a href="http://www.undolog.com/tag/objective-c/" title="Objective-C" rel="tag">Objective-C</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/objective-c-sviluppo/" title="Objective-C" rel="tag">Objective-C</a>, <a href="http://www.undolog.com/tag/snipp/" title="Snipp" rel="tag">Snipp</a>, <a href="http://www.undolog.com/tag/snippets/" title="Snippets" rel="tag">Snippets</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/10/xcode-organizzare-il-codice-con-la-direttiva-pragma-mark/" title="XCode: organizzare il codice con la direttiva #pragma mark (10 luglio, 2009)">XCode: organizzare il codice con la direttiva #pragma mark</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/23/xcode-shortcut/" title="Xcode shortcut (23 luglio, 2009)">Xcode shortcut</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/06/16/very-short-trick-fermare-nstimer/" title="Very short trick: fermare NSTimer (16 giugno, 2009)">Very short trick: fermare NSTimer</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/27/objective-c-unalternativa-alluso-di-cgrectmake/" title="Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake (27 luglio, 2009)">Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake</a> (2)</li>
	<li><a href="http://www.undolog.com/2009/10/29/objective-c-nslog-su-struct-c/" title="Objective-C: NSLog() su struct C (29 ottobre, 2009)">Objective-C: NSLog() su struct C</a> (0)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/akiKoHUo2aA" height="1" width="1"/>]]></content:encoded><description>Se avete bisogno di generare numeri casuali in una applicazione Apple iPhone dovete mettere da parte Objective-C, in quanto non propone nessuna classe allo scopo. La soluzione viene dal C che propone: rand(), srand(), random(), srandom() e arc4random().
Tra tutte la più gettonata è sicuramente arc4random(), in quanto non richiede nessuna inizializzazione speciale o funzioni di [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/10/09/very-short-snippet-iphone-numeri-casuali/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/10/09/very-short-snippet-iphone-numeri-casuali/</feedburner:origLink></item><item><title>Adobe Flash Professional CS5 per Apple iPhone</title><link>http://feedproxy.google.com/~r/undolog/~3/bpTllQQuG4o/</link><category>Eventi &amp; Iniziative</category><category>Flash</category><category>Mobile</category><category>Sviluppo</category><category>Tecnologia</category><category>Adobe</category><category>Adobe Flash Professiona 5</category><category>Apple</category><category>iPhone</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Wed, 07 Oct 2009 01:16:54 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2522</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/HYGw_40MJZuyvxyKtj6ieVGoevE/0/da"><img src="http://feedads.g.doubleclick.net/~a/HYGw_40MJZuyvxyKtj6ieVGoevE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/HYGw_40MJZuyvxyKtj6ieVGoevE/1/da"><img src="http://feedads.g.doubleclick.net/~a/HYGw_40MJZuyvxyKtj6ieVGoevE/1/di" border="0" ismap="true"></img></a></p><p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/10/Immagine-2.png" alt="Adobe Flash Professiona 5 per Apple iPhone" title="Adobe Flash Professiona 5 per Apple iPhone" width="482" height="130" class="alignnone size-full wp-image-2521" /></p>
<ul>
<li><a href="http://labs.adobe.com/technologies/flashcs5/">Adobe Professional CS5 - preview</a></li>
<li><a href="http://labs.adobe.com/technologies/flashcs5/appsfor_iphone/">Applicazioni iPhone</a></li>
</ul>

	Tags: <a href="http://www.undolog.com/tag/adobe/" title="Adobe" rel="tag">Adobe</a>, <a href="http://www.undolog.com/tag/adobe-flash-professiona-5/" title="Adobe Flash Professiona 5" rel="tag">Adobe Flash Professiona 5</a>, <a href="http://www.undolog.com/tag/apple/" title="Apple" rel="tag">Apple</a>, <a href="http://www.undolog.com/category/eventi-iniziative/" title="Eventi &amp; Iniziative" rel="tag">Eventi &amp; Iniziative</a>, <a href="http://www.undolog.com/category/sviluppo/flash/" title="Flash" rel="tag">Flash</a>, <a href="http://www.undolog.com/tag/iphone/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/mobile/" title="Mobile" rel="tag">Mobile</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/category/tecnologia/" title="Tecnologia" rel="tag">Tecnologia</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/10/xcode-organizzare-il-codice-con-la-direttiva-pragma-mark/" title="XCode: organizzare il codice con la direttiva #pragma mark (10 luglio, 2009)">XCode: organizzare il codice con la direttiva #pragma mark</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/20/xcode-consigli-sul-debugging-preferences/" title="XCode: consigli sul Debugging Preferences (20 luglio, 2009)">XCode: consigli sul Debugging Preferences</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/23/xcode-shortcut/" title="Xcode shortcut (23 luglio, 2009)">Xcode shortcut</a> (0)</li>
	<li><a href="http://www.undolog.com/2007/02/13/web20-adobe-ci-prova-con-apollo/" title="Web2.0: Adobe ci prova con Apollo? (13 febbraio, 2007)">Web2.0: Adobe ci prova con Apollo?</a> (2)</li>
	<li><a href="http://www.undolog.com/2009/06/16/very-short-trick-fermare-nstimer/" title="Very short trick: fermare NSTimer (16 giugno, 2009)">Very short trick: fermare NSTimer</a> (0)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/bpTllQQuG4o" height="1" width="1"/>]]></content:encoded><description>Adobe Professional CS5 - preview
Applicazioni iPhone


	Tags: Adobe, Adobe Flash Professiona 5, Apple, Eventi &amp;#38; Iniziative, Flash, iPhone, Mobile, Sviluppo, Tecnologia

	Post correlati
	
	XCode: organizzare il codice con la direttiva #pragma mark (0)
	XCode: consigli sul Debugging Preferences (0)
	Xcode shortcut (0)
	Web2.0: Adobe ci prova con Apollo? (2)
	Very short trick: fermare NSTimer (0)</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/10/07/adobe-flash-professiona-cs5-per-apple-iphone/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/10/07/adobe-flash-professiona-cs5-per-apple-iphone/</feedburner:origLink></item><item><title>bbPress: integrare e utilizzare le funzioni di Wordpress</title><link>http://feedproxy.google.com/~r/undolog/~3/CAvP5cA1L3M/</link><category>PHP</category><category>Sviluppo</category><category>WordPress</category><category>bbPress</category><category>Forum</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Mon, 28 Sep 2009 03:02:15 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2473</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/B8txH8uU5vfC1tPIEfIWD390CBQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/B8txH8uU5vfC1tPIEfIWD390CBQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/B8txH8uU5vfC1tPIEfIWD390CBQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/B8txH8uU5vfC1tPIEfIWD390CBQ/1/di" border="0" ismap="true"></img></a></p><p><a target="_blank" href="http://bbpress.org/">bbPress</a> è un semplice ma completo Forum scritto in <a target="_blank" href="http://www.php.net">PHP</a> e <a target="_blank" href="http://www.mysql.it/">MySQL</a> che fornisce un'ottima integrazione con <a target="_blank href="http://www.wordpress.org">Wordpress</a>.<br />
L'integrazione con Wordpress è costruita su vari livelli, che avremmo modo di analizzare in seguito. Per iniziare ecco un semplice snippet da inserire nel file di configurazione di bbPress: <code>bb-config.php</code>.</p>
<div class="igBar"><span id="lphp-22"><a href="#" onclick="javascript:showCodeTxt('php-22'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-22">
<div class="php" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// Carica l'engine Wordpress</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// La doppia chiamata a dirname() corrisponde, ovviamente</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// ad un &quot;../&quot; e dipende da dove è posizionato bbPress</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// rispetto alla root di Wordpress</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #b1b100;">require_once</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/dirname"><span style="color: #990000;">dirname</span></a><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/dirname"><span style="color: #990000;">dirname</span></a><span style="color: #009900;">&#40;</span> <span style="color: #009900; font-weight: bold;">__FILE__</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'/wp-blog-header.php'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><a href="http://www.php.net/define"><span style="color: #990000;">define</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'WP_BB'</span><span style="color: #339933;">,</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Questo codice permette di utilizzare il kernel di Wordpress all'interno dell'ambiente bbPress. In pratica, quindi, è possibile inserire funzioni come <code>get_bloginfo()</code> (o qualsiasi altra funzione come <code>get_header()</code>) nelle pagine facenti parte del tema del Forum. In questo modo sarò semplice, ad esempio, uniformare il layout grafico, permettendo al tema bbPress di accedere all'impaginazione Wordpress.</p>

	Tags: <a href="http://www.undolog.com/tag/bbpress/" title="bbPress" rel="tag">bbPress</a>, <a href="http://www.undolog.com/tag/forum/" title="Forum" rel="tag">Forum</a>, <a href="http://www.undolog.com/category/sviluppo/internet/php/" title="PHP" rel="tag">PHP</a>, <a href="http://www.undolog.com/tag/php/" title="PHP" rel="tag">PHP</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/category/sviluppo/internet/wordpress/" title="WordPress" rel="tag">WordPress</a>, <a href="http://www.undolog.com/tag/wordpress/" title="WordPress" rel="tag">WordPress</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/01/05/wordpress-wp_parse_args/" title="Wordpress: wp_parse_args() (5 gennaio, 2009)">Wordpress: wp_parse_args()</a> (3)</li>
	<li><a href="http://www.undolog.com/2009/07/03/wordpress-usare-gli-shortcodes/" title="Wordpress: usare gli shortcodes (3 luglio, 2009)">Wordpress: usare gli shortcodes</a> (5)</li>
	<li><a href="http://www.undolog.com/2008/10/27/wordpress-scrivere-un-logout-personale/" title="Wordpress: scrivere un logout personale (27 ottobre, 2008)">Wordpress: scrivere un logout personale</a> (1)</li>
	<li><a href="http://www.undolog.com/2008/11/01/wordpress-rimuovere-i-menu-dellamministrazione/" title="Wordpress: rimuovere i menu dell&#8217;amministrazione (1 novembre, 2008)">Wordpress: rimuovere i menu dell&#8217;amministrazione</a> (7)</li>
	<li><a href="http://www.undolog.com/2009/02/09/wordpress-personalizzare-la-navigazione-tra-i-post/" title="Wordpress: personalizzare la navigazione tra i post (9 febbraio, 2009)">Wordpress: personalizzare la navigazione tra i post</a> (5)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/CAvP5cA1L3M" height="1" width="1"/>]]></content:encoded><description>bbPress è un semplice ma completo Forum scritto in PHP e MySQL che fornisce un'ottima integrazione con Wordpress.
L'integrazione con Wordpress è costruita su vari livelli, che avremmo modo di analizzare in seguito. Per iniziare ecco un semplice snippet da inserire nel file di configurazione di bbPress: bb-config.php.
PLAIN TEXT
PHP:




// Carica l'engine Wordpress


// La doppia chiamata a [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/09/28/bbpress-integrare-e-utilizzare-le-funzioni-di-wordpress/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><feedburner:origLink>http://www.undolog.com/2009/09/28/bbpress-integrare-e-utilizzare-le-funzioni-di-wordpress/</feedburner:origLink></item><item><title>5 estensioni per FireFox da avere dedicate ai Web Developer</title><link>http://feedproxy.google.com/~r/undolog/~3/aI4lBDHvTUM/</link><category>CSS</category><category>Featured</category><category>Internet</category><category>Javascript</category><category>Software</category><category>Sviluppo</category><category>Tecnologia</category><category>jQuery</category><category>CodeBurner</category><category>Estensioni</category><category>FireBug</category><category>firefox</category><category>Html Validator</category><category>Mozilla</category><category>Plugins</category><category>web-developer</category><category>YSlow</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Mon, 14 Sep 2009 05:25:08 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2482</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/GhaK_KhWPlXg0CjOF0E2TZAzXyY/0/da"><img src="http://feedads.g.doubleclick.net/~a/GhaK_KhWPlXg0CjOF0E2TZAzXyY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/GhaK_KhWPlXg0CjOF0E2TZAzXyY/1/da"><img src="http://feedads.g.doubleclick.net/~a/GhaK_KhWPlXg0CjOF0E2TZAzXyY/1/di" border="0" ismap="true"></img></a></p><p>Uno degli enormi vantaggi di Mozilla <a href="http://www.mozilla-europe.org/it/firefox/" target="_blank">FireFox</a>, rispetto agli altri browser, è stato, è lo è tutt'ora, quello di possedere una grande quantità di <strong>estensioni gratuite</strong> che permettono di personalizzare ed estendere l'applicazione. Come sviluppatore web non posso - oramai - farne a meno di alcune utilissime estensioni che mi aiutano nella costruzione, controllo e manutenzione delle pagine Web.</p>
<h4><a href="http://getfirebug.com/" target="_blank">FireBug</a></h4>
<p><img style="float:left;margin:0 8px 0 0" title="FireBug" src="http://www.undolog.com/wp-content/uploads/2009/09/Immagine-3.png" alt="FireBug" width="41" height="39" />Un "must" per tutti gli sviluppatori Web. Probabilmente è lo strumento più evoluto di editing e debug in tempo reale di pagine Web disponibile oggi su Internet. Supera sicuramente in usabilità e funzionalità (nonchè in Plugin e estensioni disponibili) anche gli strumenti di controllo forniti con <strong>WebKit</strong> (vedi Safari e Chrome) e il nuovo Explorer 8.</p>
<h4><a href="http://chrispederick.com/work/web-developer/" target="_blank">Web Developer</a></h4>
<p><img style="float:left;margin:0 8px 0 0" title="Web Developer" src="http://www.undolog.com/wp-content/uploads/2009/09/Immagine-6.png" alt="Web Developer" width="43" height="39" />Insieme a FireBug questa estensione permette di attivare una comoda barra degli strumenti con moltissime funzioni, utilissime per il debug e controllo delle pagine: controllo della cache, meta, stili css, motore javascript, cookie, form, immgaini, strumenti di evidenziazione, misure, ridimensionamento della finestra del browser, controllo sorgente generato e eventuali riquadri iframe, etc...</p>
<h4><a href="http://users.skynet.be/mgueury/mozilla/" target="_blank">HTML Validator</a></h4>
<p><img style="float:left;margin:0 8px 0 0" title="HTML Validator" src="http://www.undolog.com/wp-content/uploads/2009/09/Immagine-4.png" alt="HTML Validator" width="40" height="35" />Questa estensione l'ho scoperta da poco e mi ha davvero stupito per la precisione e la comodità d'uso. Permette di effettuare una serie di controlli sulla sintassi delle pagine così da far saltare fuori errori di markup o tag usati male o non chiusi. Comodissima soprattutto a chi sviluppa con Wordpress o sistemi simili, dove una pagina è costruita con varie parti (header, body, sidebar e footer) difficili da esaminare e visualizzare come tutt'uno.</p>
<blockquote><p><strong>Nota bene:</strong> questa estensione viene segnalata sul repository di Mozilla come <strong>NON</strong> disponibile per i sistemi MacOS. Tuttavia se andate sulla <a href="http://users.skynet.be/mgueury/mozilla/download.html" target="_blank">pagina dello sviluppatore</a>, trovere invece tutte le versioni. Io infatti la uso tranquillamente sul mio Mac!</p></blockquote>
<h4><a href="http://developer.yahoo.com/yslow/" target="_blank">YSlow</a></h4>
<p><img style="float:left;margin:0 8px 0 0" title="YSlow" src="http://www.undolog.com/wp-content/uploads/2009/09/Immagine-5.png" alt="YSlow" width="43" height="40" />Prodotto da Yahoo, YSlow è un Add-on di FireBug e permette di avere dei report estremamente avanzati sulle pagine che stiamo sviluppando! Con tanto di voti! Dall'analisi è possibile ottenere tutta una serie di suggerimenti - spesso utilissimi - per migliorare la stabilità e le performance delle nostre pagine Web.</p>
<h4><a href="http://tools.sitepoint.com/codeburner/" target="_blank">CodeBurder</a></h4>
<p><img style="float:left;margin:0 8px 0 0" title="CodeBurner" src="http://www.undolog.com/wp-content/uploads/2009/09/Immagine-2.png" alt="CodeBurner" width="37" height="38" />Questa estensione è presente sia come Add-on per FireBug, sia come estensione stand-alone per FireFox. Sono in sviluppo anche le versioni in Adobe AIR e Adobe Dreamweaver. Code Burner fornisce un Help contestuale - evoluto - al markup HTML e CSS, indicando la compatibilità tra i browser, informazioni generali, sintassi, esempio e altro:</p>
<p class="center"><img title="CodeBurner" src="http://www.undolog.com/wp-content/uploads/2009/09/Immagine-1.png" alt="CodeBurner" width="619" height="381" /></p>

	Tags: <a href="http://www.undolog.com/tag/codeburner/" title="CodeBurner" rel="tag">CodeBurner</a>, <a href="http://www.undolog.com/category/sviluppo/internet/css/" title="CSS" rel="tag">CSS</a>, <a href="http://www.undolog.com/tag/estensioni/" title="Estensioni" rel="tag">Estensioni</a>, <a href="http://www.undolog.com/category/featured/" title="Featured" rel="tag">Featured</a>, <a href="http://www.undolog.com/tag/firebug/" title="FireBug" rel="tag">FireBug</a>, <a href="http://www.undolog.com/tag/firefox/" title="firefox" rel="tag">firefox</a>, <a href="http://www.undolog.com/tag/html-validator/" title="Html Validator" rel="tag">Html Validator</a>, <a href="http://www.undolog.com/category/sviluppo/internet/" title="Internet" rel="tag">Internet</a>, <a href="http://www.undolog.com/category/sviluppo/internet/javascript/" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.undolog.com/category/sviluppo/internet/javascript/jquery-javascript-internet-sviluppo/" title="jQuery" rel="tag">jQuery</a>, <a href="http://www.undolog.com/tag/mozilla/" title="Mozilla" rel="tag">Mozilla</a>, <a href="http://www.undolog.com/tag/plugins/" title="Plugins" rel="tag">Plugins</a>, <a href="http://www.undolog.com/category/software/" title="Software" rel="tag">Software</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/category/tecnologia/" title="Tecnologia" rel="tag">Tecnologia</a>, <a href="http://www.undolog.com/tag/web-developer/" title="web-developer" rel="tag">web-developer</a>, <a href="http://www.undolog.com/tag/yslow/" title="YSlow" rel="tag">YSlow</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2008/10/23/firefox-la-gestione-dei-profili/" title="FireFox: la gestione dei profili (23 ottobre, 2008)">FireFox: la gestione dei profili</a> (1)</li>
	<li><a href="http://www.undolog.com/2008/10/28/creare-applicazioni-desktop-con-google-chrome-e-firefox/" title="Creare applicazioni Desktop con Google Chrome e FireFox? (28 ottobre, 2008)">Creare applicazioni Desktop con Google Chrome e FireFox?</a> (1)</li>
	<li><a href="http://www.undolog.com/2007/03/13/xopus-editor-xml-in-wysiwyg/" title="Xopus: editor XML in WYSIWYG (13 marzo, 2007)">Xopus: editor XML in WYSIWYG</a> (1)</li>
	<li><a href="http://www.undolog.com/2007/02/01/web-developer-113/" title="Web Developer 1.1.3 (1 febbraio, 2007)">Web Developer 1.1.3</a> (0)</li>
	<li><a href="http://www.undolog.com/2008/08/19/flick-e-flock/" title="Flick e Flock (19 agosto, 2008)">Flick e Flock</a> (2)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/aI4lBDHvTUM" height="1" width="1"/>]]></content:encoded><description>5 estensioni per Mozilla Firefox da possedere assolutamente utili per la costruzione, controllo e manutenzione delle pagine Web</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/09/14/5-estensioni-per-firefox-da-avere-dedicate-ai-web-developer/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><feedburner:origLink>http://www.undolog.com/2009/09/14/5-estensioni-per-firefox-da-avere-dedicate-ai-web-developer/</feedburner:origLink></item><item><title>Very short snippet: PHP, tagliare a parole, contando i caratteri</title><link>http://feedproxy.google.com/~r/undolog/~3/LN8ZNhwnsW0/</link><category>PHP</category><category>Sviluppo</category><category>Snippets</category><category>strlen()</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Sun, 13 Sep 2009 23:00:42 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2465</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/0aCZHVPtqLmpQUBCSP8r0ek-Mwc/0/da"><img src="http://feedads.g.doubleclick.net/~a/0aCZHVPtqLmpQUBCSP8r0ek-Mwc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0aCZHVPtqLmpQUBCSP8r0ek-Mwc/1/da"><img src="http://feedads.g.doubleclick.net/~a/0aCZHVPtqLmpQUBCSP8r0ek-Mwc/1/di" border="0" ismap="true"></img></a></p><p>Come già visto in <em><a href="http://www.undolog.com/2008/09/21/very-short-snippet-php-word-cut/">Very short snippet: PHP word cut</a></em> è più gradevole spezzare un testo a "parole", in quanto si evita di tagliare una parola. C'è comunque chi preferisce tagliare contando i caratteri, in quanto rende i "tagli" più omogenei e simili tra loro, nonostante il forte rischio di tagliare una parola, mozzandola di netto!  Inoltre bisogna sempre considerare che, fatta eccezzione per casi particolari, i Font non sono proporzionali e di conseguenza la parola "WWW" può occupare uno spazio orizzontale in pixel differente da "Wii".<br />
Allo stesso modo quando si contano le parole si può incorrere in situazioni paraddosali, generando evidenti differenze tra i testi che si sìvoglione spezzare. Ad esempio la frase: "a tu per tu" contiene quattro parole, esattamente come "Washington, la casa bianca". Tuttavia, risulta evidente che l'ultima frase è visibilmente più "lunga", in pixel.<br />
Una possibile soluzione al problema è una funzione ibrido, che tenga conto quindi sia della lunghezza dei caratteri, sia del "taglio" a fine parola:</p>
<div class="igBar"><span id="lphp-24"><a href="#" onclick="javascript:showCodeTxt('php-24'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-24">
<div class="php" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">/**</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* Taglia una stringa per parole contanto i caratteri</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* In questa versione non vengono &quot;contati&quot; gli spazi</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* decommentare la riga in caso si vuole un taglio</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* esatto a carattere </span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* </span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* @author&nbsp; =undo=</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* @date&nbsp; &nbsp; 2009-09-11</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* </span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* @param (string) $c &nbsp; Stringa da tagliere</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* @param (int) &nbsp; &nbsp;$l &nbsp; Numero di caratteri massimo</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* @param (string) $e &nbsp; Stringa da appendere, default &quot;[...]&quot;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;* @return </span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009933; font-style: italic;">&nbsp;*/</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000000; font-weight: bold;">function</span> word_cut_for_chars<span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #339933;">,</span> <span style="color: #000088;">$l</span><span style="color: #339933;">,</span> <span style="color: #000088;">$e</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;[...]&quot;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> <a href="http://www.php.net/strlen"><span style="color: #990000;">strlen</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$c</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">&gt;</span> <span style="color: #000088;">$l</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$a</span> <span style="color: #339933;">=</span> <a href="http://www.php.net/explode"><span style="color: #990000;">explode</span></a><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">' '</span><span style="color: #339933;">,</span><span style="color: #000088;">$c</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$s</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;color:#800000;">0</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$r</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">for</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$i</span><span style="color: #339933;">=</span><span style="color: #cc66cc;color:#800000;">0</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">&lt;</span>count<span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000088;">$i</span><span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$s</span> <span style="color: #339933;">+=</span> <a href="http://www.php.net/strlen"><span style="color: #990000;">strlen</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// $s += ( strlen($a[$i]) + 1); &nbsp;// conta anche &quot;lo spazio&quot;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$s</span><span style="color: #339933;">&gt;</span> <span style="color: #000088;">$l</span> <span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$r</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$e</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$r</span> <span style="color: #339933;">.=</span> <span style="color: #000088;">$a</span><span style="color: #009900;">&#91;</span><span style="color: #000088;">$i</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; &quot;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#125;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #000088;">$c</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>

	Tags: <a href="http://www.undolog.com/category/sviluppo/internet/php/" title="PHP" rel="tag">PHP</a>, <a href="http://www.undolog.com/tag/php/" title="PHP" rel="tag">PHP</a>, <a href="http://www.undolog.com/tag/snippets/" title="Snippets" rel="tag">Snippets</a>, <a href="http://www.undolog.com/tag/strlen/" title="strlen()" rel="tag">strlen()</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/tag/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2008/09/21/very-short-snippet-php-word-cut/" title="Very short snippet: PHP word cut (21 settembre, 2008)">Very short snippet: PHP word cut</a> (9)</li>
	<li><a href="http://www.undolog.com/2008/10/27/wordpress-scrivere-un-logout-personale/" title="Wordpress: scrivere un logout personale (27 ottobre, 2008)">Wordpress: scrivere un logout personale</a> (1)</li>
	<li><a href="http://www.undolog.com/2008/11/01/wordpress-rimuovere-i-menu-dellamministrazione/" title="Wordpress: rimuovere i menu dell&#8217;amministrazione (1 novembre, 2008)">Wordpress: rimuovere i menu dell&#8217;amministrazione</a> (7)</li>
	<li><a href="http://www.undolog.com/2008/10/02/very-short-trick-php-auto-echo/" title="Very short trick: PHP auto echo (2 ottobre, 2008)">Very short trick: PHP auto echo</a> (0)</li>
	<li><a href="http://www.undolog.com/2008/10/08/very-short-trick-avoid-error-message-in-php/" title="Very short trick: avoid error message in PHP (8 ottobre, 2008)">Very short trick: avoid error message in PHP</a> (1)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/LN8ZNhwnsW0" height="1" width="1"/>]]></content:encoded><description>Come già visto in Very short snippet: PHP word cut è più gradevole spezzare un testo a "parole", in quanto si evita di tagliare una parola. C'è comunque chi preferisce tagliare contando i caratteri, in quanto rende i "tagli" più omogenei e simili tra loro, nonostante il forte rischio di tagliare una parola, mozzandola di [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/09/14/very-short-snippet-php-tagliare-a-parole-contando-i-caratteri/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">5</slash:comments><feedburner:origLink>http://www.undolog.com/2009/09/14/very-short-snippet-php-tagliare-a-parole-contando-i-caratteri/</feedburner:origLink></item><item><title>Very short trick: Wordpress, resettare una query</title><link>http://feedproxy.google.com/~r/undolog/~3/1REPXKs2-r4/</link><category>Internet</category><category>PHP</category><category>Sviluppo</category><category>WordPress</category><category>query_posts()</category><category>tips-&amp;-tricks</category><category>trick</category><category>wp_reset_query()</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Wed, 09 Sep 2009 04:51:52 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2459</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/U8L473Ke8XiZrFjvIqI3oP29ftQ/0/da"><img src="http://feedads.g.doubleclick.net/~a/U8L473Ke8XiZrFjvIqI3oP29ftQ/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/U8L473Ke8XiZrFjvIqI3oP29ftQ/1/da"><img src="http://feedads.g.doubleclick.net/~a/U8L473Ke8XiZrFjvIqI3oP29ftQ/1/di" border="0" ismap="true"></img></a></p><p>A me capita spessissimo di personalizzare le Home Page (<code>index.php</code>), o altre sezioni come ad esempio la Sidebar, di un sito Web realizzato con <strong>Wordpress</strong>. Molte delle personalizzazioni riguardano loop con parametri specifici, al fine di visualizzare ad esempio gli ultimi articoli di una specifica categoria o tag. Questa operazione la svolgo quasi sempre utilizzando la <code>query_posts()</code>. Quando si esegue una <code>query_posts()</code> vengono influenzate anche alcune variabili globali e, spesso, si hanno comportamenti fastidiosi quando - subito dopo - si usano funzioni come <code>is_category()</code> o <code>is_page()</code>. Dalla release 2.3.0 di Wordpress è disponibile una comoda funzione che ha proprio il compito di <strong>resettare lo stato</strong> alterato da <code>query_posts()</code>: <code>wp_reset_query()</code>.<br />
Per utilizzarla è sufficiente chiamare la funzione al termine del nostro loop personalizzato, in modo da non lasciare traccia nel sistema e non influenzare così altre funzioni che fanno riferimento alle variabili globali utilizzate da <code>query_posts()</code>:</p>
<div class="igBar"><span id="lphp-26"><a href="#" onclick="javascript:showCodeTxt('php-26'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-26">
<div class="php" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">// esempio in una ipotetica index.php</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">// a fine pagina, dopo aver eseguito una o più</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">// query_posts() personali</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000000; font-weight: bold;">&lt;?php</span> wp_reset_query<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> get_sidebar<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> get_footer<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>

	Tags: <a href="http://www.undolog.com/category/sviluppo/internet/" title="Internet" rel="tag">Internet</a>, <a href="http://www.undolog.com/tag/internet/" title="Internet" rel="tag">Internet</a>, <a href="http://www.undolog.com/category/sviluppo/internet/php/" title="PHP" rel="tag">PHP</a>, <a href="http://www.undolog.com/tag/php/" title="PHP" rel="tag">PHP</a>, <a href="http://www.undolog.com/tag/query_posts/" title="query_posts()" rel="tag">query_posts()</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/tag/tips-tricks/" title="tips-&amp;-tricks" rel="tag">tips-&amp;-tricks</a>, <a href="http://www.undolog.com/tag/trick/" title="trick" rel="tag">trick</a>, <a href="http://www.undolog.com/category/sviluppo/internet/wordpress/" title="WordPress" rel="tag">WordPress</a>, <a href="http://www.undolog.com/tag/wordpress/" title="WordPress" rel="tag">WordPress</a>, <a href="http://www.undolog.com/tag/wp_reset_query/" title="wp_reset_query()" rel="tag">wp_reset_query()</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/02/very-short-snippet-wordpress-prossimamente-sul-vostro-blog/" title="Very short snippet: Wordpress, prossimamente sul vostro blog (2 luglio, 2009)">Very short snippet: Wordpress, prossimamente sul vostro blog</a> (1)</li>
	<li><a href="http://www.undolog.com/2008/10/02/very-short-trick-php-auto-echo/" title="Very short trick: PHP auto echo (2 ottobre, 2008)">Very short trick: PHP auto echo</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/05/28/very-short-snippet-php-slug/" title="Very short snippet: PHP slug (28 maggio, 2009)">Very short snippet: PHP slug</a> (9)</li>
	<li><a href="http://www.undolog.com/2008/10/27/wordpress-scrivere-un-logout-personale/" title="Wordpress: scrivere un logout personale (27 ottobre, 2008)">Wordpress: scrivere un logout personale</a> (1)</li>
	<li><a href="http://www.undolog.com/2008/11/01/wordpress-rimuovere-i-menu-dellamministrazione/" title="Wordpress: rimuovere i menu dell&#8217;amministrazione (1 novembre, 2008)">Wordpress: rimuovere i menu dell&#8217;amministrazione</a> (7)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/1REPXKs2-r4" height="1" width="1"/>]]></content:encoded><description>A me capita spessissimo di personalizzare le Home Page (index.php), o altre sezioni come ad esempio la Sidebar, di un sito Web realizzato con Wordpress. Molte delle personalizzazioni riguardano loop con parametri specifici, al fine di visualizzare ad esempio gli ultimi articoli di una specifica categoria o tag. Questa operazione la svolgo quasi sempre utilizzando [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/09/09/very-short-trick-wordpress-resettare-una-query/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/09/09/very-short-trick-wordpress-resettare-una-query/</feedburner:origLink></item><item><title>Very short snippet: Wordpress, migliorare il campo cerca</title><link>http://feedproxy.google.com/~r/undolog/~3/HtqpNHm7I3g/</link><category>Internet</category><category>Javascript</category><category>PHP</category><category>Sviluppo</category><category>WordPress</category><category>get_search_query()</category><category>Snipp</category><category>Snippets</category><category>tips-&amp;-tricks</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Mon, 07 Sep 2009 01:33:15 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2445</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/w8--x8kr--FvmG85W2l_lOZduAE/0/da"><img src="http://feedads.g.doubleclick.net/~a/w8--x8kr--FvmG85W2l_lOZduAE/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/w8--x8kr--FvmG85W2l_lOZduAE/1/da"><img src="http://feedads.g.doubleclick.net/~a/w8--x8kr--FvmG85W2l_lOZduAE/1/di" border="0" ismap="true"></img></a></p><p>Oltre all'aspetto grafico del campo <code>input</code> del cerca di Wordpress, è possibile intervenire su di esso a livello di codice in modo da renderlo un tantino <em>interattivo</em> quando si clicca al suo interno. Un effetto facile da realizzare permette di inserire un testo all'interno del campo cerca che scompare (e ricompare quando si esce dal campo lasciato vuoto) quando si clicca al suo interno. Questa tecnica è comonda in quanto informa l'utente della funzionalità del campo in questione senza costringerci ad aggiungere una label esterna che, a volte, ruberebbe spazio al tema grafico.<br />
Questo procedimento, inoltre, può essere utilizzato anche in altri contesti: come un modulo contatti ad esempio.<br />
Il codice che riporto qui sotto potete inserirlo nel file <code>searchform.php</code> del vostro tema.</p>
<div class="igBar"><span id="lphp-28"><a href="#" onclick="javascript:showCodeTxt('php-28'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-28">
<div class="php" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;form method=&quot;get&quot; id=&quot;searchform&quot; action=&quot;<span style="color: #000000; font-weight: bold;">&lt;?php</span> bloginfo<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'url'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> <span style="color: #000000; font-weight: bold;">?&gt;</span>/&quot;&gt;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000000; font-weight: bold;">&lt;?php</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000088;">$i</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Cerca su undolog...'</span><span style="color: #339933;">;</span> &nbsp; &nbsp;<span style="color: #666666; font-style: italic;">// stringa a piacere</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000088;">$q</span> <span style="color: #339933;">=</span> get_search_query<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span> &nbsp; &nbsp; &nbsp; <span style="color: #666666; font-style: italic;">// recupero l'eventuale stringa di una ricerca precedente</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #000088;">$v</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$q</span> <span style="color: #339933;">==</span> <span style="color: #0000ff;">&quot;&quot;</span> <span style="color: #009900;">&#41;</span> ? <span style="color: #000088;">$i</span> <span style="color: #339933;">:</span> <span style="color: #000088;">$q</span><span style="color: #339933;">;</span> &nbsp; <span style="color: #666666; font-style: italic;">// se non è stata fatta nessuna ricerca imposta la mia stringa</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000000; font-weight: bold;">?&gt;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;input onblur=&quot;this.value=(this.value == '')?'<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$i</span><span style="color: #000000; font-weight: bold;">?&gt;</span>':this.value&quot; onfocus=&quot;this.value=(this.value == '<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$i</span><span style="color: #000000; font-weight: bold;">?&gt;</span>')?'':this.value&quot; type=&quot;text&quot; value=&quot;<span style="color: #000000; font-weight: bold;">&lt;?=</span><span style="color: #000088;">$v</span><span style="color: #000000; font-weight: bold;">?&gt;</span>&quot; name=&quot;s&quot; id=&quot;s&quot; /&gt;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&lt;/form&gt;</div>
</li>
</ol>
</div>
</div>
</div>
<p></p>

	Tags: <a href="http://www.undolog.com/tag/get_search_query/" title="get_search_query()" rel="tag">get_search_query()</a>, <a href="http://www.undolog.com/category/sviluppo/internet/" title="Internet" rel="tag">Internet</a>, <a href="http://www.undolog.com/category/sviluppo/internet/javascript/" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.undolog.com/category/sviluppo/internet/php/" title="PHP" rel="tag">PHP</a>, <a href="http://www.undolog.com/tag/php/" title="PHP" rel="tag">PHP</a>, <a href="http://www.undolog.com/tag/snipp/" title="Snipp" rel="tag">Snipp</a>, <a href="http://www.undolog.com/tag/snippets/" title="Snippets" rel="tag">Snippets</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/tag/tips-tricks/" title="tips-&amp;-tricks" rel="tag">tips-&amp;-tricks</a>, <a href="http://www.undolog.com/category/sviluppo/internet/wordpress/" title="WordPress" rel="tag">WordPress</a>, <a href="http://www.undolog.com/tag/wordpress/" title="WordPress" rel="tag">WordPress</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2008/11/19/very-short-snippet-wordpress-separare-le-categorie-in-due-colonne/" title="Very short snippet: Wordpress, separare le categorie in due colonne (19 novembre, 2008)">Very short snippet: Wordpress, separare le categorie in due colonne</a> (1)</li>
	<li><a href="http://www.undolog.com/2009/07/02/very-short-snippet-wordpress-prossimamente-sul-vostro-blog/" title="Very short snippet: Wordpress, prossimamente sul vostro blog (2 luglio, 2009)">Very short snippet: Wordpress, prossimamente sul vostro blog</a> (1)</li>
	<li><a href="http://www.undolog.com/2008/11/03/very-short-snippet-wordpress-administrator/" title="Very short snippet: Wordpress administrator? (3 novembre, 2008)">Very short snippet: Wordpress administrator?</a> (1)</li>
	<li><a href="http://www.undolog.com/2009/05/28/very-short-snippet-php-slug/" title="Very short snippet: PHP slug (28 maggio, 2009)">Very short snippet: PHP slug</a> (9)</li>
	<li><a href="http://www.undolog.com/2009/03/20/very-short-snippet-come-recuperare-la-categoria-padre-in-wordpress/" title="Very short snippet: come recuperare la categoria padre in Wordpress (20 marzo, 2009)">Very short snippet: come recuperare la categoria padre in Wordpress</a> (2)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/HtqpNHm7I3g" height="1" width="1"/>]]></content:encoded><description>Oltre all'aspetto grafico del campo input del cerca di Wordpress, è possibile intervenire su di esso a livello di codice in modo da renderlo un tantino interattivo quando si clicca al suo interno. Un effetto facile da realizzare permette di inserire un testo all'interno del campo cerca che scompare (e ricompare quando si esce dal [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/09/07/very-short-snippet-wordpress-migliorare-il-campo-cerca/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">3</slash:comments><feedburner:origLink>http://www.undolog.com/2009/09/07/very-short-snippet-wordpress-migliorare-il-campo-cerca/</feedburner:origLink></item><item><title>Recuperare le immagini caricate in un Post</title><link>http://feedproxy.google.com/~r/undolog/~3/AbO2kd7e14o/</link><category>Internet</category><category>PHP</category><category>Sviluppo</category><category>WordPress</category><category>get_children()</category><category>library</category><category>media</category><category>tips-&amp;-tricks</category><category>Tutorials</category><category>usort()</category><category>wp_get_attachment_thumb_url()</category><category>wp_get_attachment_url()</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Mon, 31 Aug 2009 16:20:17 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2422</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/r2E-PCg1oQCKNyE1w4GDBDzXGKc/0/da"><img src="http://feedads.g.doubleclick.net/~a/r2E-PCg1oQCKNyE1w4GDBDzXGKc/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/r2E-PCg1oQCKNyE1w4GDBDzXGKc/1/da"><img src="http://feedads.g.doubleclick.net/~a/r2E-PCg1oQCKNyE1w4GDBDzXGKc/1/di" border="0" ismap="true"></img></a></p><p>Quando scriviamo un Post in Wordpress è possibile caricare delle immagini contestualmente alle stesura dell'articolo. Queste immagini, che fanno parte della libreria media, vengono associate a quel determinato post. La particolarità di questo comportamento risiede nella possibilità di estrarre queste immagini <strong>a prescindere se queste sono state inserite fisicamente all'interno del post</strong>. Tale procedimento, dunque, è molto più <strong>interessante</strong> rispetto all'uso dei campi personallizzati (custom fields) o di "incomprensibili" (per alcuni) regexp (regular expressions) all'interno del corpo del Post. Recentemente, inoltre, Wordpress permette di inserire una semplice, tuttavia immediata, galleria, sfruttando propria questo legame tra post e immagine caricata. A basso livello le immagini caricate vengono trattate esattamente come un post, cioè la tabella sul database e i campi sono esattamente gli stessi.<br />
Ad esempio se per un determinato post - con delle immagini caricate - usiamo il seguente codice:</p>
<div class="igBar"><span id="lphp-33"><a href="#" onclick="javascript:showCodeTxt('php-33'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-33">
<div class="php" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// dove è $post_id è l'id del post</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// se siamo in un loop possiamo usare $post-ID</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000088;">$ai</span> <span style="color: #339933;">=&amp;</span> get_children<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_type=attachment&amp;post_mime_type=image&amp;post_parent='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$post_id</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ai</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$image</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;p&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;/p&gt;'</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Otteniamo la lista dei titoli delle immagini caricate. Per visualizzare le immagini basta modificare l'output in:</p>
<div class="igBar"><span id="lphp-34"><a href="#" onclick="javascript:showCodeTxt('php-34'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-34">
<div class="php" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;p&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;img src=&quot;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">guid</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot; /&gt;&lt;/p&gt;'</span><span style="color: #339933;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Tuttavia è più corretto - per ragioni di compatibilità con futuri aggiornamenti - utilizzare le funzioni che Wordpress mette a disposizione per recuperare l'url dell'immagine. Ad esempio possiamo visualizzare sia l'immagine in dimesioni reali che l'immagine in miniatura tramite:</p>
<div class="igBar"><span id="lphp-35"><a href="#" onclick="javascript:showCodeTxt('php-35'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-35">
<div class="php" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;p&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span> <span style="color: #339933;">.</span> </div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #0000ff;">'&lt;img src=&quot;'</span> <span style="color: #339933;">.</span> wp_get_attachment_thumb_url<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot; /&gt;'</span> <span style="color: #339933;">.</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #0000ff;">'&lt;img src=&quot;'</span> <span style="color: #339933;">.</span> wp_get_attachment_url<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot; /&gt;&lt;/p&gt;'</span><span style="color: #339933;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<h4>Ordinamento</h4>
<p>Negli esempi che abbiamo visto sopra le immagini vengono recuperate senza nessun ordine specifico, al massimo per ordine inverso di caricamento. Se avete mai provato ad usare la galleria di Wordpress, vi sarete accorti che questa permette di ordinare le immagini caricate; l'ordinamento può avvenire attraverso il titolo, la data e ora o una modalità casuale. In aggiunta è possibile usare la modalità manuale, scegliendo quindi noi un'ordine delle immagini; rispetto sempre al concetto di galleria, quindi di sequenza (la prima, la seconda, la terza, e così via ...). Inoltre è possibile indicare la modalità crescente o decrescente del criterio che abbiamo scelto. In particolare, l'ordinamento manuale, funziona come per le pagine, cioè sfruttando il campo <code>menu_order</code> (inizialmente impostato a 0 per tutte le immagini caricate).<br />
Se avete dunque caricato una serie di immagini in un post e manipolato queste con l'ordinamento manuale, dobbiamo far in modo che nel nostro ciclo venga preso in considerazione anche l'ordine. Un modo rapido, ed estremamente semplice, per fare questo è utilizzare la funzione <code>usort()</code> per riordinare il nostro <code>array</code> per qualsiasi tipo di campo (<code>menu_order</code>, <code>ID</code>, <code>data</code>, etc...):</p>
<div class="igBar"><span id="lphp-36"><a href="#" onclick="javascript:showCodeTxt('php-36'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">PHP:</span>
<div id="php-36">
<div class="php" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// dove è $post_id è l'id del post</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// se siamo in un loop possiamo usare $post-ID</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000088;">$ai</span> <span style="color: #339933;">=&amp;</span> get_children<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'post_type=attachment&amp;post_mime_type=image&amp;post_parent='</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$post_id</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// applico una mia funzione di ordinamento così</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// da poter sceglere il campo su cui effettuare</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #666666; font-style: italic;">// il sorting (nel nostro caso menu_order)</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><a href="http://www.php.net/usort"><span style="color: #990000;">usort</span></a><span style="color: #009900;">&#40;</span> <span style="color: #000088;">$ai</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;sortImage&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #b1b100;">foreach</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$ai</span> <span style="color: #b1b100;">as</span> <span style="color: #000088;">$image</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp;<span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;p&gt;'</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">post_title</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&lt;img src=&quot;'</span> <span style="color: #339933;">.</span> wp_get_attachment_thumb_url<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$image</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">ID</span> <span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">'&quot; /&gt;&lt;/p&gt;'</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000000; font-weight: bold;">function</span> sortImage<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$a</span><span style="color: #339933;">,</span> <span style="color: #000088;">$b</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">menu_order</span> <span style="color: #339933;">==</span> <span style="color: #000088;">$b</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">menu_order</span><span style="color: #009900;">&#41;</span> <span style="color: #b1b100;">return</span> <span style="color: #cc66cc;color:#800000;">0</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #b1b100;">return</span> <span style="color: #009900;">&#40;</span><span style="color: #000088;">$a</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">menu_order</span><span style="color: #339933;">&gt;</span> <span style="color: #000088;">$b</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">menu_order</span><span style="color: #009900;">&#41;</span> ? 1 <span style="color: #339933;">:</span> <span style="color: #339933;">-</span><span style="color: #cc66cc;color:#800000;">1</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #666666; font-style: italic;">//return ($a-&gt;menu_order&gt; $b-&gt;menu_order) ? -1 : 1; // decrescente</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#125;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Manco a dirlo, ovviamente, se volete recuperare la "prima" e sola immagine caricata basta eliminare il <code>foreach()</code>.</p>

	Tags: <a href="http://www.undolog.com/tag/get_children/" title="get_children()" rel="tag">get_children()</a>, <a href="http://www.undolog.com/category/sviluppo/internet/" title="Internet" rel="tag">Internet</a>, <a href="http://www.undolog.com/tag/library/" title="library" rel="tag">library</a>, <a href="http://www.undolog.com/tag/media/" title="media" rel="tag">media</a>, <a href="http://www.undolog.com/category/sviluppo/internet/php/" title="PHP" rel="tag">PHP</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/tag/tips-tricks/" title="tips-&amp;-tricks" rel="tag">tips-&amp;-tricks</a>, <a href="http://www.undolog.com/tag/tutorials/" title="Tutorials" rel="tag">Tutorials</a>, <a href="http://www.undolog.com/tag/usort/" title="usort()" rel="tag">usort()</a>, <a href="http://www.undolog.com/category/sviluppo/internet/wordpress/" title="WordPress" rel="tag">WordPress</a>, <a href="http://www.undolog.com/tag/wordpress/" title="WordPress" rel="tag">WordPress</a>, <a href="http://www.undolog.com/tag/wp_get_attachment_thumb_url/" title="wp_get_attachment_thumb_url()" rel="tag">wp_get_attachment_thumb_url()</a>, <a href="http://www.undolog.com/tag/wp_get_attachment_url/" title="wp_get_attachment_url()" rel="tag">wp_get_attachment_url()</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/03/wordpress-usare-gli-shortcodes/" title="Wordpress: usare gli shortcodes (3 luglio, 2009)">Wordpress: usare gli shortcodes</a> (5)</li>
	<li><a href="http://www.undolog.com/2008/11/01/wordpress-rimuovere-i-menu-dellamministrazione/" title="Wordpress: rimuovere i menu dell&#8217;amministrazione (1 novembre, 2008)">Wordpress: rimuovere i menu dell&#8217;amministrazione</a> (7)</li>
	<li><a href="http://www.undolog.com/2009/03/23/wordpress-ordinare-una-serie-di-post-per-un-campo-qualsiasi/" title="Wordpress: ordinare una serie di post per un campo qualsiasi (23 marzo, 2009)">Wordpress: ordinare una serie di post per un campo qualsiasi</a> (0)</li>
	<li><a href="http://www.undolog.com/2008/10/03/wordpress-come-scrivere-un-reply-to-comment-usando-jquery/" title="Wordpress: come scrivere un reply to comment usando jQuery (3 ottobre, 2008)">Wordpress: come scrivere un reply to comment usando jQuery</a> (18)</li>
	<li><a href="http://www.undolog.com/2008/10/24/wordpress-come-creare-passo-passo-un-proprio-login/" title="Wordpress: come creare passo passo un proprio login (24 ottobre, 2008)">Wordpress: come creare passo passo un proprio login</a> (21)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/AbO2kd7e14o" height="1" width="1"/>]]></content:encoded><description>Quando scriviamo un Post in Wordpress è possibile caricare delle immagini contestualmente alle stesura dell'articolo. Queste immagini, che fanno parte della libreria media, vengono associate a quel determinato post. La particolarità di questo comportamento risiede nella possibilità di estrarre queste immagini a prescindere se queste sono state inserite fisicamente all'interno del post. Tale procedimento, dunque, [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/09/01/recuperare-le-immagini-caricate-in-un-post/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><feedburner:origLink>http://www.undolog.com/2009/09/01/recuperare-le-immagini-caricate-in-un-post/</feedburner:origLink></item><item><title>Come ottenere latitutine e longitudine in Google Maps</title><link>http://feedproxy.google.com/~r/undolog/~3/ovsJHUlVjM0/</link><category>Internet</category><category>Javascript</category><category>Sviluppo</category><category>Tecnologia</category><category>Google-Maps</category><category>Hack</category><category>Latitudine</category><category>Longitudine</category><category>tips-&amp;-tricks</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Mon, 31 Aug 2009 09:00:53 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2412</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/sDuun5nITs5cQbPG4yRt-UXPeus/0/da"><img src="http://feedads.g.doubleclick.net/~a/sDuun5nITs5cQbPG4yRt-UXPeus/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/sDuun5nITs5cQbPG4yRt-UXPeus/1/da"><img src="http://feedads.g.doubleclick.net/~a/sDuun5nITs5cQbPG4yRt-UXPeus/1/di" border="0" ismap="true"></img></a></p><p>Per trovare le coordinate di un indirizzo, ovvero <strong>Latitudine</strong> e <strong>Longitudine</strong>, possiamo usare questo semplice e utile hack. Aprire il sito di <a target="_blank" href="http://maps.google.it/maps" class="external">Google Maps</a>. Una volta sulla mappa cercate l'indirizzo che desiderate (ad esempio Via Cortese 10, Modena). Quando l'indirizzo è visualizzato sulla mappa, inserite questa riga nella barra indirizzi del browser:</p>
<div class="igBar"><span id="ljavascript-38"><a href="#" onclick="javascript:showCodeTxt('javascript-38'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-38">
<div class="javascript" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">javascript<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">prompt</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">''</span><span style="color: #339933;">,</span>gApplication.<span style="color: #660066;">getMap</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getCenter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Si aprirà una finestra pop-up con le coordinate utilizzabile nel codice:</p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-23.png" alt="Latitudine e Longitudine" title="Latitudine e Longitudine" width="460" height="199" style="border:1px solid #aaa"></p>

	Tags: <a href="http://www.undolog.com/tag/google-maps/" title="Google-Maps" rel="tag">Google-Maps</a>, <a href="http://www.undolog.com/tag/hack/" title="Hack" rel="tag">Hack</a>, <a href="http://www.undolog.com/category/sviluppo/internet/" title="Internet" rel="tag">Internet</a>, <a href="http://www.undolog.com/category/sviluppo/internet/javascript/" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.undolog.com/tag/javascript/" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.undolog.com/tag/latitudine/" title="Latitudine" rel="tag">Latitudine</a>, <a href="http://www.undolog.com/tag/longitudine/" title="Longitudine" rel="tag">Longitudine</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/category/tecnologia/" title="Tecnologia" rel="tag">Tecnologia</a>, <a href="http://www.undolog.com/tag/tips-tricks/" title="tips-&amp;-tricks" rel="tag">tips-&amp;-tricks</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2008/05/14/google-maps-come-ottenere-latitudine-e-longitudine-da-un-indirizzo/" title="Google Maps: come ottenere Latitudine e Longitudine da un indirizzo (14 maggio, 2008)">Google Maps: come ottenere Latitudine e Longitudine da un indirizzo</a> (5)</li>
	<li><a href="http://www.undolog.com/2008/10/22/very-short-trick-valori-undefined-in-javascript/" title="Very short trick: valori undefined in Javascript (22 ottobre, 2008)">Very short trick: valori undefined in Javascript</a> (0)</li>
	<li><a href="http://www.undolog.com/2008/02/29/umap-flash-component-beta-v06/" title="UMap Flash Component (Beta v0.6) (29 febbraio, 2008)">UMap Flash Component (Beta v0.6)</a> (0)</li>
	<li><a href="http://www.undolog.com/2008/02/22/mapstraction-libreria-javascript-per-la-gestione-delle-mappe/" title="Mapstraction: libreria Javascript per la gestione delle mappe (22 febbraio, 2008)">Mapstraction: libreria Javascript per la gestione delle mappe</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/08/29/come-usare-google-maps-in-adobe-flash-cs4/" title="Come usare Google Maps in Adobe Flash CS4 (29 agosto, 2009)">Come usare Google Maps in Adobe Flash CS4</a> (4)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/ovsJHUlVjM0" height="1" width="1"/>]]></content:encoded><description>Per trovare le coordinate di un indirizzo, ovvero Latitudine e Longitudine, possiamo usare questo semplice e utile hack. Aprire il sito di Google Maps. Una volta sulla mappa cercate l'indirizzo che desiderate (ad esempio Via Cortese 10, Modena). Quando l'indirizzo è visualizzato sulla mappa, inserite questa riga nella barra indirizzi del browser:
PLAIN TEXT
JavaScript:




javascript:void&amp;#40;prompt&amp;#40;'',gApplication.getMap&amp;#40;&amp;#41;.getCenter&amp;#40;&amp;#41;&amp;#41;&amp;#41;;






Si aprirà una [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/08/31/come-ottenere-latitutine-e-longitudine-in-google-maps/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/08/31/come-ottenere-latitutine-e-longitudine-in-google-maps/</feedburner:origLink></item><item><title>Come usare Google Maps in Adobe Flash CS4</title><link>http://feedproxy.google.com/~r/undolog/~3/wJwFGUvA8r8/</link><category>Actionscript 3.0</category><category>Featured</category><category>Flash CS4</category><category>Tutorials</category><category>ActionScript</category><category>Adobe-Flash</category><category>api</category><category>Google Maps API</category><category>Google Maps API ActionScript Reference</category><category>Latitudine</category><category>Longitudine</category><category>Marker</category><category>Overlay</category><category>RIA</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Fri, 28 Aug 2009 15:34:40 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2360</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/RPSTqlaUSev3q30AsxYT1psPhec/0/da"><img src="http://feedads.g.doubleclick.net/~a/RPSTqlaUSev3q30AsxYT1psPhec/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/RPSTqlaUSev3q30AsxYT1psPhec/1/da"><img src="http://feedads.g.doubleclick.net/~a/RPSTqlaUSev3q30AsxYT1psPhec/1/di" border="0" ismap="true"></img></a></p><p>In <strong>Adobe Flash</strong> è possibile utilizzare un vasto assortimento di <strong>Web API</strong> esterne fornite da servizi come <a href="http://www.facebook.com" target="_blank">Facebook</a>, <a target="_blank" href="http://www.twitter.com">Twitter</a> o <a href="http://www.flickr.com" target="_blank">Flickr</a>. In questo tutorial vedremo come integrare, in modo davvero semplice, i servizi di <a href="http://code.google.com/intl/it-IT/apis/maps/documentation/flash/" target="_blank">Google Maps</a> in un filmato/applicazione Adobe Flash CS4. Premetto che il procedimento per poter utilizzare Google Maps in Flash è molto simile a quello che accade in HTML/Javascript (vedi per dettagli <a href="http://www.undolog.com/2007/01/23/come-inserire-google-map-nel-proprio-web/"><em>Come inserire Google Map nel proprio Web</em></a>).</p>
<h4>Download ed installazione delle SDK</h4>
<p>Per prima cosa memorizziamo nei bookmark del nostro browser l'indirizzo del sito <a href="http://code.google.com/intl/it-IT/apis/maps/documentation/flash/" target="_blank">Google Maps API per Flash</a>. Su questo sito troviamo tutto ciò che ci server per utilizzare le API di Google. Sulla destra della pagina è possibile accedere ad una serie di risorse, tra cui il <a target="_blank" href="http://maps.googleapis.com/maps/flash/release/sdk.zip">link per scaricare le SDK</a> da usare in Flash. Salvate lo ZIP sulla vostra scrivania (o Desktop) e scompattatelo. Nella cartella <code>sdk/lib</code> troverete un file chiamato <code>map_1_16.swc</code>. Copiate questo file nella clipboard (<code>Command-C</code> per Mac o <code>Ctrl-C</code> per PC) e posizionatelo all'interno di questo percorso:</p>
<div class="igBar"><span id="lcode-39"><a href="#" onclick="javascript:showCodeTxt('code-39'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">CODE:</span>
<div id="code-39">
<div class="code" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color:#FF9933; font-style:italic;">// Mac</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color:#006600; font-weight:bold;">&#91;</span>cartella utente<span style="color:#006600; font-weight:bold;">&#93;</span>/Library/Application Support/Adobe/Flash CS4/language/Configuration/Components</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color:#FF9933; font-style:italic;">// Windows</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color:#006600; font-weight:bold;">&#91;</span>cartella utente<span style="color:#006600; font-weight:bold;">&#93;</span>\Local Settings\Application Data\Adobe\Flash CS4\language\Configuration\Components</div>
</li>
</ol>
</div>
</div>
</div>
<p>
Se la cartella <code>Components</code> non esiste già, createla e in questa create una cartella <code>Google</code> e incollate il file <code>map_1_16.swc</code>. Se per caso avevate già aperto Flash (frettolosi...), chiudetelo e rapritelo, in modo che possa ricaricare il componente appena installato.</p>
<h4>Creiamo il filmato Flash</h4>
<p>A questo punto apriamo Flash e creiamo un nuovo filmato. Aprite la finestra <strong>Componenti</strong> e dovreste trovare Google Maps:</p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-21.png" alt="Google Maps Library" title="Google Maps Library" width="215" height="169" style="border:1px solid #aaa" /></p>
<p>Selezionate il componente <code>GoogleMapsLibrary</code> e trascinatelo nello stage. Nel primo frame del nostro filmato inserite il seguente semplice codice:</p>
<div class="igBar"><span id="lactionscript3-40"><a href="#" onclick="javascript:showCodeTxt('actionscript3-40'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript3-40">
<div class="actionscript3" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900; font-style: italic;">// Importo le classi Google Maps</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #0033ff; font-weight: bold;">import</span> com<span style="color: #000066; font-weight: bold;">.</span>google<span style="color: #000066; font-weight: bold;">.</span>maps<span style="color: #000066; font-weight: bold;">.*;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #0033ff; font-weight: bold;">import</span> com<span style="color: #000066; font-weight: bold;">.</span>google<span style="color: #000066; font-weight: bold;">.</span>maps<span style="color: #000066; font-weight: bold;">.</span>overlays<span style="color: #000066; font-weight: bold;">.*;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #0033ff; font-weight: bold;">import</span> com<span style="color: #000066; font-weight: bold;">.</span>google<span style="color: #000066; font-weight: bold;">.</span>maps<span style="color: #000066; font-weight: bold;">.</span>controls<span style="color: #000066; font-weight: bold;">.*;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #6699cc; font-weight: bold;">var</span> <span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">:</span>Map = <span style="color: #0033ff; font-weight: bold;">new</span> Map<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span>key &nbsp; &nbsp; = <span style="color: #990000;">&quot;API_KEY&quot;</span><span style="color: #000066; font-weight: bold;">;</span> <span style="color: #009900; font-style: italic;">// vedi sotto per ottenere una tua chiave</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900; font-style: italic;">// In questo esempio imposto la dimensione della Mappa Google della</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900; font-style: italic;">// stessa grandezza del filmato. In alternativa potete inserire le</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900; font-style: italic;">// dimensioni che preferite.</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span>setSize<span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> <a href="http://www.google.com/search?q=point%20inurl:http://livedocs.adobe.com/flex/201/langref/%20inurl:point.html"><span style="color: #004993;">Point</span></a><span style="color: #000000;">&#40;</span><span style="color: #004993;">stage</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">stageWidth</span><span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">stage</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">stageHeight</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #004993;">addChild</span><span style="color: #000000;">&#40;</span><span style="color: #004993;">map</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Nella riga 7 dovete sostituire la stringa <code>API_KEY</code> con la chiave di attivazione che fornisce Google. Per ottenerla basta tornare sul sito <a target="_blank" href="http://code.google.com/intl/it-IT/apis/maps/documentation/flash/">Google Maps API for Flash</a> e richiedere una <strong>API Key</strong> cliccando su <a target="_blank" href="http://code.google.com/apis/maps/signup.html">Sign up for a Google Maps API Key</a>. Quando vi verrà chiesto di <strong>inserire l'url del sito</strong> sul quale volete utilizzare il filmato Flash che accede alle API di Google, nel caso non lo sapete ancora o voletete semplicemente provare il filmato in locale, inserite <code>http://localost</code> e cliccate su <strong>Generate API Key</strong>:</p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-31.png" alt="Google API Key" title="Google API Key" width="504" height="168" style="border:1px solid #aaa" /></p>
<p>A questo punto possiamo già provare il filmato, ottenendo:</p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-22.png" alt="Filmato Flash con Google Maps" title="Filmato Flash con Google Maps" width="589" height="466" /></p>
<h4>Aggiungiamo qualche controllo</h4>
<p>Per prima cosa aggiungiamo i <a target="_blank" href="http://code.google.com/intl/it-IT/apis/maps/documentation/flash/controls.html">classici controlli</a> di <strong>Posizione</strong>, <strong>Zoom</strong> e <strong>Tipo Mappa</strong>. Per fare questo dobbiamo essere sicuri che la mappa sia pronta all'uso. Basta quindi creare un listener sull'evento <code>MapEvent.MAP_READY</code>. Aggiungiamo quindi le seguenti righe di codice:</p>
<div class="igBar"><span id="lactionscript3-41"><a href="#" onclick="javascript:showCodeTxt('actionscript3-41'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript3-41">
<div class="actionscript3" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900; font-style: italic;">// Aggiungiamo i controlli</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span><span style="color: #004993;">addEventListener</span><span style="color: #000000;">&#40;</span> MapEvent<span style="color: #000066; font-weight: bold;">.</span>MAP_READY<span style="color: #000066; font-weight: bold;">,</span> onMapReady <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #339966; font-weight: bold;">function</span> onMapReady<span style="color: #000000;">&#40;</span>e<span style="color: #000066; font-weight: bold;">:</span>MapEvent<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">:</span><span style="color: #0033ff; font-weight: bold;">void</span> <span style="color: #000000;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span>addControl<span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> PositionControl<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span>addControl<span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> ZoomControl<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span>addControl<span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> MapTypeControl<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000000;">&#125;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<h4>Impostiamo un indirizzo</h4>
<p>A questo punto possiamo impostare la mappa in modo che visualizzi un indirizzo specifico, come la sede della mia società <a target="_blank" href="http://www.saidmade.com">Saidmade</a> a Modena - o qualsiasi altro indirizzo che preferite.<br />
<strong>Suggerimento:</strong> per trovare le coordinate del nostro indirizzo, ovvero <strong>Latitudine e Longitudine</strong>, possiamo usare questo semplice e utile <strong>hack</strong>. Aprire il sito di <a target="_blank" href="http://maps.google.it/maps">Google Maps</a>. Una volta sulla mappa cercate l'indirizzo che desiderate (ad esempio Via Cortese 10, Modena). Quando l'indirizzo è visualizzato sulla mappa, inserite questa riga nella barra indirizzi del browser:</p>
<div class="igBar"><span id="ljavascript-42"><a href="#" onclick="javascript:showCodeTxt('javascript-42'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-42">
<div class="javascript" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">javascript<span style="color: #339933;">:</span><span style="color: #000066; font-weight: bold;">void</span><span style="color: #009900;">&#40;</span><span style="color: #000066;">prompt</span><span style="color: #009900;">&#40;</span><span style="color: #3366CC;">''</span><span style="color: #339933;">,</span>gApplication.<span style="color: #660066;">getMap</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">getCenter</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Si aprirà una finestra pop-up con le coordinate utilizzabile nel codice:</p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-23.png" alt="Latitudine e Longitudine" title="Latitudine e Longitudine" width="460" height="199" style="border:1px solid #aaa" /></p>
<p>Torniamo ad ActionScript e aggiungiamo le seguenti righe di codice nella funzione <code>onMapReady()</code>:</p>
<div class="igBar"><span id="lactionscript3-43"><a href="#" onclick="javascript:showCodeTxt('actionscript3-43'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript3-43">
<div class="actionscript3" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900; font-style: italic;">// centro la mappa su una specifica località</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span>setCenter<span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> LatLng<span style="color: #000000;">&#40;</span> 44<span style="color: #000066; font-weight: bold;">.</span>639828<span style="color: #000066; font-weight: bold;">,</span> 10<span style="color: #000066; font-weight: bold;">.</span>941795<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">,</span> 18<span style="color: #000066; font-weight: bold;">,</span> MapType<span style="color: #000066; font-weight: bold;">.</span>SATELLITE_MAP_TYPE <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
Eseguiamo il filmato:</p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-5.png" alt="La sede di Saidmade Srl" title="La sede di Saidmade Srl" width="587" height="460" /></p>
<h4>Aggiungiamo un Marker</h4>
<p>Sempre all'interno della funzione <code>onMapReady()</code> aggiungiamo le seguenti righe di codice:</p>
<div class="igBar"><span id="lactionscript3-44"><a href="#" onclick="javascript:showCodeTxt('actionscript3-44'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript3-44">
<div class="actionscript3" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900; font-style: italic;">// aggiungiamo il default marker</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #6699cc; font-weight: bold;">var</span> m<span style="color: #000066; font-weight: bold;">:</span>Marker = <span style="color: #0033ff; font-weight: bold;">new</span> Marker<span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> LatLng<span style="color: #000000;">&#40;</span> 44<span style="color: #000066; font-weight: bold;">.</span>639828<span style="color: #000066; font-weight: bold;">,</span> 10<span style="color: #000066; font-weight: bold;">.</span>941795<span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span>addOverlay<span style="color: #000000;">&#40;</span>m<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-6.png" alt="Marker overlay" title="Marker overlay" width="591" height="467" class="alignnone size-full wp-image-2391" /></p>
<p>I Marker possono essere personalizzati a piacimento, sia tramite gli stili fornite dalle API stesse di Google, sia tramite Flash. Ad esempio aggiungendo questa <code>import</code> all'inizio del codice:</p>
<div class="igBar"><span id="lactionscript3-45"><a href="#" onclick="javascript:showCodeTxt('actionscript3-45'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript3-45">
<div class="actionscript3" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #0033ff; font-weight: bold;">import</span> com<span style="color: #000066; font-weight: bold;">.</span>google<span style="color: #000066; font-weight: bold;">.</span>maps<span style="color: #000066; font-weight: bold;">.</span>styles<span style="color: #000066; font-weight: bold;">.*;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
e sostituiendo il codice di creazione Marker visto prima con:</p>
<div class="igBar"><span id="lactionscript3-46"><a href="#" onclick="javascript:showCodeTxt('actionscript3-46'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript3-46">
<div class="actionscript3" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900; font-style: italic;">// aggiungiamo il default marker</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #6699cc; font-weight: bold;">var</span> m<span style="color: #000066; font-weight: bold;">:</span>Marker = <span style="color: #0033ff; font-weight: bold;">new</span> Marker<span style="color: #000000;">&#40;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; <span style="color: #0033ff; font-weight: bold;">new</span> LatLng<span style="color: #000000;">&#40;</span>44<span style="color: #000066; font-weight: bold;">.</span>639828<span style="color: #000066; font-weight: bold;">,</span> 10<span style="color: #000066; font-weight: bold;">.</span>941795<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">,</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; <span style="color: #0033ff; font-weight: bold;">new</span> MarkerOptions<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp;strokeStyle<span style="color: #000066; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">new</span> StrokeStyle<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#123;</span><span style="color: #004993;">color</span><span style="color: #000066; font-weight: bold;">:</span> 0x987654<span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">,</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp;fillStyle<span style="color: #000066; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">new</span> FillStyle<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#123;</span><span style="color: #004993;">color</span><span style="color: #000066; font-weight: bold;">:</span> 0x223344<span style="color: #000066; font-weight: bold;">,</span> <span style="color: #004993;">alpha</span><span style="color: #000066; font-weight: bold;">:</span> 0<span style="color: #000066; font-weight: bold;">.</span>8<span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">,</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp;radius<span style="color: #000066; font-weight: bold;">:</span> 12<span style="color: #000066; font-weight: bold;">,</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp;hasShadow<span style="color: #000066; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">true</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #000000;">&#125;</span><span style="color: #000000;">&#41;</span><span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span>addOverlay<span style="color: #000000;">&#40;</span>m<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p>
otteniamo il seguento effetto:</p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-7.png" alt="Personalizzare il Marker" title="Personalizzare il Marker" width="584" height="463" /></p>
<p>In alternativa è possibile associare <strong>direttamente un MovieClip</strong> come Marker. Essendo un MovieClip, ovviamente, esso potrà contenere <strong>animazioni</strong>, <strong>video</strong> o qualsiasi altro tipo di contenuto interattivo <strong>supportato in Flash</strong>. Inoltre è possibile disegnare linee e forme così da creare delle mappe interattive e ricche di contenuti multimediali.<br />
Per aggiungere un MovieClip e sufficiente crearlo, usando ad esempio un'immagine o un'animazione Flash, e impostare le sue proprietà in questo modo:</p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/property.jpg" alt="Impostazione proprietà MovieClip usato come Marker" title="Impostazione proprietà MovieClip usato come Marker" width="480" height="520" /></p>
<p>Fatto questo modificate il codice di creazione Marker in:</p>
<div class="igBar"><span id="lactionscript3-47"><a href="#" onclick="javascript:showCodeTxt('actionscript3-47'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">Actionscript:</span>
<div id="actionscript3-47">
<div class="actionscript3" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900; font-style: italic;">// aggiungiamo il default marker</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #6699cc; font-weight: bold;">var</span> m<span style="color: #000066; font-weight: bold;">:</span>Marker = <span style="color: #0033ff; font-weight: bold;">new</span> Marker<span style="color: #000000;">&#40;</span> <span style="color: #0033ff; font-weight: bold;">new</span> LatLng<span style="color: #000000;">&#40;</span>44<span style="color: #000066; font-weight: bold;">.</span>639828<span style="color: #000066; font-weight: bold;">,</span> 10<span style="color: #000066; font-weight: bold;">.</span>941795<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">,</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;<span style="color: #0033ff; font-weight: bold;">new</span> MarkerOptions<span style="color: #000000;">&#40;</span> <span style="color: #000000;">&#123;</span>icon<span style="color: #000066; font-weight: bold;">:</span> <span style="color: #0033ff; font-weight: bold;">new</span> myMarkerMovieClip<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#125;</span> <span style="color: #000000;">&#41;</span> <span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #004993;">map</span><span style="color: #000066; font-weight: bold;">.</span>addOverlay<span style="color: #000000;">&#40;</span>m<span style="color: #000000;">&#41;</span><span style="color: #000066; font-weight: bold;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-9.png" alt="Un Marker davvero speciale" title="Un Marker davvero speciale" width="587" height="466" /></p>
<p>Tutte le informazioni sulle API, le classi, metodi, eventi e proprietà sono disponibili su <a target="_blank" href="http://code.google.com/intl/it-IT/apis/maps/documentation/flash/reference.html">Google Maps API ActionScript Reference</a>.<br />
Inoltre l'intero pacchetto è stato recentemente aggiornato con molte novità interessanti, come le <a target="_blank" href="http://code.google.com/intl/it-IT/apis/maps/documentation/flash/3d-maps.html">Mappe 3D</a>.</p>

	Tags: <a href="http://www.undolog.com/tag/actionscript/" title="ActionScript" rel="tag">ActionScript</a>, <a href="http://www.undolog.com/category/sviluppo/flash-cs3/actionscript-30/" title="Actionscript 3.0" rel="tag">Actionscript 3.0</a>, <a href="http://www.undolog.com/tag/adobe-flash/" title="Adobe-Flash" rel="tag">Adobe-Flash</a>, <a href="http://www.undolog.com/tag/api/" title="api" rel="tag">api</a>, <a href="http://www.undolog.com/category/featured/" title="Featured" rel="tag">Featured</a>, <a href="http://www.undolog.com/tag/flash-cs4/" title="Flash CS4" rel="tag">Flash CS4</a>, <a href="http://www.undolog.com/category/sviluppo/flash-cs4-sviluppo/" title="Flash CS4" rel="tag">Flash CS4</a>, <a href="http://www.undolog.com/tag/google-maps-api/" title="Google Maps API" rel="tag">Google Maps API</a>, <a href="http://www.undolog.com/tag/google-maps-api-actionscript-reference/" title="Google Maps API ActionScript Reference" rel="tag">Google Maps API ActionScript Reference</a>, <a href="http://www.undolog.com/tag/latitudine/" title="Latitudine" rel="tag">Latitudine</a>, <a href="http://www.undolog.com/tag/longitudine/" title="Longitudine" rel="tag">Longitudine</a>, <a href="http://www.undolog.com/tag/marker/" title="Marker" rel="tag">Marker</a>, <a href="http://www.undolog.com/tag/overlay/" title="Overlay" rel="tag">Overlay</a>, <a href="http://www.undolog.com/tag/ria/" title="RIA" rel="tag">RIA</a>, <a href="http://www.undolog.com/category/tutorials/" title="Tutorials" rel="tag">Tutorials</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2007/02/13/web20-adobe-ci-prova-con-apollo/" title="Web2.0: Adobe ci prova con Apollo? (13 febbraio, 2007)">Web2.0: Adobe ci prova con Apollo?</a> (2)</li>
	<li><a href="http://www.undolog.com/2007/03/12/web20-gran-paradiso-firefox-30-e-apollo/" title="Web2.0: Gran Paradiso-Firefox 3.0 e Apollo (12 marzo, 2007)">Web2.0: Gran Paradiso-Firefox 3.0 e Apollo</a> (2)</li>
	<li><a href="http://www.undolog.com/2008/02/29/umap-flash-component-beta-v06/" title="UMap Flash Component (Beta v0.6) (29 febbraio, 2008)">UMap Flash Component (Beta v0.6)</a> (0)</li>
	<li><a href="http://www.undolog.com/2007/03/15/papervision3d/" title="Papervision3D (15 marzo, 2007)">Papervision3D</a> (0)</li>
	<li><a href="http://www.undolog.com/2007/03/02/net-software/" title="Net Software (2 marzo, 2007)">Net Software</a> (0)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/wJwFGUvA8r8" height="1" width="1"/>]]></content:encoded><description>Tutorial su come utilizzare le API di Google Maps in Adobe Flash CS4, per creare mappe interattive davvero accativanti con effetti (anche 3D) spettacolari</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/08/29/come-usare-google-maps-in-adobe-flash-cs4/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">4</slash:comments><feedburner:origLink>http://www.undolog.com/2009/08/29/come-usare-google-maps-in-adobe-flash-cs4/</feedburner:origLink></item><item><title>Photoshop tutorial: effetti con le ombre</title><link>http://feedproxy.google.com/~r/undolog/~3/jFc5h4F-qds/</link><category>Case Study</category><category>Featured</category><category>Grafica &amp; Design</category><category>Photoshop</category><category>Tutorials</category><category>Effetti</category><category>shadow</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Thu, 27 Aug 2009 16:16:01 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2338</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/ZydoiK7BU7PRjH2jxdEq2RTuvdY/0/da"><img src="http://feedads.g.doubleclick.net/~a/ZydoiK7BU7PRjH2jxdEq2RTuvdY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ZydoiK7BU7PRjH2jxdEq2RTuvdY/1/da"><img src="http://feedads.g.doubleclick.net/~a/ZydoiK7BU7PRjH2jxdEq2RTuvdY/1/di" border="0" ismap="true"></img></a></p><p>In questo tutorial voglio mostrarvi alcune effetti particolari che si possono applicare ad un semplice oggetto rettangolare giocando con le <strong>ombre</strong>. Ovviamente non mi riferisco all'effetto <strong><em>shadow</em></strong> applicabile su un layer, ma a vere e proprie ombre realizzate manualmente. Prima di tutto disegniamo su un layer un rettangolo tipo questo:</p>
<p class="center"><img title="Rettangolo" src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-1.png" alt="Rettangolo" width="210" height="206" /></p>
<p>Gli effetti che si possono creare sono vari e le varianti si basano tutte sul medesimo procedimento, lasciando ampio spazio all'immaginazione. Ecco alcuni esempi:</p>
<p class="center"><img title="Effeti ombra" src="http://www.undolog.com/wp-content/uploads/2009/08/shadow.jpg" alt="Effeti ombra" width="640" height="235" /></p>
<p>Tutti questi effetti hanno in comune l'estrema semplicità della loro realizzazione. Per realizzarli, infatti, è sufficiente <strong>aggiungere un layer sotto il nostro rettangolo</strong>, che sarà il layer ombra. Su questo traccieremo un'immagine (nera) identica al rettangolo originale. Per fare questo si può procedere in vari modi, dipendenti dalla complessità della forma principale. Nel nostro caso è possibile selezionare i contorni del rettangolo <strong>cliccando sul layer mantenendo premuto il tasto Command</strong> (Control su PC). Ottenuta la selezione clicchiamo sul layer ombra e riempiamolo del colore nero:</p>
<ul>
<li>Tasto destro del mouse sulla selezione e click su Riempi</li>
<li>Command + Cancel (ALT + Cancel su PC) se avete impostato il colore nero come colore di sfondo</li>
</ul>
<p>A questo punto applichiamo un effetto <strong>Sfocatura</strong> al layer ombra: dal menu <strong>Filtri </strong>selezionate <strong>Sfocatura-&gt;Controllo sfocatura...</strong> e inserito un valore di 3/4 a seconda del gusto. Ora ridimensionate l'ombra (che con la sfocatura sarà visibile sotto il nostro rettangolo) di un 90%. Fatto questo non rimane che <strong>decidere il tipo di effetto ombra da applicare</strong>. Potete infatti distorcere il layer con l'apposita funzione presente nel menu <strong>Modifica</strong>:</p>
<p class="center"><img style="border:1px solid #aaa" title="Altera immagine" src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-11.png" alt="Altera immagine" width="482" height="240" /></p>
<p>Arrivati a questo punto la vostra immaginazione determinerà il risultato finale. Se non volete <strong>Alterare </strong>manualmente l'ombra potete sfruttare alcune delle distorsioni predefinite nel menu che trovate in alto a destra:</p>
<p class="center"><img style="border:1px solid #aaa" title="Arcata" src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-3.png" alt="Arcata" width="226" height="364" /></p>
<p>Selezionando <strong>Arcata</strong>, ad esempio, potete aggiustare la deformazione e ricreare l'ultimo effetto mostrato negli esempi di sopra. Giocando poi con la trasparenza e le simmetrie è possibile ottenere:</p>
<p class="center"><img title="Trasparenza e simmetria" src="http://www.undolog.com/wp-content/uploads/2009/08/Immagine-2.png" alt="Trasparenza e simmetria" width="488" height="225" /></p>

	Tags: <a href="http://www.undolog.com/category/grafica-design/photoshop/case-study/" title="Case Study" rel="tag">Case Study</a>, <a href="http://www.undolog.com/tag/effetti/" title="Effetti" rel="tag">Effetti</a>, <a href="http://www.undolog.com/category/featured/" title="Featured" rel="tag">Featured</a>, <a href="http://www.undolog.com/category/grafica-design/" title="Grafica &amp; Design" rel="tag">Grafica &amp; Design</a>, <a href="http://www.undolog.com/tag/grafica-design/" title="Grafica &amp; Design" rel="tag">Grafica &amp; Design</a>, <a href="http://www.undolog.com/category/grafica-design/photoshop/" title="Photoshop" rel="tag">Photoshop</a>, <a href="http://www.undolog.com/tag/photoshop/" title="Photoshop" rel="tag">Photoshop</a>, <a href="http://www.undolog.com/tag/shadow/" title="shadow" rel="tag">shadow</a>, <a href="http://www.undolog.com/category/tutorials/" title="Tutorials" rel="tag">Tutorials</a>, <a href="http://www.undolog.com/tag/tutorials/" title="Tutorials" rel="tag">Tutorials</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2008/06/30/photoshop-tutorial-tecniche-di-riflessione/" title="Photoshop tutorial: tecniche di riflessione (30 giugno, 2008)">Photoshop tutorial: tecniche di riflessione</a> (9)</li>
	<li><a href="http://www.undolog.com/2008/02/26/photoshop-tutorial-pianeta-con-sole-che-sorge/" title="Photoshop tutorial: pianeta con sole che sorge (26 febbraio, 2008)">Photoshop tutorial: pianeta con sole che sorge</a> (4)</li>
	<li><a href="http://www.undolog.com/2008/02/29/photoshop-tutorial-icone-stile-web-20-in-3-passi/" title="Photoshop tutorial: icone stile web 2.0 in 3 passi (29 febbraio, 2008)">Photoshop tutorial: icone stile web 2.0 in 3 passi</a> (17)</li>
	<li><a href="http://www.undolog.com/2008/03/07/photoshop-tutorial-effetto-foglio-piegato/" title="Photoshop tutorial: effetto foglio piegato (7 marzo, 2008)">Photoshop tutorial: effetto foglio piegato</a> (15)</li>
	<li><a href="http://www.undolog.com/2009/03/30/photoshop-tutorial-curvare-un-testo-a-piacimento/" title="Photoshop tutorial: curvare un testo a piacimento (30 marzo, 2009)">Photoshop tutorial: curvare un testo a piacimento</a> (8)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/jFc5h4F-qds" height="1" width="1"/>]]></content:encoded><description>Come ottenere effetti particolari con ombre personalizzate costruite con layer appositamente distorti e manipolati</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/08/28/photoshop-tutorial-effetti-con-le-ombre/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/08/28/photoshop-tutorial-effetti-con-le-ombre/</feedburner:origLink></item><item><title>Come impostare XCode per usare l’iPhone al posto del simulatore</title><link>http://feedproxy.google.com/~r/undolog/~3/cs5KOgJeUhk/</link><category>Featured</category><category>Mobile</category><category>Sviluppo</category><category>Tutorials</category><category>iPhone</category><category>Apple</category><category>Debug</category><category>Device</category><category>Screencast</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Wed, 26 Aug 2009 16:05:21 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2319</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/fmeuolFLCF9Opbk0WMYnhiC4QLg/0/da"><img src="http://feedads.g.doubleclick.net/~a/fmeuolFLCF9Opbk0WMYnhiC4QLg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/fmeuolFLCF9Opbk0WMYnhiC4QLg/1/da"><img src="http://feedads.g.doubleclick.net/~a/fmeuolFLCF9Opbk0WMYnhiC4QLg/1/di" border="0" ismap="true"></img></a></p><p class="center"><img src="http://www.undolog.com/wp-content/uploads/2009/08/imgartscreen.png" alt="Screencast" title="Screencast" width="595" height="193" /></p>
<p>In rete ho trovato un bellissimo <a target="_blank" href="http://www.mobileorchard.com/iphone-development-provisioning/"><strong>screencast</strong></a> su come configurare il nostro <em>device</em> <strong>iPhone</strong> in modo da poterlo utilizzare per il test di un'applicazione; al posto quindi del simulatore. Lo <a target="_blank" href="http://www.mobileorchard.com/iphone-development-provisioning/">screencast</a> dura circa sette minuti e ci guiderà passo per passo su tutto il processo di configurazione dell'ambiente XCode, la richiesta dei certificati, etc... così da poter lanciare il codice sorgente sul dispositivo <strong>iPhone</strong>. Contestualmente allo <a target="_blank" href="http://www.mobileorchard.com/iphone-development-provisioning/">screencast</a> potete avvalervi anche di una spiegazione testuale presente nel pacchetto.</p>

	Tags: <a href="http://www.undolog.com/tag/apple/" title="Apple" rel="tag">Apple</a>, <a href="http://www.undolog.com/tag/debug/" title="Debug" rel="tag">Debug</a>, <a href="http://www.undolog.com/tag/device/" title="Device" rel="tag">Device</a>, <a href="http://www.undolog.com/category/featured/" title="Featured" rel="tag">Featured</a>, <a href="http://www.undolog.com/tag/iphone/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/sviluppo/iphone-sviluppo/" title="iPhone" rel="tag">iPhone</a>, <a href="http://www.undolog.com/category/mobile/" title="Mobile" rel="tag">Mobile</a>, <a href="http://www.undolog.com/tag/screencast/" title="Screencast" rel="tag">Screencast</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/tag/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a>, <a href="http://www.undolog.com/category/tutorials/" title="Tutorials" rel="tag">Tutorials</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2009/07/20/xcode-consigli-sul-debugging-preferences/" title="XCode: consigli sul Debugging Preferences (20 luglio, 2009)">XCode: consigli sul Debugging Preferences</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/23/xcode-shortcut/" title="Xcode shortcut (23 luglio, 2009)">Xcode shortcut</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/06/16/very-short-trick-fermare-nstimer/" title="Very short trick: fermare NSTimer (16 giugno, 2009)">Very short trick: fermare NSTimer</a> (0)</li>
	<li><a href="http://www.undolog.com/2009/07/27/objective-c-unalternativa-alluso-di-cgrectmake/" title="Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake (27 luglio, 2009)">Objective-C: un&#8217;alternativa all&#8217;uso di CGRectMake</a> (2)</li>
	<li><a href="http://www.undolog.com/2009/06/29/iphone-tutti-i-font-di-sistema/" title="iPhone: tutti i font di sistema (29 giugno, 2009)">iPhone: tutti i font di sistema</a> (0)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/cs5KOgJeUhk" height="1" width="1"/>]]></content:encoded><description>Uno screencast di sette minuti completo di ogni dettaglio</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/08/27/come-impostare-xcode-per-usare-liphone-al-posto-del-simulatore/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">0</slash:comments><feedburner:origLink>http://www.undolog.com/2009/08/27/come-impostare-xcode-per-usare-liphone-al-posto-del-simulatore/</feedburner:origLink></item><item><title>Impedire la propagazione degli eventi con jQuery</title><link>http://feedproxy.google.com/~r/undolog/~3/I6odqLU6c3M/</link><category>Internet</category><category>Javascript</category><category>Sviluppo</category><category>jQuery</category><category>Bubbling</category><category>Event Bubbling</category><category>eventi</category><category>preventDefault()</category><category>stopPropagation()</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Giovambattista Fazioli</dc:creator><pubDate>Fri, 21 Aug 2009 02:53:39 PDT</pubDate><guid isPermaLink="false">http://www.undolog.com/?p=2308</guid><content:encoded xmlns:content="http://purl.org/rss/1.0/modules/content/"><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/DCWDviIQPr5dUfrfKXhSp1NEwKs/0/da"><img src="http://feedads.g.doubleclick.net/~a/DCWDviIQPr5dUfrfKXhSp1NEwKs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/DCWDviIQPr5dUfrfKXhSp1NEwKs/1/da"><img src="http://feedads.g.doubleclick.net/~a/DCWDviIQPr5dUfrfKXhSp1NEwKs/1/di" border="0" ismap="true"></img></a></p><p>Due elementi del DOM HTML sovrapposti, entrambi sensibili ad un evento <code>click</code>, soffrono dell'annoso problema della propagazione degi eventi tra gli strati del DOM stesso: il cosidetto <strong>event bubbling</strong>. Questo comportamento (che ritroviamo anche in altri ambienti di sviluppo: vedi <a href="http://www.undolog.com/2008/10/14/actionscript-30-movieclip-over-movieclip/"><em>Actionscript 3.0: MovieClip over MovieClip</em></a>) è di per se utile in moltissimi casi. Tuttavia, in altri, genera non pochi problemi. Ad esempio immaginiamo di avere un <code>div</code> contenitore sensibile all'evento <code>click</code>. Sovrapposto a questo troviamo un classico link anchor <code>a</code>. Cliccando sul link oltre al "cambio pagina" scatterà l'evento associato al <code>div</code> contenitore. Per impedire la propagazione dell'evento click dall'anchor <code>a</code> al <code>div</code> contenitore, possiamo usare <a target="_blank" href="http://jquery.com">jQuery</a> in questo modo:</p>
<div class="igBar"><span id="lhtml-50"><a href="#" onclick="javascript:showCodeTxt('html-50'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">HTML:</span>
<div id="html-50">
<div class="html" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;"><a href="http://december.com/html/4/element/%26amp%3Blt%3CSEMI%3Ediv.html"><span style="color: #000000; font-weight: bold;">&lt;div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;box&quot;</span><a href="http://december.com/html/4/element/%26amp%3Bgt%3CSEMI%3E.html"><span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;<span style="color: #009900;"><a href="http://december.com/html/4/element/%26amp%3Blt%3CSEMI%3Ea.html"><span style="color: #000000; font-weight: bold;">&lt;a</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;mylink&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span><a href="http://december.com/html/4/element/%26amp%3Bgt%3CSEMI%3E.html"><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>Link<span style="color: #009900;"><a href="http://december.com/html/4/element/%26amp%3Blt%3CSEMI%3E%2Fa%26amp%3Bgt%3CSEMI%3E.html"><span style="color: #000000; font-weight: bold;">&lt;/a&gt;</span></a></span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;"><a href="http://december.com/html/4/element/%26amp%3Blt%3CSEMI%3E%2Fdiv%26amp%3Bgt%3CSEMI%3E.html"><span style="color: #000000; font-weight: bold;">&lt;/div&gt;</span></a></span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- oppure --&gt;</span></span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;</div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;"><a href="http://december.com/html/4/element/%26amp%3Blt%3CSEMI%3Ediv.html"><span style="color: #000000; font-weight: bold;">&lt;div</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;box&quot;</span><a href="http://december.com/html/4/element/%26amp%3Bgt%3CSEMI%3E.html"><span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp;<span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- contenuto --&gt;</span></span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;"><a href="http://december.com/html/4/element/%26amp%3Blt%3CSEMI%3E%2Fdiv%26amp%3Bgt%3CSEMI%3E.html"><span style="color: #000000; font-weight: bold;">&lt;/div&gt;</span></a></span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;"><span style="color: #808080; font-style: italic;">&lt;!-- questo anchor ha gli stili impostati in modo tale da trovarsi in position absolute o relative e quindi sovrapposto al div contenitore --&gt;</span></span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;"><a href="http://december.com/html/4/element/%26amp%3Blt%3CSEMI%3Ea.html"><span style="color: #000000; font-weight: bold;">&lt;a</span></a> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;mylink&quot;</span> <span style="color: #000066;">href</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;#&quot;</span><a href="http://december.com/html/4/element/%26amp%3Bgt%3CSEMI%3E.html"><span style="color: #000000; font-weight: bold;">&gt;</span></a></span>Link<span style="color: #009900;"><a href="http://december.com/html/4/element/%26amp%3Blt%3CSEMI%3E%2Fa%26amp%3Bgt%3CSEMI%3E.html"><span style="color: #000000; font-weight: bold;">&lt;/a&gt;</span></a></span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>
<p>Tramite jQuery è possibile impedire che l'evento <code>click</code> sul tag anchor <code>a</code> si propaghi agli elementi sottostanti:</p>
<div class="igBar"><span id="ljavascript-51"><a href="#" onclick="javascript:showCodeTxt('javascript-51'); return false;">PLAIN TEXT</a></span></div>
<div class="syntax_hilite"><span class="langName">JavaScript:</span>
<div id="javascript-51">
<div class="javascript" style="font-family:monospace;">
<ol>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">$<span style="color: #009900;">&#40;</span><span style="color: #3366CC;">'a#mylink'</span><span style="color: #009900;">&#41;</span>.<span style="color: #660066;">click</span><span style="color: #009900;">&#40;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">function</span><span style="color: #009900;">&#40;</span>event<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; document.<span style="color: #660066;">location</span> <span style="color: #339933;">=</span> event.<span style="color: #660066;">target</span>.<span style="color: #660066;">href</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; event.<span style="color: #660066;">stopPropagation</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; &nbsp; &nbsp; event.<span style="color: #660066;">preventDefault</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
<li style="font-weight: bold; vertical-align:top;color:#FF9900;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;">&nbsp; &nbsp; <span style="color: #009900;">&#125;</span></div>
</li>
<li style="font-weight: normal; vertical-align:top;color:#758DB8;">
<div style="font: normal normal 1em/1.2em monospace; margin:0; padding:0; background:none; vertical-align:top;"><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></div>
</li>
</ol>
</div>
</div>
</div>
<p></p>

	Tags: <a href="http://www.undolog.com/tag/bubbling/" title="Bubbling" rel="tag">Bubbling</a>, <a href="http://www.undolog.com/tag/event-bubbling/" title="Event Bubbling" rel="tag">Event Bubbling</a>, <a href="http://www.undolog.com/tag/eventi/" title="eventi" rel="tag">eventi</a>, <a href="http://www.undolog.com/category/sviluppo/internet/" title="Internet" rel="tag">Internet</a>, <a href="http://www.undolog.com/category/sviluppo/internet/javascript/" title="Javascript" rel="tag">Javascript</a>, <a href="http://www.undolog.com/tag/jquery/" title="jQuery" rel="tag">jQuery</a>, <a href="http://www.undolog.com/category/sviluppo/internet/javascript/jquery-javascript-internet-sviluppo/" title="jQuery" rel="tag">jQuery</a>, <a href="http://www.undolog.com/tag/preventdefault/" title="preventDefault()" rel="tag">preventDefault()</a>, <a href="http://www.undolog.com/tag/stoppropagation/" title="stopPropagation()" rel="tag">stopPropagation()</a>, <a href="http://www.undolog.com/category/sviluppo/" title="Sviluppo" rel="tag">Sviluppo</a><br />

	<h4>Post correlati</h4>
	<ul class="st-related-posts">
	<li><a href="http://www.undolog.com/2008/10/03/wordpress-come-scrivere-un-reply-to-comment-usando-jquery/" title="Wordpress: come scrivere un reply to comment usando jQuery (3 ottobre, 2008)">Wordpress: come scrivere un reply to comment usando jQuery</a> (18)</li>
	<li><a href="http://www.undolog.com/2008/10/24/wordpress-come-creare-passo-passo-un-proprio-login/" title="Wordpress: come creare passo passo un proprio login (24 ottobre, 2008)">Wordpress: come creare passo passo un proprio login</a> (21)</li>
	<li><a href="http://www.undolog.com/2008/12/22/wordpress-plugin-flash-feed-scroll-reader/" title="Wordpress Plugin: Flash Feed Scroll Reader (22 dicembre, 2008)">Wordpress Plugin: Flash Feed Scroll Reader</a> (7)</li>
	<li><a href="http://www.undolog.com/2009/01/06/very-short-trick-addeventlistener-as3-un-handler-piu-eventi/" title="Very short trick: addEventListener() AS3, un handler più eventi (6 gennaio, 2009)">Very short trick: addEventListener() AS3, un handler più eventi</a> (1)</li>
	<li><a href="http://www.undolog.com/2008/12/15/very-short-snippet-jquery-auto-target-blank-link/" title="Very short snippet: jQuery auto target blank link (15 dicembre, 2008)">Very short snippet: jQuery auto target blank link</a> (3)</li>
</ul>

<img src="http://feeds.feedburner.com/~r/undolog/~4/I6odqLU6c3M" height="1" width="1"/>]]></content:encoded><description>Due elementi del DOM HTML sovrapposti, entrambi sensibili ad un evento click, soffrono dell'annoso problema della propagazione degi eventi tra gli strati del DOM stesso: il cosidetto event bubbling. Questo comportamento (che ritroviamo anche in altri ambienti di sviluppo: vedi Actionscript 3.0: MovieClip over MovieClip) è di per se utile in moltissimi casi. Tuttavia, in [...]</description><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.undolog.com/2009/08/21/impedire-la-propagazione-degli-eventi-con-jquery/feed/</wfw:commentRss><slash:comments xmlns:slash="http://purl.org/rss/1.0/modules/slash/">1</slash:comments><feedburner:origLink>http://www.undolog.com/2009/08/21/impedire-la-propagazione-degli-eventi-con-jquery/</feedburner:origLink></item></channel></rss>
