<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://ronua.ro/CS/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Catalin's Blog</title><link>http://ronua.ro/CS/blogs/catalin/default.aspx</link><description /><dc:language>en</dc:language><generator>CommunityServer 2008.5 SP3 (Build: 36.8414)</generator><item><title>Fresh from TechEd North America</title><link>http://ronua.ro/CS/blogs/catalin/archive/2010/06/15/fresh-from-teched-north-america.aspx</link><pubDate>Tue, 15 Jun 2010 11:12:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:216081</guid><dc:creator>MrSmersh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=216081</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2010/06/15/fresh-from-teched-north-america.aspx#comments</comments><description>&lt;p&gt;Silverlight CE called from .Net Compact...&lt;/p&gt;
&lt;p&gt;Totul a plecat de la o discutie cu membrii din echipa finalista la ImagineCup sectiunea embedded EcoSyntesys (&lt;a href="http://imaginecup.com/MyStuff/MyTeam.aspx?TeamId=21599"&gt;http://imaginecup.com/MyStuff/MyTeam.aspx?TeamId=21599&lt;/a&gt;). Care tot insistau ca Silverlight e&amp;nbsp;numai si numai din&amp;nbsp;C++...&lt;/p&gt;
&lt;p&gt;OK inainte de a cadea in confuzia nume si terminologii sa facem lumina. &lt;br /&gt;Vorbim de Windows Embedded care are Silverlight, scris tot nativ (C++), si care&amp;nbsp;e cel mai usor de folosit din C++. Nu intram in dicutia cu Windows Mobile e bazat pe.., nu are... ,pe cind..., WP7 etc... Cum mai zic eu, your decision, your&amp;nbsp;&amp;nbsp;funeral &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;br /&gt;V-ati dat seama ca eu insistam ca se poate si din Compact Framework ca vazusem ceva si si auzisem... Si deci prezentarea de la TechEd de anu asta in care Andy Wigley arata cum se face &lt;a href="http://www.msteched.com/2010/NorthAmerica/WEM309"&gt;http://www.msteched.com/2010/NorthAmerica/WEM309&lt;/a&gt;&amp;nbsp;si in completare codul sursa de la el pe blog &lt;a href="http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/06/10/programming-silverlight-for-windows-embedded-from-net.aspx"&gt;http://mobileworld.appamundi.com/blogs/andywigley/archive/2010/06/10/programming-silverlight-for-windows-embedded-from-net.aspx&lt;/a&gt;&amp;nbsp;. Da interop pe piiine dar cum zice el in prezentare, daca esti in zona asta de dezvoltare ...&amp;nbsp;&lt;br /&gt;Cum terminam ce facem acuma,&amp;nbsp;si e &amp;quot;soft&amp;quot;, adica iara hard custom si comanda lui&amp;nbsp;si alte din astea, ne punem sa incercam&amp;nbsp;ca, desi imi place C++ si am lucrat ceva destul in, avantajele managed exista. Si UI e durerea in&amp;nbsp;Windows Embedded\Mobile acuma.&lt;/p&gt;
&lt;p&gt;Continui ca recomandare blogurile de la appamundy (&lt;a href="http://mobileworld.appamundi.com/blogs/Bloggers.aspx"&gt;http://mobileworld.appamundi.com/blogs/Bloggers.aspx&lt;/a&gt;)&amp;nbsp;si/sau daca mai vin prin Romania cu un training ceva&amp;nbsp;(Andrej Radinger de exemplu a fost de citeva ori), si la fel si cartile scrise de ei. Sau de ce nu daca sinteti pe la o conferinta ceva, si sinteti in embedded/mobile, sint de vazut.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=216081" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/.Net+Compact+Framework/default.aspx">.Net Compact Framework</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Silverlight+CE/default.aspx">Silverlight CE</category></item><item><title>Microsoft Tag Takes Off</title><link>http://ronua.ro/CS/blogs/catalin/archive/2010/05/27/microsoft-tag-takes-off.aspx</link><pubDate>Thu, 27 May 2010 19:12:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:215933</guid><dc:creator>MrSmersh</dc:creator><slash:comments>7</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=215933</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2010/05/27/microsoft-tag-takes-off.aspx#comments</comments><description>&lt;p&gt;sau iara ma lasa &lt;a href="http://zoli.herczeg.ro"&gt;Zoli&lt;/a&gt; sa fac anunturi din astea faine &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;Vestea zilei prin lumea de mobile, din punctul meu de vedere, si fara a vorbi despre schimbarile de la virf la Microsoft, este ca Microsoft Tag nu mai e beta.&lt;br /&gt;Si e super ca e o tehnologie super, care ramine si creste vs disparut si retras stil Courier(http://en.wikipedia.org/wiki/Microsoft_Courier) sau Microsoft Recite&lt;br /&gt;(http://arstechnica.com/microsoft/news/2009/09/microsoft-recite-dies-on-december-31-2009.ars), deci veste minunata.&lt;/p&gt;
&lt;p&gt;Ce e tehnologia asta am mai dezbatut aici &lt;a href="http://itboard.ro/blogs/catalins_blog/archive/2009/08/15/de-ce-microsoft-tag-e-o-tehnologie-cool.aspx"&gt;http://itboard.ro/blogs/catalins_blog/archive/2009/08/15/de-ce-microsoft-tag-e-o-tehnologie-cool.aspx&lt;/a&gt;&amp;nbsp;si ce optiuni de programare si cum se face,&amp;nbsp;ai aici &lt;a href="http://ronua.ro/CS/blogs/catalin/archive/2010/02/21/getting-started-with-microsoft-tag-web-services.aspx"&gt;http://ronua.ro/CS/blogs/catalin/archive/2010/02/21/getting-started-with-microsoft-tag-web-services.aspx&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Pai nu mai e Beta, da ce insemana asta? &lt;br /&gt;Pai un site nou &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;, aplicatii client noi&amp;nbsp;confirmate&amp;nbsp;(running live list) peWindows Mobile (TagReader.0409.cab), BlackBery, iPhone (e pe iTunes noul client), Android (v 3.88.0)&amp;nbsp;; ma astept ca si cele de &lt;span style="text-decoration:line-through;"&gt;iPhone si Android&lt;/span&gt; Symbian 96 sa fie fost upgradate dar la momentul la care scriu nu am confirmare.&lt;br /&gt;Licence agreement si el a fost modificat, legalese nu e domeniul meu, pare normal, si a ramas subliniez FREE. Tag create, statisticile lor, si API key ramin neatinse, am verificat. Daca nu se accepta noul licence nu mai poti crea tags beta, adica daca vrei sa creezi tags trebuie sa accepti licence.&lt;br /&gt;OK,ok da totusi ce e nou din punct de vedere tehnic? Si de preferinta in explicat putin (in limita posibilitatilor mele &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;)&lt;br /&gt;Prima noutate e la contabilizare tag scanate. Inainte stiam ca un tag a fost scanat de un numar de ori. Acuma intra in scena device id, adica stiu ca device id cutare a scanat tag asta si apoi astalalt si asa... Pattern de consum deci. Subliniez nu va ginditi la privacy scare, tratati idea ca un soi de Google Analytics &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&amp;nbsp;pentru tags, asa cum gogu zice ca un user pe site asa a mers (pag asta apoi pag ...), aici capeti ca un device asa a scanat (tag x apoi z etc). Detalii in acest pdf (extrem de bine pitit, am avut o discutie lunga pina am dat de el) &lt;a href="http://download.microsoft.com/download/4/C/C/4CCCA1AD-09F8-48A8-9C06-9491ADBCA1E7/Mobile%20Device%20IDs.pdf"&gt;http://download.microsoft.com/download/4/C/C/4CCCA1AD-09F8-48A8-9C06-9491ADBCA1E7/Mobile%20Device%20IDs.pdf&lt;/a&gt;&amp;nbsp;.&lt;br /&gt;A doua noutate este un format nou de rendering, .tag. In mod normal primeai un format imagine bmp,jpg etc sau un pdf cu tag. Si pe urma era destul de greu sa faci un tag custom, adica un tag fara &amp;quot;triunghiulete&amp;quot;, mai integrat in o solutie grafica. Si acuma avem in .tag o reprezentare in hexa a tag, si o documentatie cum sa renderam numar asta hexa, in ce aplicatie si cum vrem noi. Cool pentru tiparituri reclame etc. Pdf pitit cu tot despre este aici &lt;a href="http://download.microsoft.com/download/7/F/F/7FFE18B4-FF5A-46C8-9537-CB172D3DF652/Rendering%20Tags%20in%20the%20.tag%20File%20Format.pdf"&gt;http://download.microsoft.com/download/7/F/F/7FFE18B4-FF5A-46C8-9537-CB172D3DF652/Rendering%20Tags%20in%20the%20.tag%20File%20Format.pdf&lt;/a&gt;.&lt;br /&gt;Noutate 3, localizare in &amp;quot;French, Spanish, Turkish, Simplified Chinese, Italian&amp;quot;, nu stiu daca se aplica la site, la aplicatie de citit sau si la una si la alta. La mine e consistent in engleza (ca asa e live id si cookie si asa, si la fel versiunea de pe telefon...). Sper sa reusesc sa incerc de pe masini, de peste balta, in zona francofona, dar sa se faca noapte la ei &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;br /&gt;4 tot un tool de campanii,care e beta (iara beta ceva&lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;), Heat Map, adica din cite am inteles, cit de kool e un tag sau ceva. Asta e cu &amp;quot;coming soon&amp;quot; inca...&lt;br /&gt;Ce e relativ nou si in plus (dar nu a fost enumerat in lista &amp;quot;oficiala&amp;quot;), iarasi un pdf, care e scris super (fata de standardele Microsoft &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;) cu guidlines pentru tags, stil do and dont&amp;#39;s, ce trebuie sa stiu ca tag sa se vada bine scanat de pe &amp;quot;sticla&amp;quot; de exemplu&amp;nbsp;, si si un mura in gura getting started. Se cheama &amp;quot;Microsoft Tag Implementation Guide&amp;quot;&amp;nbsp;&lt;br /&gt;&lt;a href="http://download.microsoft.com/download/5/0/D/50D99853-86FF-4F18-BBCB-7A44B617AC51/Tag_Implementation_Guide.pdf"&gt;http://download.microsoft.com/download/5/0/D/50D99853-86FF-4F18-BBCB-7A44B617AC51/Tag_Implementation_Guide.pdf&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sa punem sursele, locul de &amp;quot;pitire&amp;quot; a pdf (cel principal) &lt;a href="http://tag.microsoft.com/resources/faq.aspx"&gt;http://tag.microsoft.com/resources/faq.aspx&lt;/a&gt;, anuntul oficial de yee nu mai sintem Beta, aici &lt;a href="http://blogs.msdn.com/b/tag/archive/2010/05/27/beyond-beta-microsoft-tag-takes-off.aspx"&gt;http://blogs.msdn.com/b/tag/archive/2010/05/27/beyond-beta-microsoft-tag-takes-off.aspx&lt;/a&gt;&amp;nbsp;(da ma dau prins mi-a placut titlul si l-am &amp;quot;imprumutat&amp;quot; &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;).&lt;/p&gt;
&lt;p&gt;Si site Microsoft Tag aici &lt;a href="http://tag.microsoft.com/"&gt;http://tag.microsoft.com/&lt;/a&gt;&amp;nbsp;,&amp;nbsp; curaj ce mai stati?&amp;nbsp;&lt;br /&gt;Sau vreti ca noi sa facem toate proiectele faine legate de &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=215933" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Microsoft+High+Performance+Color+Barcode/default.aspx">Microsoft High Performance Color Barcode</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Microsoft+Tag+API/default.aspx">Microsoft Tag API</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Microsoft+Tag/default.aspx">Microsoft Tag</category></item><item><title>String.Format mai ezoteric</title><link>http://ronua.ro/CS/blogs/catalin/archive/2010/05/08/string-format-mai-ezoteric.aspx</link><pubDate>Sat, 08 May 2010 10:43:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:215699</guid><dc:creator>MrSmersh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=215699</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2010/05/08/string-format-mai-ezoteric.aspx#comments</comments><description>&lt;p&gt;O tema simpla cum sa reprezint ca string, un numar de un fel cu anumite restringeri.&lt;br /&gt;Sa nu fie asa de arid subiectul, sa raminem in zona maps inceputa data trecuta (&lt;a href="http://ronua.ro/CS/blogs/catalin/archive/2010/05/04/bing-maps-by-url.aspx"&gt;http://ronua.ro/CS/blogs/catalin/archive/2010/05/04/bing-maps-by-url.aspx&lt;/a&gt;)&amp;nbsp;si sa vrem sa reprezentam ca string (de exemplu ca feed stil NMEA)&amp;nbsp; un element de coordonata.&lt;/p&gt;
&lt;p&gt;Deci vreau sa reprezinta latitudinea in decimal degrees (&lt;a href="http://en.wikipedia.org/wiki/Decimal_degrees"&gt;http://en.wikipedia.org/wiki/Decimal_degrees&lt;/a&gt;) in felul urmator: &amp;nbsp;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;4 cifre dupa virgula intotdeauna to completat cu 0.&lt;/li&gt;
&lt;li&gt;Minimum 2 cifre intotdeauna inainte de virgula padded cu 0.&lt;/li&gt;
&lt;li&gt;String rezultat&amp;nbsp;de lungime constanta 8, daca la intrare am un numar XX.XXXX cu semn sau fara.&lt;/li&gt;
&lt;li&gt;*&amp;nbsp;daca negativ spatiu altcumva (nu sariti ca nu are legatura cu NMEA am zis stil doar &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;).&lt;/li&gt;
&lt;li&gt;virgula&amp;nbsp;punct&amp;nbsp; &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt; &amp;nbsp;adica&amp;nbsp;decimal point sa fie punct tot timpul indiferent de setarea locala.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;De test sa alegem latitudinea de tura trecuta 45.7473 si tot de test si versiunea negativa&amp;nbsp;-45.7473.&lt;/p&gt;
&lt;p&gt;Deci hai sa vedem cum facem punct cu punct: &lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;myLatitude = &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0:0.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, 45.7473); &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat &amp;quot;45,7473&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;Sa verificam ca merge padding &lt;span style="font-size:x-small;"&gt;myLatitude = &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0:0.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, 45.747); &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat &amp;quot;45,7470&amp;quot;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Dar daca inainte de virgula daca am doar o cifra? Poate poate o merge...&amp;nbsp;&lt;span style="font-size:x-small;"&gt;myLatitude = &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0:0.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, 5.7473); &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat &amp;quot;5,7473&amp;quot; &lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;myLatitude = &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0:00.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, 45.7473); &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat 45,7473&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Dar daca inainte de virgula daca am doar o cifra? Acuma o merge?&amp;nbsp;&lt;span style="font-size:x-small;"&gt;myLatitude = &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0:00.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, 5.7473); &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat &amp;quot;05,7473&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;myLatitude = &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0,8:00.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, 45.7473);&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat &amp;quot; 45,7473&amp;quot;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Dar daca e negativ? &lt;span style="font-size:x-small;"&gt;myLatitude = &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0,8:00.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, -45.7473); &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat &amp;quot;-45,7473&amp;quot;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;Lenght e 8 yeee&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;myLatitude = &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0,8:00.0000;*00.0000;00.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, 45.7473); &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat &amp;quot; 45,7473&amp;quot;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;myLatitude = &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0,8:00.0000;*00.0000;00.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, -45.7473); &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat &amp;quot;*45,7473&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;font size="2"&gt;
&lt;p&gt;myLatitude = &lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;String&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Format(System.Globalization.&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;CultureInfo&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.InvariantCulture, &lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;{0,8:00.0000;*00.0000;00.0000}&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, 45.7473); &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//rezultat &amp;quot; 45.7473&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;So, se pare ca rezolvat ce ne-am propus. De la punctul 2&amp;nbsp;in jos sint optiuni de formatare mai exotice, aici sint explicate excelent&amp;nbsp;&lt;a href="http://www.csharp-examples.net/string-format-double/"&gt;http://www.csharp-examples.net/string-format-double/&lt;/a&gt;&amp;nbsp;cu amendamentul ca la situatia de la punctul 3 (&lt;strong&gt;Align numbers with spaces&lt;/strong&gt;)&amp;nbsp;cifra de dupa virgula (in cazul nostru 8) este lungimea&amp;nbsp;in care se face alinierea, nu numarul de spatii padding cum s-ar putea intelege din text. Cu alte cuvinte lungimea la care se face padding cu spatii.&lt;br /&gt;Si atentie (cum bine subliniaza in resursa mentionata mai sus), unele optiuni de formatare sint disponibile numai in String.Format si nu exista in de exemplu double.ToString.&lt;/p&gt;
&lt;p&gt;My point String.Format are optiuni foarte puternice si nu neaparat foarte cunoscute&amp;nbsp;si obtii cod elegant cu el.&lt;br /&gt;Si nu ingorati CultureInfo, daca nu tineti seama de cultura InvariantCulture&amp;nbsp;va scuteste de surprize.&lt;/p&gt;
&lt;h2&gt;&lt;/h2&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=215699" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Latitude/default.aspx">Latitude</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Longitude/default.aspx">Longitude</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/String.Format/default.aspx">String.Format</category></item><item><title>Bing Maps by url</title><link>http://ronua.ro/CS/blogs/catalin/archive/2010/05/04/bing-maps-by-url.aspx</link><pubDate>Tue, 04 May 2010 21:13:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:215637</guid><dc:creator>MrSmersh</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=215637</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2010/05/04/bing-maps-by-url.aspx#comments</comments><description>&lt;p&gt;La un proiect a rasarit necesitatea ca, in locul caii obisnuite, un web site cu controlul de harti aferent si folosind API, sa folosim un link care sa deschida browserul la locatia dorita cu un pushpin sau ceva. &lt;br /&gt;Pentru cazul nostru, pentru ca vorbim de ceva senzori am preferat Bing Maps (nee Live Maps &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;, care are si modul 3 D cu curbe de nivel sau asa ceva si care se preta bine la proiect. &lt;br /&gt;In mod sigur o buna parte din jucatorii de pe piata au metode asemanatoare, noua ne-a trebuit &amp;nbsp;bing maps din motivu de mai sus si asta a fost. Deci nu sariti ca si la ... (a se completa dupa gust si idei:&amp;nbsp;Google Maps, etc &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;)&amp;nbsp;poti controla prin url harta si asa...&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Normal ca pe undeva exista si ceva doumentatie,&amp;nbsp;si cu ceva greutate dai de ea &lt;a href="http://help.live.com/help.aspx?project=wl_local&amp;amp;market=en-us&amp;amp;querytype=topic&amp;amp;query=wl_local_proc_buildurl.htm"&gt;http://help.live.com/help.aspx?project=wl_local&amp;amp;market=en-us&amp;amp;querytype=topic&amp;amp;query=wl_local_proc_buildurl.htm&lt;/a&gt;.&amp;nbsp;E de la Microsoft &amp;nbsp;deci e normal, foarte corecta, dar nu foarte utila.&lt;br /&gt;Si ca nu fim la discutii sterile hai sa alegem o tema de proiectare, sa facem un link pentru locatia primului (si de presupus al urmatoarelor) launch event pentru Visual Studio 2010 organizat de Ronua Timisoara. Care e amfiteatrul A 109 de la Poli...&lt;/p&gt;
&lt;div&gt;Deci sa incepem sa construim url-ul:&lt;br /&gt;Hai sa copiem din help inceputul ca pare clar&lt;/div&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Start with the base address: &lt;br /&gt;http://bing.com/maps/default.aspx&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Add a question mark (?) to the end of the address:&lt;br /&gt;http://bing.com/maps/default.aspx?&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;&lt;em&gt;Add the first parameter that you want to use, and then set the value of the parameter by using an equal sign (=):&lt;br /&gt;http://bing.com/maps/default.aspx?v=2&lt;/em&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sa vrem o harta 2D (harta si poza satelit)&lt;br /&gt;&lt;em&gt;http://bing.com/maps/default.aspx?v=2&amp;amp;style=h&lt;/em&gt;&lt;br /&gt;Obs: Elementele sint legate cu &amp;amp;. &lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sa centram la coordonatele salii&lt;br /&gt;&lt;em&gt;http://bing.com/maps/default.aspx?v=2&amp;amp;style=h&amp;amp;&lt;/em&gt;cp=45.747372~21.226689&lt;br /&gt;Obs:&amp;nbsp;E Lat&lt;em&gt;&lt;strong&gt;~&lt;/strong&gt;&lt;/em&gt;Long nu cu &lt;strong&gt;&lt;em&gt;_&lt;/em&gt;&lt;/strong&gt; ci cu &lt;strong&gt;&lt;em&gt;~&lt;/em&gt;&lt;/strong&gt;....&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sa punem si un zoom level (vrem in cazul asta o harta clasica 2D)&lt;br /&gt;&lt;em&gt;http://bing.com/maps/default.aspx?v=2&amp;amp;style=h&amp;amp;&lt;/em&gt;cp=45.747372~21.226689&amp;amp;lvl=19&lt;br /&gt;Obs: Cum bine zice help daca nu am specificat centrarea sau e 3D e ignorat.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Sa punem totusi pushpinu... Aici eo ceva discutie, ne-am putea baza pe adresa si e destul de clar in help cum se face asa. Dar... sintem in Romania, si desi in secunda asta Bing Maps si Yahoo Maps au un suport decent de geocoding pentru ro totusi e destul de buggy, si dupa cum am observat ca se manifesta, cred asa vine de la provider de harti. Cum e o concurenta destul de acerba, si situatia fluida&amp;nbsp;presupun ca si ceilalti vor veni din urma si vor plusa la capitolul asta.&lt;br /&gt;In concluzie in ro nu m-as baza azi pe geocoding deci sa vedem cum lucram cu coordonate &amp;quot;normale&amp;quot; (adica latitudine si longitudine in reprezentare decimala).&lt;br /&gt;&lt;em&gt;http://bing.com/maps/default.aspx?v=2&amp;amp;style=h&amp;amp;cp=45.747372~21.226689&amp;amp;lvl=19&amp;amp;sp=an.45.747372_21.226689_Ronua%20Timisoara%20Visual%20Studio%202010%20Event&lt;/em&gt;&lt;br /&gt;Obs:Daca vreau coordonate trebuie sa incep cu &amp;quot;an.&amp;quot;.&lt;br /&gt;Lat&lt;em&gt;&lt;strong&gt;_&lt;/strong&gt;&lt;/em&gt;Long aici, deci nu &lt;em&gt;&lt;strong&gt;~&lt;/strong&gt;&lt;/em&gt;.&lt;br /&gt;Nume pushpin permite spatii html %20 dar nu html tags. &lt;br /&gt;Restu e ca in help&lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Sa vedem ce a iesit, click pe&lt;br /&gt;&lt;a target="_blank" href="http://bing.com/maps/default.aspx?v=2&amp;amp;style=h&amp;amp;cp=45.747372~21.226689&amp;amp;lvl=19&amp;amp;sp=an.45.747372_21.226689_Ronua%20Timisoara%20Visual%20Studio%202010%20Event" title="http://bing.com/maps/default.aspx?v=2&amp;amp;style=h&amp;amp;cp=45.747372~21.226689&amp;amp;lvl=19&amp;amp;sp=an.45.747372_21.226689_Ronua%20Timisoara%20Visual%20Studio%202010%20Event"&gt;&lt;em&gt;http://bing.com/maps/default.aspx?v=2&amp;amp;style=h&amp;amp;&lt;/em&gt;cp=45.747372~21.226689&amp;amp;lvl=19&amp;amp;sp=an.45.747372_21.226689_Ronua%20Timisoara%20Visual%20Studio%202010%20Event&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Sau pentru lenesi &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/8132.Rezultata.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/8132.Rezultata.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Well nu cred ca e o mare filozofie, si in unele cazuri obtii efectul dorit doar dintr-un link...&lt;/p&gt;
&lt;p&gt;Bonus 3D/birds eye&amp;nbsp;daca nu e instalat controlul (Bing Maps 3D se pare ca la url fara apasare prealabila a buton de&amp;nbsp;3D nu se instaleza, it makes some sense)&amp;nbsp;sau nu sint date&amp;nbsp;e afisat 2D ignorind style.&lt;/p&gt;
&lt;p&gt;Revenind incercati daca aveti nevoie, sigur nu musca si sigur merge &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=215637" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Bing+Maps/default.aspx">Bing Maps</category></item><item><title>Visual Studio 2010 Launch</title><link>http://ronua.ro/CS/blogs/catalin/archive/2010/04/12/visual-studio-2010-launch.aspx</link><pubDate>Mon, 12 Apr 2010 22:04:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:215478</guid><dc:creator>MrSmersh</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=215478</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2010/04/12/visual-studio-2010-launch.aspx#comments</comments><description>&lt;p&gt;A fost azi (12)&amp;nbsp;si nu numai peste balta, am avut (10)&amp;nbsp;si noi un launch event organizat in colaborare cu Codexepert...&lt;br /&gt;A durat ceva pina ce, am apucat sa scriu, raspunsuri de dat, multe bloguri si greu de decis pe care sa scrii &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;, si oarece reluctanta de a scrie postul cu nr 13 (un smiley ar merge bine si aici nu?).&lt;br /&gt;Cum a fost? Pai bine, afar de faptul ca sala era neincalzita, si ca de obicei puteam fi mai multi. &lt;br /&gt;Cum au descurs ostilitatile? Pina ce se aduna lumea am vorbit ceva de PASS, link spre 24 hours of PASS e acesta &lt;a href="http://www.sqlpass.org/24hours/2010/"&gt;http://www.sqlpass.org/24hours/2010/&lt;/a&gt;&lt;br /&gt;Pe urma Cilu (Marius Bancila MVP Codexpert mai ales dar nu numai &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;) ne-a vorbit despre ce e nou in Visual Studio 2010 din perspectiva devzoltarii in C++. Captivant , prezentarea a placut la toata lumea,si pina si eu am ramas cu ceva, cu faptul ca revine class wizardu... Acuma sa vedem cum se misca editorul din Visual, poate dezinstalez Visualu 6... Revin prezentarea a fost interesanta, subiectul un pic mai ezoteric, C++ nu e chiar pe buzele tuturor zilele astea, si a fost captivant si convingator. Prezentarea lui Marius se afla aici &lt;a href="http://www.codexpert.ro/articole.php?id=32"&gt;http://www.codexpert.ro/articole.php?id=32&lt;/a&gt;.&lt;br /&gt;Pe urma din lipsa de voluntari la prezentat am prezentat eu, despre dezvoltarea&amp;nbsp;Windows Phone 7, cu singurul tool posibil Visual Studio 2010. Si se pare ca a fost prima prezentare de dezvoltare din macar Romania, daca nu mai departe, la Windays 10&amp;nbsp;&lt;a href="http://www.mswindays.com"&gt;www.mswindays.com&lt;/a&gt;&amp;nbsp;parca auzeam de asa ceva. Oricum dezvoltare e inca un cuvint mare, emulatorul inca nu stie multe, si documentatia inca nu e acolo. Daca vreti exemple calea simpla ar fi sa urmariti pe twitter SilverlightNews...&lt;br /&gt;InputScope am verificat toate ce arata in build emulator curent si ce zic links astea e corect &lt;a href="http://mobileworld.appamundi.com/blogs/peterfoot/archive/2010/03/22/windows-phone-7-input.aspx"&gt;http://mobileworld.appamundi.com/blogs/peterfoot/archive/2010/03/22/windows-phone-7-input.aspx&lt;/a&gt;&amp;nbsp; si &lt;a href="http://www.uxmagic.com/blog/post/2010/03/20/Working-with-the-On-Screen-Keyboard-with-Windows-Phone-7.aspx"&gt;http://www.uxmagic.com/blog/post/2010/03/20/Working-with-the-On-Screen-Keyboard-with-Windows-Phone-7.aspx&lt;/a&gt;. &lt;br /&gt;Prezentarea mea este aici &lt;a href="http://ronua.ro/CS/groups/ronua-timisoara/media/p/215477.aspx"&gt;http://ronua.ro/CS/groups/ronua-timisoara/media/p/215477.aspx&lt;/a&gt;&amp;nbsp;demo in sine va exista in carticica de VisualStudio 2010, care se preconizeaza sa fie gata pina in vreo 25 aprilie, macar in format electronic.&lt;br /&gt;Sper ca scopul meu&amp;nbsp;era de arata&amp;nbsp;ca programarea de WP7 nu e grea, si ca daca se vrea/e nevoie&amp;nbsp;se poate face ceva. Acuma daca chiar se vrea/ e nevoie e alta discutie.&lt;br /&gt;Tot azi in (12) s-a lansat si succesorul lui Sidekick, Kin &lt;a href="http://en.wikipedia.org/wiki/Microsoft_KIN"&gt;http://en.wikipedia.org/wiki/Microsoft_KIN&lt;/a&gt;&amp;nbsp;(da wikipedia s-a actualizat deja &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;). Constat ca nu am zis nimic pe linga la prezentare, inca nu am fost contrazis... Si se pare ca Kin nu va permite alte&amp;nbsp;programe pe el, dar cine stie va putea poate folosi servicii .&lt;br /&gt;Ca sa circotosim, denumirile recente spuse la gramada suna interesant Kin Bing , regele bing ? &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt; sau un cetatean din Asia &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;?&lt;/p&gt;
&lt;p&gt;Pizza (multumim Marius) si discutii aprinse si interesante au incheiat intilnirea. Eu sigur as mai vrea una cit de curind, si Marius mi-a (re)deschis gustul de&amp;nbsp;C ++..&lt;/p&gt;
&lt;p&gt;Next, cel mai probabil tot ceva de dezvolatare in lumea asta mobila, dar inca nu stiu ce...&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=215478" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Visual+Studio+2010/default.aspx">Visual Studio 2010</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/C_2B002B00_/default.aspx">C++</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Windows+Phone+7/default.aspx">Windows Phone 7</category></item><item><title>Webcasts pentru (in principal) echipele de ImagineCup</title><link>http://ronua.ro/CS/blogs/catalin/archive/2010/03/14/webcasts-pentru-in-principal-echipele-de-imaginecup.aspx</link><pubDate>Sun, 14 Mar 2010 20:45:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:215128</guid><dc:creator>MrSmersh</dc:creator><slash:comments>5</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=215128</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2010/03/14/webcasts-pentru-in-principal-echipele-de-imaginecup.aspx#comments</comments><description>&lt;p&gt;Acuma ca fazele prelimiare la ImagineCup, ma refer mai ales la competiile pe echipe, mi-a venit o idee.&lt;br /&gt;Daca tot sint intrebari care cu toate ocaziile se pun din directia participanti, hai sa luam taurul de coarne. Adica sa incercam sa prezentam tehnologiile potential interesante, orientate pe specific ImagineCup, si relativ mai spre how to decit&amp;nbsp; spre slides. Eu vreau sa incerc sa ma apropii de implementari reale vs exemple impachetate.&lt;br /&gt;Ca side efect, ar fi si familiarizare cu LiveMeeting metoda preferata de interactiune cu organizatorii competitiei.&lt;br /&gt;Si primul webcast,&amp;nbsp;este &lt;em&gt;WCF &amp;amp; Windows CE\Windows Mobile IC,&lt;/em&gt;&amp;nbsp;joi 18 Martie de la ora 20 , link aici &lt;a href="https://www.livemeeting.com/cc/usergroups/join?id=8ZCTRM&amp;amp;role=attend&amp;amp;pw=JF2%3A%22j%3Dz7"&gt;https://www.livemeeting.com/cc/usergroups/join?id=8ZCTRM&amp;amp;role=attend&amp;amp;pw=JF2%3A%22j%3Dz7&lt;/a&gt;&lt;br /&gt;Desi gindit cu participantii de la ImagineCup in minte, toate lumea e binevenita, singura limitare este &amp;quot;capacitatea&amp;quot; cont&amp;nbsp;RONUA TM&amp;nbsp;de LiveMeeting.&lt;br /&gt;Daca acest experiment va fi reusit, vor mai urma si altele, pe alte tehnologii, prezentate de the &amp;nbsp;&amp;quot;the brightest and the best&amp;quot; in acele domenii. Pot sa spun ca toti pe care i-am abordat pina acuma (asa de inceput &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;)&amp;nbsp;cu aceasta idee au zis da, numai sa existe interesul, si le multumesc pentru aceasta.&lt;br /&gt;Sper sa fie o idee buna si de ajutor, da Romania a avut rezultate foarte bune la ImagineCup dar poate se poate si mai bine &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=215128" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/ImagineCup/default.aspx">ImagineCup</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Webcasts/default.aspx">Webcasts</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/WCF/default.aspx">WCF</category></item><item><title>Getting started with Microsoft Tag Web Services</title><link>http://ronua.ro/CS/blogs/catalin/archive/2010/02/21/getting-started-with-microsoft-tag-web-services.aspx</link><pubDate>Sun, 21 Feb 2010 22:15:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:215046</guid><dc:creator>MrSmersh</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=215046</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2010/02/21/getting-started-with-microsoft-tag-web-services.aspx#comments</comments><description>&lt;p&gt;Microsoft Tag este implementarea tehnologiei Microsoft High Performance Color Barcode (detalii despre aici: &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Tag"&gt;http://en.wikipedia.org/wiki/Microsoft_Tag&lt;/a&gt;). &lt;br /&gt;Ce este pe scurt? Este&amp;nbsp;un barcode 2D foarte lizibil, ce poate fi citit&amp;nbsp;de cam practic toate smartphones (de la iPhone la Nokia)&amp;nbsp;de&amp;nbsp;pe&amp;nbsp;piata care au camera.&lt;br /&gt;Implementarea Microsoft Tag&amp;nbsp; a HCCB &amp;quot;codeaza&amp;quot; in barcode un link, sau un contact card sau un numar/text.&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Problema cea mare, pina acuma, era ca aceste barcode se puteau crea si rendera numai pe site Microsoft Tag &lt;a href="http://en.wikipedia.org/wiki/Microsoft_Tag"&gt;&lt;span style="text-decoration:line-through;"&gt;http://en.wikipedia.org/wiki/Microsoft_Tag&lt;/span&gt;&lt;/a&gt;&amp;nbsp;&lt;a href="http://www.microsoft.com/tag/"&gt;http://www.microsoft.com/tag/&lt;/a&gt;&amp;nbsp;(better link &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;).&lt;br /&gt;Dar intre timp s-a deschis o cale sa se faca aceste lucruri si programatic, folosind&amp;nbsp;&amp;nbsp;Microsoft Tag Web Services. Si hai sa incercam sa vedem daca ce zic&amp;nbsp;la Microsoft Tag Developer&amp;nbsp;Center (&lt;a href="http://www.microsoft.com/tag/content/support/developer/"&gt;http://www.microsoft.com/tag/content/support/developer/&lt;/a&gt;)&amp;nbsp;asa si e.&lt;br /&gt;Pas 1 e obtinerea uni API key &lt;a href="http://tag.microsoft.com/ws/accessrequest.aspx?wa=wsignin1.0"&gt;http://tag.microsoft.com/ws/accessrequest.aspx?wa=wsignin1.0&lt;/a&gt;. Am presupus ca sintem deja inregistrati pe site Microsoft Tag (asta e doar o asociere Live ID la site).&lt;/p&gt;
&lt;p&gt;Vrem sa facem o aplicatie consola cu&amp;nbsp;care sa creeze un tag pentru un link specificat (parametru linie de comanda 2), cu numele specificat&amp;nbsp;(parametru linie de comanda 1),&amp;nbsp;&amp;nbsp;in categoria specificata (parametru linie de comanda 3) folosind API&amp;nbsp; key (token) specificat (parametru linie de comanda 4), si sa faca render la el.&amp;nbsp;&lt;br /&gt;O sa incerc sa folosesc cit mai mult din codul exemplu dat in How To (&lt;a href="https://ws.tag.microsoft.com/howto/"&gt;https://ws.tag.microsoft.com/howto/&lt;/a&gt;) pentru conciziune.&lt;br /&gt;Facem un proiect consola nomal. Nu cred ca are rost sa insist cum se face.&lt;/p&gt;
&lt;p&gt;Adaugam o referenta la serviciu &lt;a href="https://ws.tag.microsoft.com/MIBPService.wsdl"&gt;https://ws.tag.microsoft.com/MIBPService.wsdl&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/2287.Reference.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/2287.Reference.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Acuma ca avem referinta putem sa trecem la treaba. &lt;br /&gt;Sa vedem cum as face eu codul de facut o categorie&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt; &lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;Creates a category.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;param name=&amp;quot;categoryName&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt; &lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The name of the category used&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; to organize tags.&lt;/span&gt;&lt;/span&gt; &lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;param name=&amp;quot;accessToken&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The API key.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; CreateCategory(&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; categoryName, &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt; &lt;span style="font-size:x-small;"&gt;accessToken) &lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;try&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;MIBPContractClient&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; OMIBPClient = &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;MIBPContractClient&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;();&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserCredential&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; oCredential = &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;UserCredential&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;();&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCredential.AccessToken = accessToken;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Category&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; oCat = &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Category&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;();&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oCat.Name = categoryName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;span style="font-size:x-small;"&gt;oCat.UTCStartDate =&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;DateTime&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Now;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//Not specified so until the end of the world&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//oCat.UTCEndDate = new DateTime(yyyy, mm, dd);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#000000;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; OMIBPClient.CreateCategory(oCredential, oCat);&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;catch&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; (&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Exception &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;Ex)&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.WriteLine(Ex.Message);&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;throw&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;E destul de codul, ar fi de comentat ca si categoriile au date de existenta, daca gindim ca s-a vizat si zona de advertising, conferinte unele tag nu ar trebui sa fie active in afara&amp;nbsp;unor date.&lt;/p&gt;
&lt;p&gt;Sa facem si un tag acuma&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; Creates a tag.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;param name=&amp;quot;tagName&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The tag name.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;param name=&amp;quot;targetUrl&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The link &amp;quot;encoded&amp;quot; in tag.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;param name=&amp;quot;categoryName&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The name of the category where&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; the tag will pe placed.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;param name=&amp;quot;accessToken&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The API key.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; CreateTag(&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; tagName, &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; targetUrl, &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; categoryName, &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;accessToken)&lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MIBPContractClient&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; OMIBPClient = &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;MIBPContractClient(&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;);&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserCredential&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; oCredential = &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;UserCredential&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;();&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;oCredential.AccessToken = accessToken;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;URITag&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; uriTag = &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;URITag&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;();&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;uriTag.Title = tagName;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uriTag.MedFiUrl = targetUrl;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; uriTag.UTCStartDate = &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;DateTime&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Now;&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Not specified so until the end of the world&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;//uriTag.UTCEndDate = new DateTime(yyyy, mm, dd);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;OMIBPClient.CreateTag(oCredential, categoryName, uriTag);&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp; catch&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;(&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Exception &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;Ex)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.WriteLine(Ex.Message);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;throw&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:x-small;"&gt;}&lt;br /&gt;}&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;La fel codul zic ca e relativ clar.&amp;nbsp;Ce e mai nebulos este relatia dintre intervalul de timp al categorie si al tag. Din cite am incercat o categorie nu poate contine tags care sint valabile in afara perioadei ei de valabilitate.&lt;/p&gt;
&lt;p&gt;Ok am facut barcodes dar cum le obtin si le folosesc(salvez pe disk printez etc)?&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&amp;lt;summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; Renders a barcode.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/summary&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;param name=&amp;quot;tagName&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The name of the tag to be rendered.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;param name=&amp;quot;categoryName&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The category where the tag is placed.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;param name=&amp;quot;accessToken&amp;quot;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The API key.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/param&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;///&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;remarks&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;The result is jpeg placed on C drive root named MsTag.&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&lt;span style="color:#808080;font-size:x-small;"&gt;&amp;lt;/remarks&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;private&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; RenderBarcodeAsJpeg(&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; tagName, &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; categoryName, &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; accessToken) &lt;br /&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; try&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MIBPContractClient&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; OMIBPClient = &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;MIBPContractClient&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;();&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; UserCredential&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; oCredential = &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;UserCredential&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;(); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; oCredential.AccessToken = accessToken;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; byte&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;[] oBarcode = OMIBPClient.GetBarcode(oCredential, categoryName, tagName,&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ImageTypes&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.jpeg, (&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;)0.75,&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;DecorationType&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.HCCBRP_DECORATION_NONE,&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; false&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;);&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&lt;span style="color:#008000;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //render the oBarcode byte array into an image.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; FileStream&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; fileStream = &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;new&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;FileStream&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;C:\\MsTag.jpg&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;, &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;FileMode&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Create, &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;FileAccess&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.Write); &lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileStream.Write(oBarcode, 0, oBarcode.Length);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fileStream.Close();&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;catch&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; (&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Exception&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; Ex)&amp;nbsp;&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;{&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.WriteLine(Ex.Message);&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; throw&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;;&amp;nbsp;&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;}&lt;br /&gt;}&lt;/span&gt; &lt;/p&gt;
&lt;p&gt;Aici e poate interesant de explicat parametrii de la GetBarcode (care daca nu am fost clar sint aceeasi ca parametrii de randare de pe site)&lt;br /&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="color:#2b91af;"&gt;ImageTypes&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; spune ca ce vrem sa randam imaginea, poate fi jpeg, tiff, gif, png, wmf, pdf.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;(&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;float&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;)0.75 e dimensiunea imaginii randate in inch, de la 0,75 la 2.&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;DecorationType &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;spune cum vrea sa arate tag-ul, adica cu doar barcode&amp;nbsp;sau&amp;nbsp;border cu instructiuni,&amp;nbsp;mai simplu sau nu etc.&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;false &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;e parametrul bool care spune ca vrem un&amp;nbsp;sa fie alb negru sau color (false).&lt;span style="font-size:x-small;"&gt;&lt;em&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;Da, High Performance&amp;nbsp;Color Barcode merge si alb negru &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;, cool nu?&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Acuma sa asamblam cele 3 metode in un program consola nu cred ca&amp;nbsp; trebuie explicat, e doar un caz de citit parametrii din linia de comanda si pasat la metode.&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;static&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; &lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;void&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt; Main(&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;string&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;[] args)&lt;br /&gt;{&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;if&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;(args.Length == 4)&lt;br /&gt;&amp;nbsp; {&lt;br /&gt;&amp;nbsp; CreateCategory(args[2], args[3]);&lt;br /&gt;&amp;nbsp; CreateTag(args[0], args[1], args[2], args[3]);&lt;br /&gt;&amp;nbsp;&amp;nbsp;RenderBarcodeAsJpeg(args[0], args[2], args[3]);&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;else&lt;br /&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;{&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;&lt;span style="color:#2b91af;font-size:x-small;"&gt;Console&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&amp;quot;Usage exe tagName targetUrl categoryName accessToken&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;);&lt;br /&gt;&amp;nbsp; }&lt;br /&gt;} &lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p&gt;
&lt;p&gt;
&lt;p&gt;Sa rulam programelul cu parametrii astia &lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;
&lt;p&gt;
&lt;p&gt;MyBlog http://ronua.ro/CS/blogs/catalin/default.aspx Samples xxxxxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxx&lt;/p&gt;
&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;Si sa vedem ce am obtinut&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/6813.MsTag.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/200x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/6813.MsTag.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Verificam si pe site sa vedem acolo ce se intimpla&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/8561.proof.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/8561.proof.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Si avem categoria Samples si tag MyBlog. Ca tag e corect va las pe voi sa verificati &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/1614.MsTag.jpg"&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Note din aceasta aventura:&lt;br /&gt;Nu am cum sa verific daca un tag sau o categorie exista.&amp;nbsp; Doar daca procesez exceptiile, dar nu cred ca e critica problema.&lt;br /&gt;Tags si categoriile sint create in contul de pe site Microsoft Tag asociat API key. Nu pot creea in contul altuia, sa zicem ca as vrea sa creez in contul firmei folosind API key meu.&lt;br /&gt;Si 3 care va arata ca e bine&amp;nbsp;sa cititi pina la capat,&amp;nbsp;se plimba ceva date ca volum(de exemplu la randare). Si deci ca sa mearga&amp;nbsp;aplicatia ar fi frumos sa faceti aceste modificari in app.config (eu am pus un 1 inaintea valorii default &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;).&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;basicHttpBinding&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;binding&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;name&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;BasicHttpBinding_IMIBPContract&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;...&lt;/span&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;maxBufferSize&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;165536&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;...&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;maxReceivedMessageSize&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;165536&amp;quot;&amp;gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;...&lt;br /&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&amp;lt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;&lt;span style="color:#a31515;font-size:x-small;"&gt;readerQuotas&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt; ... &lt;/span&gt;&lt;/span&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;&lt;span style="color:#ff0000;font-size:x-small;"&gt;maxArrayLength&lt;/span&gt;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:x-small;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;&lt;span style="color:#0000ff;font-size:x-small;"&gt;116384&amp;quot;&lt;br /&gt;&lt;span style="font-size:small;"&gt;...&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;&lt;span style="font-size:x-small;"&gt;
&lt;p&gt;
&lt;p&gt;OK&amp;nbsp; Exista si un help privitor la API &lt;a href="http://tag.microsoft.com/apihelp/"&gt;http://tag.microsoft.com/apihelp/&lt;/a&gt;, e cam Microsoft &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;. How To mentionat mai sus e in schimb OK.&lt;br /&gt;&lt;br /&gt;Ei ati vazut ca nu e greu, e chiar banal? Si HCCB e una din cele mai inovative si game changing tehnologii de la Microsoft in vremurile recente.&lt;br /&gt;Si daca ai API cite aplicatii faine&amp;nbsp;poti sa faci? Eu zic sky is the limit, si indemnul meu e: ce mai stati cereti un API Key si faceti aplicatii.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Late edit: Acuma ca Zoli ne-a citit &lt;/em&gt;&lt;a href="http://zoli.herczeg.ro/2010/02/22/microsoft-tag-web-services/"&gt;&lt;em&gt;http://zoli.herczeg.ro/2010/02/22/microsoft-tag-web-services/&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&amp;nbsp;(Multumim!), am corectat ceva typos si continui cu intrebare, sa pun si sursele? Sau e destul de&amp;nbsp;clar&amp;nbsp;cum si ce se asambleaza?&lt;/em&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=215046" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Microsoft+High+Performance+Color+Barcode/default.aspx">Microsoft High Performance Color Barcode</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Microsoft+Tag+API/default.aspx">Microsoft Tag API</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Microsoft+Tag/default.aspx">Microsoft Tag</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Microsoft+Tag+Web+Services/default.aspx">Microsoft Tag Web Services</category></item><item><title>Deploying .Net CF 3.5</title><link>http://ronua.ro/CS/blogs/catalin/archive/2010/02/07/deploying-net-3-5.aspx</link><pubDate>Sun, 07 Feb 2010 20:50:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:214961</guid><dc:creator>MrSmersh</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=214961</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2010/02/07/deploying-net-3-5.aspx#comments</comments><description>&lt;p&gt;pe device, metoda lenesului &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;/p&gt;
&lt;p&gt;OK am facut o aplicatie, si desi aici ar merge bancul de a livra cu device cu tot aplicatia (&amp;quot;it works on my machine&amp;quot;&amp;nbsp; &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;), am vrea sa avem si .Net 3.5 pe device.&lt;br /&gt;Prima idee: un proiect de setup, dar daca avem la dispozitie numai Visual Studio, nu prea e fezabila...&lt;br /&gt;As putea face debug pe device din Visual si atunci s-ar instala ce trebuie, dar daca am mai multe device e cam &amp;quot;interesanta&amp;quot; abordarea.&lt;br /&gt;Hai sa intram pe gogu, si dam de articole din MSDN, 2 articole ar fi cu solutii:&lt;br /&gt;&lt;em&gt;How to: Install the .NET Compact Framework on a Device &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb788171.aspx"&gt;&lt;em&gt;http://msdn.microsoft.com/en-us/library/bb788171.aspx&lt;/em&gt;&lt;/a&gt;&amp;nbsp;, si aici fraza cea mare este &lt;em&gt;If you installed the Windows SDK, you can find &lt;span class="input"&gt;&lt;strong&gt;netcfsetupv35.msi&lt;/strong&gt;&lt;/span&gt; in \Program Files\Microsoft.NET\SDK\&lt;span class="parameter"&gt;version&lt;/span&gt;\CompactFramework.&lt;/em&gt; Pe care nu l-am gasit pe nici una din staiile pe care lucrez, si da&amp;nbsp;exista si SDK-ul instalat, da e download separat &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=E3821449-3C6B-42F1-9FD9-0041345B3385&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=E3821449-3C6B-42F1-9FD9-0041345B3385&amp;amp;displaylang=en&lt;/a&gt;&amp;nbsp;dar vorbim de metoda lenesului &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;Articol 2 e asta &lt;em&gt;How to: Install the .NET Compact Framework on a Device &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/bb788171.aspx"&gt;&lt;span style="color:#003399;"&gt;&lt;em&gt;http://msdn.microsoft.com/en-us/library/bb788171.aspx&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&amp;nbsp;si fraza lui cheie e &lt;em&gt;Copy the correct .NET Compact Framework installation CAB from the desktop to the device. &lt;/em&gt;Si ai vreo 6 posibilitati pentru wce500 (armr, arm4i,mipsii,mipsiv.sh4.x86) si pentru wce400 5 (fara arm4i). Si acuma daca vi se pare simplu si usor de ales, cred ca aud si primul comentariu da pentru WM 6.5 unde e? Pai e tot facut din Win CE 5 so, dar ramine idee ca alesu de versiune potrivita nu e chiar un task fun... &lt;br /&gt;&lt;br /&gt;Am auzit hints ca ar fi in ROM de device 6.5 si mai mari, si chiar in unele ROMs asa de la producator, dar hai sa vedem cum e pe emulatorul de 6.5.&amp;nbsp;&lt;br /&gt;Deci sa vedem, avem emulatorul de 6.5 in cradle si sa mergem in &lt;em&gt;Windows Mobile Device Center&lt;/em&gt; zona &lt;em&gt;Program and Services&lt;/em&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://inlinethumb22.webshots.com/45205/2577961380072380513S425x425Q85.jpg" border="0" style="max-width:550px;" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Si sa mergem pe &lt;em&gt;more&amp;gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://inlinethumb32.webshots.com/46687/2314117310072380513S425x425Q85.jpg" border="0" style="max-width:550px;" alt="" /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Add/Remove programs&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &lt;img src="http://inlinethumb36.webshots.com/39779/2055302460072380513S425x425Q85.jpg" border="0" style="max-width:550px;" alt="" /&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si vedem ca .Net 2.0 e in ROM...&lt;/p&gt;
&lt;p&gt;Si daca ati rezista pina aici, avem si solutia &lt;em&gt;&lt;strong&gt;Power Toys for .NET Compact Framework 3.5&lt;/strong&gt;&lt;/em&gt; &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C8174C14-A27D-4148-BF01-86C2E0953EAB&amp;amp;displaylang=en"&gt;&lt;span style="color:#003399;"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=C8174C14-A27D-4148-BF01-86C2E0953EAB&amp;amp;displaylang=en&lt;/span&gt;&lt;/a&gt;.&amp;nbsp;&lt;br /&gt;Sa ne&amp;nbsp;uitam ce tools contine:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;&lt;strong&gt;Remote Performance Monitor and GC Heap Viewer&lt;/strong&gt; &amp;ndash; Provides real time counter data (ranging from Garbage Collector activity to type loading info) on a running NETCF application. The GC Heap Viewer feature allows you to capture the managed heap at any moment your app is running to view live references, and allows you to compare multiple snapshots to find memory leak issues. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;b&gt;NETCF CLR Profiler&lt;/b&gt; &amp;ndash; CLR Profiler is an instrumenting allocation profiler for NETCF applications. It provides detailed allocation visualizations, allocation callstacks visualizations and useful for diagnosing memory management issues. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;b&gt;App Configuration Tool (NetCFcfg.exe)&lt;/b&gt; - On-device tool for specifying what version of the NETCF runtime an application will run against, displaying installed versions of NETCF and displaying info about DLLs in the GAC. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;b&gt;NETCF ServiceModel Metadata Tool&lt;/b&gt; &amp;ndash; The .NET Compact Framework ServiceModel Metadata Tool (netcfsvcutil.exe) allows you to generate a Windows Communication Foundation (WCF) client proxy to help developers consume WCF services on device. Like svcutil.exe, which is the desktop version of the utility, netcfsvcutil.exe is a command-line tool that generates service model code from metadata documents and generates metadata documents from service model code. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;b&gt;Remote Logging Configuration Tool&lt;/b&gt; &amp;ndash; The Logging Configuration Tool enables users to easily configure logging options on a NETCF device including: loader, interop, network, error and finalizer logs. &lt;/em&gt;&lt;/li&gt;
&lt;li&gt;&lt;em&gt;&lt;b&gt;NETCF Network Log Viewer&lt;/b&gt; &amp;ndash; A utility for viewing NETCF network log data.&lt;/em&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si ce tool sa folosim? &lt;strong&gt;&lt;em&gt;App Configuration Tool (NetCFcfg.exe) &lt;/em&gt;&lt;/strong&gt;suna cel mai promitator dar nu il gasesti usor ca e aplicatie de Mobile si e copiat cu instalarea de .Net pe device. Deci cam clar la asta nu te ajuta.&lt;br /&gt;Si dupa ce ne imaginam ce inseamna intuitiv pentru MS &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt; alegem &lt;em&gt;&lt;strong&gt;Remote Performance Monitor and GC Heap Viewer&lt;/strong&gt;&lt;/em&gt; si dam &lt;em&gt;Device/Manage Devices&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;em&gt;&lt;/em&gt;&lt;/strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;img src="http://inlinethumb05.webshots.com/21316/2506119480072380513S500x500Q85.jpg" border="0" style="max-width:550px;border:0;" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;Alegem din tree ActiveSync device nostru si click dreapta si, voila &lt;em&gt;Install .NetCF 3.5&lt;br /&gt;&lt;/em&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;em&gt;&lt;img src="http://inlinethumb36.webshots.com/44387/2452226040072380513S500x500Q85.jpg" border="0" style="max-width:550px;" alt="" /&gt;&amp;nbsp;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si asa am ajuns la sfirsitul sagei noastre. Ce stim in plus stim cum putem relativ repede sa facem deploy de .Net&amp;nbsp; CF 3.5...&lt;br /&gt;Dar mult mai important am vorbit de &lt;em&gt;&lt;strong&gt;Power Toys for .NET Compact Framework 3.5&lt;/strong&gt;&lt;/em&gt; de care sigur e bine sa stii. Si o sa mai revenim la tools din power toys si cu alte ocazii, sint cu adevarat life savers.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;br /&gt;&lt;/em&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=214961" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Deploying+.Net+CF+3.5/default.aspx">Deploying .Net CF 3.5</category></item><item><title>Windows Mobile GPS cookbook revisited/completed</title><link>http://ronua.ro/CS/blogs/catalin/archive/2009/11/25/windows-mobile-gps-cookbook-revisited-completed.aspx</link><pubDate>Wed, 25 Nov 2009 12:14:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:214499</guid><dc:creator>MrSmersh</dc:creator><slash:comments>1</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=214499</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2009/11/25/windows-mobile-gps-cookbook-revisited-completed.aspx#comments</comments><description>&lt;p&gt;Reluam subiectul &lt;em&gt;Windows Mobile GPS apps Cookbook&lt;/em&gt; (&lt;a href="http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/windows-mobile-gps-apps-cookbook.aspx"&gt;http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/windows-mobile-gps-apps-cookbook.aspx&lt;/a&gt;). &lt;br /&gt;in completarea acelui blog post , avem&amp;nbsp;acuma&amp;nbsp;poze si explicatii detailate astfel incit sa va fie foarte usor de a rula/testa/modifica acest sample de baza pomenit in post.&lt;br /&gt;Pasul 1, copiem exemplul din Windows Mobile 6 SDK (C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CS\GPS) in o alta locatie, nu vrem sa facem modificari pe un sample nu? &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;In noua locatie deschidem solutia, daca folosim Visual Studio 2008, va aparea Conversion Wizardul:&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Conversion.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Conversion.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Finish sau next cu defaults will do &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;br /&gt;Solutia se deschide in care am 3 proiecte, un DLL cu core operatiile de GPS &lt;em&gt;Microsoft.WindowsMobile.Samples.Location&lt;/em&gt; un proiect care foloseste aceast DLL sa afiseze datele (numeric relativ&amp;nbsp;raw, nu va asteptati la o harta)&amp;nbsp;in o WinForm &lt;em&gt;GpsSample&lt;/em&gt;. Si un proiect de setup pentru toate astea &lt;em&gt;SetupGPS.&lt;br /&gt;&lt;/em&gt;Da sa luam, pe rind,&amp;nbsp;proiectele &lt;em&gt;Microsoft.WindowsMobile.Samples.Location&lt;/em&gt; si&lt;em&gt;GpsSample,&lt;/em&gt; click dreapta si &lt;em&gt;Upgrade Project &lt;/em&gt;si Yes la dialogul de confirmare.&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Upgrade-framework.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Upgrade-framework.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Deci acuma targetam latest .Net Compact Framework&lt;br /&gt;Sa dam un F5 sa vedem ce se intimpla. La deploy am ales emulatorul de 6.5.&lt;br /&gt;Avem un WinForm cu un meniu, utilizind meniul sa dam drumul la GPS&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/App.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/App.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Si asta cam obtinem:&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/App1.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/App1.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Cradle.jpg"&gt;&lt;/a&gt;Ceeace e destul de normal ca emuulatorul nu vede nimic GPS deci va ramine asa &amp;quot;till kingdom come&amp;quot;, daca nu gasim o modalitate sa ii dam date.&lt;br /&gt;Ar trebui sa instalam FakeGPS (asta e versiunea pas cu pas si cu poze multe a celei de pe MSDN &lt;a href="http://msdn.microsoft.com/en-us/library/bb158722.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb158722.aspx&lt;/a&gt;)&amp;nbsp;pe device si deci pentru inceput&amp;nbsp;cradle the device (ca sa avem retea si sa copiem cabs).&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Cradle.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Cradle.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Pe (Vista si 7) se deschide &lt;em&gt;Windows Mobile Device Center&lt;/em&gt; (pe restul ActiveSync), spunem ca nu vrem (&lt;em&gt;&lt;span style="text-decoration:underline;"&gt;C&lt;/span&gt;onnect without&lt;/em&gt;..)&amp;nbsp;sa setam device (nu vrem sa replicam contactele si restul pe emulator)&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/withut.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/withut.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&amp;quot;Deschidem&amp;quot; file system device (&lt;em&gt;Browse the contents...&lt;/em&gt;). Nota: Nu e singura metoda (stilul asta &amp;quot;ActiveSync&amp;quot; )&amp;nbsp;de a vedea file system device si a copia fisiere, dar eu zic ca e cea mai comuna si probabil cea mai familiara.&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Browsw.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Browsw.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;In folderul de pe device \Temp copiem instalarea de FakeGPS (care se gaseste aici C:\Program Files\Windows Mobile 6 SDK\Tools\GPS,&amp;nbsp;si se numeste&amp;nbsp;FakeGPS.Cab).&lt;br /&gt;Pe device deschidem un FileExplorer&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/FE.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/FE.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Navigam la folderul Temp si lansam instalarea lui FakeGPS&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/fk.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/fk.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Si FakeGPS acuma in lista de programe&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/FKisn.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/FKisn.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Sa copiem pe device (folosind tot &lt;em&gt;Browse the contents...&lt;/em&gt; )&amp;nbsp;si un fisier nmea inregistrat de noi (locatia in care se uita FakeGPs e \Program Files\FakeGPS\GPSFiles, si extensia cautata&amp;nbsp;este txt&amp;nbsp;).&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Valea.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Valea.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Fisier care contine inregistrarea unui drum la Valea lui Liman...&lt;br /&gt;Sa pornim FakeGPS si sa il activam (enable) si sa alegem fisierul cu pricina.&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Don.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Don.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;em&gt;Done.&lt;/em&gt; Sa vedem acuma aplicatia noastra ce va arata.&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Run.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Run.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Deci acuma avem date. Nu spun prea mult asa, dar dupa un ochi in surse vedem ca afisam tot ce ne trimite GPS (da si solutia &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;).&lt;br /&gt;Ca si pont puteti folosi FakeGPS ca sa dati date la un program de navigatie (si solutia are aplicabilitate peste nivelul de farse &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;)&lt;br /&gt;De exemplu fiserul nmea inregistrat (cel folosit si mai sus)&amp;nbsp;folosit ca feed in programul de navigatie de pe telefonul meu:&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Mydev.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Mydev.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Atentie se mai intimpla sa se schimbe si ora device dupa ora/ziua/anul din fisierul nmea (AFAIK exista comanda NMEA&amp;nbsp;pentru asta).&amp;nbsp; Da, telefonul meu a ajuns in 2003 &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;br /&gt;Ca formatul NMEA e puternic, si pentru curiosi,&amp;nbsp;tot ce vreti sa stiti si tot ce &lt;em&gt;nu&lt;/em&gt; vreti sa stiti &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&amp;nbsp;despre NMEA am dat de site asta &lt;a href="http://vancouver-webpages.com/peter/nmeafaq.txt"&gt;http://vancouver-webpages.com/peter/nmeafaq.txt&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Sa concluzionam, avem din cutie suport pentru folosirea GPS in aplicatiile noastre&amp;nbsp;proiectul&amp;nbsp;&lt;em&gt;Microsoft.WindowsMobile.Samples.Location&lt;/em&gt;. Care il putem folosi ca atare sau refactoriza/modifica dupa cum vrem. Subliniez&amp;nbsp;ca exista o zona sensibile&amp;nbsp;la modificari &lt;em&gt;GPSPosition&amp;nbsp;&lt;/em&gt;&amp;nbsp;la care adaugare de membrii si modificarea de tipuri poate face probleme. M-as astepta, poate, ca DLL asta sa intre in noul compact framework, pe de o parte ar avea sens pe de alta nu ar mai putea fi atita customizat.&lt;br /&gt;FakeGPS, de fapt mecanismul din spate, pentru ca FakeGPS scrie doar niste key in registry pentru&amp;nbsp;&lt;em&gt;GPS Intermediate Driver&lt;/em&gt; care e actorul activ, are ceva potential de folosire in aplicatiile noastre. De exemplu vrem sa facem un replay de drum facut de altcineva, folosind acest mecanism&amp;nbsp;putem folosi&amp;nbsp;pentru&amp;nbsp;display&amp;nbsp;programul nostru de navigatie preferat. De fapt cred ca functia de simulare traseu a navigator meu asa si merge. Deci setarile astea de feed GPS data din fisier sint de tinut minte, ca pot fi tare utile.&lt;br /&gt;&lt;br /&gt;Sper ca aceste 2 blog post (acesta si &lt;a href="http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/windows-mobile-gps-apps-cookbook.aspx"&gt;http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/windows-mobile-gps-apps-cookbook.aspx&lt;/a&gt;&amp;nbsp;) sa va fie suficient sa va faca curiosi macar sa scrieti aplicatii Windows Mobile (cu GPS). Tehnologia e cool, si folosirea GPS e sexy (si suna bine povestit la o bere cu aratat aplicatia &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;), si nu prea sint romani cu aplicatii pe Windows Marketplace (&lt;a href="http://developer.windowsphone.com/marketplace.aspx"&gt;http://developer.windowsphone.com/marketplace.aspx&lt;/a&gt;) si zic ca ar fi timpul.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=214499" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/GPS/default.aspx">GPS</category></item><item><title>By popular request</title><link>http://ronua.ro/CS/blogs/catalin/archive/2009/11/16/by-popular-request.aspx</link><pubDate>Mon, 16 Nov 2009 23:40:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:214409</guid><dc:creator>MrSmersh</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=214409</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2009/11/16/by-popular-request.aspx#comments</comments><description>&lt;p&gt;Vox populi, vox dei &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;
&lt;p&gt;Deci ce v-ar interesa in subiectul Windows Mobile? Sa facem putin subiectele by popular request.&lt;/p&gt;
&lt;p&gt;Am retinut pina acuma ca s-ar vrea:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;o revizitare a subiect Windows Moobile GPS cu mai multe (adica cu &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;)&amp;nbsp;screenshoots.&lt;/li&gt;
&lt;li&gt;WCF si WM, presupun ca fara a ma zgirci, da la screenshoots.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si ce altceva?&lt;/p&gt;
&lt;p&gt;Multumim de feedback!&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=214409" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category></item><item><title>Windows Mobile GPS apps Cookbook</title><link>http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/windows-mobile-gps-apps-cookbook.aspx</link><pubDate>Wed, 11 Nov 2009 01:44:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:214278</guid><dc:creator>MrSmersh</dc:creator><slash:comments>4</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=214278</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/windows-mobile-gps-apps-cookbook.aspx#comments</comments><description>&lt;p&gt;GPS una din cele mai sexy aplicatii pe&amp;nbsp;Windows Mobile. &lt;br /&gt;Hai sa aflam cum se face&amp;nbsp;asa ceva,&amp;nbsp;in stilul&amp;nbsp;crash course.&lt;/p&gt;
&lt;p&gt;Sa incepem cu informatii minime de background. Da sistemul GPS&amp;nbsp;are treaba cu sateliti in numar de, cu ora etc si o tona de matematica 3D, dar pentru povestea noastra nu e relavant prea mult si in plus de asta exista si Wikipedia (&lt;a href="http://en.wikipedia.org/wiki/GPS"&gt;http://en.wikipedia.org/wiki/GPS&lt;/a&gt;). Un detaliu ar trebui totusi notat ora GPS e corecta dar nu corectata, adica sistemul GPS a ramas la ora anilor 80, intre timp pamintul s-a grabit/lenevit putin si pe pamint noi am corectat ora&amp;nbsp;cu ceva secunde. Deci nu va bazati orbeste pe ora GPS...&lt;/p&gt;
&lt;p&gt;OK aveam o cutie neagra care va sti pozitia, cum si ce protocol folosesc pentru comunicare. Normal un standard deja existent pentru aparatura de navigatie (NMEA 0183) care conform Wikipedia (&lt;a href="http://en.wikipedia.org/wiki/NMEA_0183"&gt;http://en.wikipedia.org/wiki/NMEA_0183&lt;/a&gt;)&amp;nbsp;este:&lt;br /&gt;&lt;em&gt;NMEA 0183 (NMEA for short) is a combined electrical and data specification for communication between marine electronic devices such as echo sounder, sonars, anemometer, gyrocompass, autopilot, GPS receivers and many other. It has been defined by, and is controlled by, the U.S.-based National Marine Electronics Association. The standard uses a simple ASCII, serial communications protocol that defines how data is transmitted in a &amp;quot;sentence&amp;quot; from one &amp;quot;talker&amp;quot; to one &amp;quot;listener&amp;quot; at a time.&lt;/em&gt;&amp;nbsp;&lt;br /&gt;Nota: inca vorbim de NMEA 0183 nu de NMEA 2000 (exista dar inca nu e asa de raspindit).&lt;/p&gt;
&lt;p&gt;O chestie sare in ochi este comunicatie seriala. O mare problema la Windows Mobile e ca nu permite&amp;nbsp;acces shared la porturi =&amp;gt; doar o plicatie poate folosi GPS la un moment dat.&amp;nbsp;Si in plus&amp;nbsp;hard GPS e divers&amp;nbsp;si poate ar&amp;nbsp;fi bine sa&amp;nbsp;fie putin &amp;quot;abstractizat&amp;quot;&amp;nbsp;&amp;nbsp;&amp;nbsp;. Si Microsoft a venit cu o solutie,&amp;nbsp;&lt;em&gt;GPS Intermediate Driver &lt;/em&gt;(&lt;a href="http://msdn.microsoft.com/en-us/library/ms850332.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms850332.aspx&lt;/a&gt;). Beneficiu direct e ca acuma oricte aplicatii pot lua date GPS, GPS Intermediate Driver e conectat la portul fizic si ceilalti la el. Mai aduce si alte beneficii interesante dar vorbim de ele mai tirziu.&amp;nbsp;&lt;br /&gt;Nota: este posibil dar nerecomandat sa nu se foloseasca acest driver, principalul motiv ca nu ma port frumos cu alte aplicatii potential interesate in date GPS (si acuma pina si aplicatiile de IM vor date GPS). &lt;/p&gt;
&lt;p&gt;Sa facem o aplicatie GPS aware. E foarte simplu avem un sample folosibil (care cred ca e baza a a buna parte din aplicatiile GPS existente &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;).&lt;br /&gt;Deci out of the box and ready to use: C:\Program Files\Windows Mobile 6 SDK\Samples\PocketPC\CS\GPS.&lt;br /&gt;In folderul GPSSample se afla aplicatia ce afiseaza datele citite, destul de simpla si clara.&lt;br /&gt;Clasele care fac treaba sint prezentate mai&amp;nbsp;jos, normal ele trebuie incluse in aplicatia noastra .&lt;/p&gt;
&lt;p&gt;GPS Sample Classes (&lt;a href="http://msdn.microsoft.com/en-us/library/ms881362.aspx"&gt;http://msdn.microsoft.com/en-us/library/ms881362.aspx&lt;/a&gt;) :&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Gps: The interface to the managed GPS API. Use this class to open, close, and query the device state, and to query the position data from your GPS hardware. &lt;/li&gt;
&lt;li&gt;GpsPosition: Contains the GPS position data received from the GPS hardware. &lt;/li&gt;
&lt;li&gt;GpsDevice: Contains the GPS device state data received from the GPS hardware. &lt;/li&gt;
&lt;li&gt;Utils: Native memory allocation utilities.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Toate aceste clase pot fi modificate dupa cum vrem noi, refactorizate combinate si asa cu exceptia lui GPSPosition care e mai speciala. Mai speciala in sensul ca nu va permite adaugarea de membrii (adica se compileaza dar nu va mai vedea datele GPS). Si pentru cod sample Microsoft respecta surpinzator de mult standardele lor de codare &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;/p&gt;
&lt;p&gt;OK am sample se compileaza, il rulez si nu arata nimic... Solutii ma mut in gradina si imi iau un device fizic pe care fac debug. Sau o antena GPS cu un cablu de 10 metri.&amp;nbsp;Bune idei nu? &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;Din fericire se pare ca la Redmond nu e gradina si deci avem si o solutie de debug pentru emulator. &lt;em&gt;GPS Intermediate Driver&lt;/em&gt;&amp;nbsp;permite citirea unui fisier in loc de un port. Da deja va ginditi la aplicatii la care ati putea folosi asta si nu la debug. Si deci si in emulator si in lumea reala puteti folosi un fisier NMEA inregistrat de altceva alcineva sau chiar facut de mina (e ASCII) sau chiar folosind o aplicatie (vezi FakeGps Helper &lt;a href="http://www.codeplex.com/fakegpshelper"&gt;http://www.codeplex.com/fakegpshelper&lt;/a&gt;).&lt;br /&gt;Ca fie folosit ar trebui modificate setarile in registry a &lt;em&gt;GPS Intermediate Driver &lt;/em&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/ms889974.aspx"&gt;&lt;em&gt;http://msdn.microsoft.com/en-us/library/ms889974.aspx&lt;/em&gt;&lt;/a&gt;&lt;em&gt;. &lt;/em&gt;E help de la Microsoft totul clar nu? Aici e o versiune mai&amp;nbsp;mura in gura a setarilor &lt;a href="http://www.bbits.co.uk/blog/archive/2006/07/14/12027.aspx"&gt;http://www.bbits.co.uk/blog/archive/2006/07/14/12027.aspx&lt;/a&gt;.&lt;br /&gt;Dupa cum se vede setarile astea in registry sint destul de imbirligat de facut, si Microsoft a venit cu tool (in SDK WM 6 dar cred ca merge si pe WM 5) numit FakeGPS&amp;nbsp;&amp;nbsp;care sa le faca (si mai mura in gura &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;), ce poate fi instalat pe emulator sau pe device. Aici sint instructiunile de instalare &lt;a href="http://msdn.microsoft.com/en-us/library/bb158722.aspx"&gt;http://msdn.microsoft.com/en-us/library/bb158722.aspx&lt;/a&gt;. Da vedeti ca nu e specificat &amp;nbsp;path complet la fisierele NMEA, le cauta in urmatoarea locatie pe device \Program Files\FakeGPS\GPSFiles.&lt;/p&gt;
&lt;p&gt;Eu zic ca am acoperit subiectul, cred ca atita informatie e suficienta pentru a dezvolta aplicatiile voastre GPS aware si care sa fie si de calitate.&lt;br /&gt;Bine matematica nu am acoperit-o dar dpv practic cred ca nici nu conteaza. &lt;br /&gt;Si un ultim pont (il intelegeti numa dupa ce ati aruncat un ochi in clasele GPS), in Romania solutia de 7 sateliti e cea mai mica care da date acceptabile. Parerea mea &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=214278" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/GPS/default.aspx">GPS</category></item><item><title>Troubleshooting SQLServer Compact replication </title><link>http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/troubleshooting-sqlserver-compact-replication.aspx</link><pubDate>Wed, 11 Nov 2009 00:20:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:214275</guid><dc:creator>MrSmersh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=214275</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2009/11/11/troubleshooting-sqlserver-compact-replication.aspx#comments</comments><description>&lt;p&gt;Acuma stim sa folosim in aplicatii Windows Mobile SQL Server Compact replication. &lt;br /&gt;Dar ce ne facem daca avem probleme, de unde incepem Troubleshooting-u?&lt;/p&gt;
&lt;p&gt;Pai,&amp;nbsp;exista o pagina de diagnostic a replicarii&amp;nbsp;publicatiei pe server,&amp;nbsp;cu adresa de forma:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://icstesttwinibm2/lansweeperdb/sqlcesa35.dll?diag"&gt;http://&amp;lt;computername&amp;gt;/&amp;lt;publicationname&amp;gt;/sqlcesa35.dll?diag&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Pagina generata cam asa arata&lt;/p&gt;
&lt;h1 align="center"&gt;SQL Server Compact Server Agent Diagnostics&lt;/h1&gt;
&lt;h2 align="center"&gt;2009/11/11 00:33:49&lt;/h2&gt;
&lt;p&gt;
&lt;table align="center" border="4"&gt;
&lt;caption&gt;&lt;b&gt;General Information&lt;/b&gt;&lt;/caption&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Item &lt;/th&gt;&lt;th&gt;Value &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server Name &lt;/td&gt;
&lt;td&gt;&amp;lt;computername&amp;gt;&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;URL &lt;/td&gt;
&lt;td&gt;/&amp;lt;publicationname&amp;gt;/sqlcesa35.dll &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Authentication Type &lt;/td&gt;
&lt;td&gt;Anonymous &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server Port &lt;/td&gt;
&lt;td&gt;80 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;HTTPS &lt;/td&gt;
&lt;td&gt;off &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Server Software &lt;/td&gt;
&lt;td&gt;Microsoft-IIS/7.5 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Replication &lt;/td&gt;
&lt;td&gt;Allowed &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;RDA &lt;/td&gt;
&lt;td&gt;Allowed &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Logging Level &lt;/td&gt;
&lt;td&gt;1&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;table align="center" border="4"&gt;
&lt;caption&gt;&lt;b&gt;Impersonation and Access Tests&lt;/b&gt;&lt;/caption&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Action &lt;/th&gt;&lt;th&gt;Status &lt;/th&gt;&lt;th&gt;ErrorCode &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Impersonate User &lt;/td&gt;
&lt;td&gt;SUCCESS &lt;/td&gt;
&lt;td&gt;0x0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;ReadWriteDeleteMessageFile &lt;/td&gt;
&lt;td&gt;SUCCESS &lt;/td&gt;
&lt;td&gt;0x0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;table align="center" border="4"&gt;
&lt;caption&gt;&lt;b&gt;SQL Server Compact Modules Test&lt;/b&gt;&lt;/caption&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Module &lt;/th&gt;&lt;th&gt;Status &lt;/th&gt;&lt;th&gt;ErrorCode &lt;/th&gt;&lt;th&gt;Version &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sqlcerp35.dll &lt;/td&gt;
&lt;td&gt;SUCCESS &lt;/td&gt;
&lt;td&gt;0x0 &lt;/td&gt;
&lt;td&gt;3.5.5692.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sqlcesa35.dll &lt;/td&gt;
&lt;td&gt;SUCCESS &lt;/td&gt;
&lt;td&gt;0x0 &lt;/td&gt;
&lt;td&gt;3.5.5692.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;table align="center" border="4"&gt;
&lt;caption&gt;&lt;b&gt;Reconciler Test&lt;/b&gt;&lt;/caption&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Reconciler &lt;/th&gt;&lt;th&gt;Status &lt;/th&gt;&lt;th&gt;ErrorCode &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10.0 Database Reconciler &lt;/td&gt;
&lt;td&gt;SUCCESS &lt;/td&gt;
&lt;td&gt;0x0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9.0 Database Reconciler &lt;/td&gt;
&lt;td&gt;SUCCESS &lt;/td&gt;
&lt;td&gt;0x0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;
&lt;table align="center" border="4"&gt;
&lt;caption&gt;&lt;b&gt;SQL Server Module Versions&lt;/b&gt;&lt;/caption&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;th&gt;Module &lt;/th&gt;&lt;th&gt;Version &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;sqloledb.dll &lt;/td&gt;
&lt;td&gt;6.1.7100.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10.0 replrec.dll &lt;/td&gt;
&lt;td&gt;2007.100.2531.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10.0 replprov.dll &lt;/td&gt;
&lt;td&gt;2007.100.2531.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;10.0 msgprox.dll &lt;/td&gt;
&lt;td&gt;2007.100.2531.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9.0 replrec.dll &lt;/td&gt;
&lt;td&gt;2005.90.4035.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9.0 replprov.dll &lt;/td&gt;
&lt;td&gt;2005.90.4035.0 &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;9.0 msgprox.dll &lt;/td&gt;
&lt;td&gt;2005.90.4035.0&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;
&lt;/p&gt;
&lt;p&gt;In prima instanta ar trebui sa incercam sa o accesam de pe un PC.&lt;br /&gt;La prima vedere&amp;nbsp;trebuie sa vedem daca&amp;nbsp;totul e pe verde &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;, in tabela daca exista erori celulele sint colorate in rosu.&lt;br /&gt;Pe urma verificam chestii mai subtile: daca in sectiunea &lt;i&gt;SQL Server&amp;nbsp;Module Test&lt;/i&gt;&amp;nbsp;nu sint amestecate modulele de&amp;nbsp; versiuni diferite, de exemplu &lt;em&gt;sqlcerp3.5.dll&lt;/em&gt; avind la sectiunea urmatoare &lt;em&gt;sqlcesa35.dll&lt;/em&gt;&amp;nbsp;de alta versiune. La fel in zona&amp;nbsp;&lt;em&gt;SQL Server&amp;nbsp;Module Versions, &lt;/em&gt;sa nu fie amestcate versiuni, de exemplu &lt;em&gt;10.0 replrec.dll&lt;/em&gt; sa fie de alta versiune decit&lt;em&gt;&amp;nbsp; 10.0 replprov.dll&lt;/em&gt;.&amp;nbsp;Daca da trebuie reistalat &amp;quot;&lt;i&gt;Microsoft SQL Server Compact 3.5 Service Pack 1 Server Tools&lt;/i&gt;&amp;quot;.&lt;br /&gt;Nota daca sint amestecate versiunile celulele sint tot pe verde (unde e cazul).&lt;br /&gt;Informatii in deep despre ce se gaseste&amp;nbsp;in aceeasta pagina de diagnostic si ce insemna valorile&amp;nbsp;aici &lt;a href="http://technet.microsoft.com/en-us/library/ms171873.aspx"&gt;http://technet.microsoft.com/en-us/library/ms171873.aspx&lt;/a&gt;. Si tot acolo se trateaza relativ in detaliu subiectul diagnostic.&lt;/p&gt;
&lt;p&gt;Normal ca aceasta pagina de diagnostic poate fi apelata si de pe device mobile, si ar trebui sa mearga la fel. Deci daca aveti o eroare la sincronizare verificati pagina, veti avea mult mai multa informatie de diagnostic decit mesajul de eroare raportat. Si sa nu spunem ca in unele cazuri se pare ca apelarea paginii rezolva unele probleme.&lt;/p&gt;
&lt;p&gt;Ca exemplu, un caz real despre care am mai povestit (&lt;a href="http://itboard.ro/blogs/catalins_blog/archive/2009/04/29/nu-stiu-sa-citesc.aspx"&gt;http://itboard.ro/blogs/catalins_blog/archive/2009/04/29/nu-stiu-sa-citesc.aspx&lt;/a&gt;).&lt;br /&gt;Mic sumar al problemei: am configurat replicarea totul parea OK, pagina pe PC era OK, dar aplicatiile de pe mobile raportau toate si repetat: eroare 28537, despre care consultind &lt;a href="http://technet.microsoft.com/en-us/library/ms172898.aspx"&gt;http://technet.microsoft.com/en-us/library/ms172898.aspx&lt;/a&gt;&amp;nbsp;am aflat mai multe informatii: SSCE_M_IDENTITYRANGE, &amp;quot;&lt;em&gt;Internal error: The identity range was not established&amp;quot;.&lt;br /&gt;&lt;/em&gt;Am observat ca dupa deschiderea paginii de diagnostic de pe un device eroarea a disparut. Pe celelate device eroarea persista. Am deschis pagina de diagnostic pe toate devices la rind si eroarea a disparut definitiv. &lt;br /&gt;Deci numai si&amp;nbsp;accesarea paginii de diagnostic(normal fara erori in ea de la bun inceput)&amp;nbsp;se pare ca rezolva unele probleme.&lt;/p&gt;
&lt;p&gt;Partea comica este ca am gasit apoi si acest text referitor la eroarea rezolvata:&lt;br /&gt;&lt;em&gt;&amp;quot;If you experience any errors that have the prefix &amp;quot;Internal error&amp;quot; when you use SQL Server Compact 3.5, try the operation again as the error might not reproduce. If the error appears again, you should immediately contact Microsoft Product Support Services. &lt;br /&gt;&lt;strong&gt;&lt;span style="text-decoration:underline;"&gt;The internal errors cannot be resolved by common troubleshooting techniques.&lt;/span&gt;&lt;/strong&gt;&lt;/em&gt; &amp;quot;&lt;br /&gt;Ne-a distrat tonul imperativ &amp;quot;&lt;em&gt;should immediately contact &lt;/em&gt;&amp;quot; si &amp;quot;&lt;em&gt;common troubleshooting techniques&amp;quot;...&lt;/em&gt;Deh geek sense of humor.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=214275" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/SQL+Server+Compact/default.aspx">SQL Server Compact</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Troubleshooting/default.aspx">Troubleshooting</category></item><item><title>Sleep sau putin Power Management</title><link>http://ronua.ro/CS/blogs/catalin/archive/2009/11/06/sleep.aspx</link><pubDate>Fri, 06 Nov 2009 00:03:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:214142</guid><dc:creator>MrSmersh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=214142</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2009/11/06/sleep.aspx#comments</comments><description>&lt;p&gt;Subiect relativ asteptat in leagan (cradle) urmeaza&amp;nbsp;somnic (sleep) &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;Inca nu am rupt legatura cu posturile precedente, sa ne reamintim:&lt;br /&gt;&lt;em&gt;&amp;quot;Sa continuam sa facem aplicatia din blog post precent (&lt;/em&gt;&lt;a href="http://ronua.ro/CS/blogs/catalin/archive/2009/11/04/let-s-party.aspx"&gt;&lt;span style="color:#000000;"&gt;&lt;em&gt;http://ronua.ro/CS/blogs/catalin/archive/2009/11/04/let-s-party.aspx&lt;/em&gt;&lt;/span&gt;&lt;/a&gt;&lt;em&gt;)&amp;nbsp;mai buna.&lt;br /&gt;Premisa e o aplicatie pe Windows Mobile care colecteaza/corecteaza&amp;nbsp;date de pe teren (ca storage foloseste SQL Server Compact) si la un moment date sint replicate pe un SQL Server. &amp;quot;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si problema acum e, daca nu apuca sa faca replicarea ca device intra in sleep mode.&lt;br /&gt;Care problema cu sleep e una din cele mai delicate din lumea asta. De ce? Pai device ruleaza pe baterii deci normal ar fi ASAP sa intre in sleep ca sa conserve energia. DAR sint cazuri in care nu ar fi frumos sa faca asta, de exemplu cind ruleaza un program de navigatie GPS , cind are fisiere deschise in unele situatii pe SD(nu tot timpul e clar ce se va intimpla cu handle la fisier) sau acesate remote. Si la exemple am putea mentiona si cazul cind face o sincronizare &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;.&lt;/p&gt;
&lt;p&gt;Care e solutia?&lt;br /&gt;Exista o metoda nativa SystemIdleTimerReset (&lt;a href="http://msdn.microsoft.com/en-us/library/aa930260.aspx"&gt;http://msdn.microsoft.com/en-us/library/aa930260.aspx&lt;/a&gt;)&amp;nbsp;care apelata pe un timer (in MSDN e explicat cum se stabileste frecventa timer) nu permite device sa intre in sleep (da in MSDN ii zice suspend). Tot vorbim de Windows Mobile 5.0 or better.&lt;br /&gt;Pe pinvoke (&lt;a href="http://www.pinvoke.net/default.aspx/coredll.SystemIdleTimerReset"&gt;http://www.pinvoke.net/default.aspx/coredll.SystemIdleTimerReset&lt;/a&gt;) este explicat cum sa se apeleze in cod managed si e si o discutie relativ pe larg cum se alege frecventa timer si si cu un exemplu foarte clar de folosire.&lt;/p&gt;
&lt;p&gt;Insist: mare grija la umblatul la modul sleep, ca ba trebuie sa intre in el ba trebuie evitat. Si un device awake tot timpul isi termina bateria uimitor de repede.&lt;br /&gt;Deci mare grija, mai ales acuma cind stiti sa il tineti &amp;quot;treaz&amp;quot;.&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=214142" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Power+Management/default.aspx">Power Management</category></item><item><title>Cradle sau detectarea conexiunii de date</title><link>http://ronua.ro/CS/blogs/catalin/archive/2009/11/05/cradle.aspx</link><pubDate>Thu, 05 Nov 2009 21:53:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:214141</guid><dc:creator>MrSmersh</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=214141</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2009/11/05/cradle.aspx#comments</comments><description>&lt;p&gt;Sa continuam sa facem aplicatia din blog post precent (&lt;a href="http://ronua.ro/CS/blogs/catalin/archive/2009/11/04/let-s-party.aspx"&gt;http://ronua.ro/CS/blogs/catalin/archive/2009/11/04/let-s-party.aspx&lt;/a&gt;)&amp;nbsp;mai buna.&lt;br /&gt;Premisa e o aplicatie pe Windows Mobile care colecteaza/corecteaza&amp;nbsp;date de pe teren (ca storage foloseste SQL Server Compact) si la un moment date sint replicate pe un SQL Server. &lt;br /&gt;Normal ca replicarea se poate face doar daca exista conexiune la net nu? E si cum stiu asta?&lt;br /&gt;Ca detaliu de lume industriala scenariu care il zic eu merge cam asa , oamenii iau device si fac treaba la sfirsit schimb le lasa in cradles care au functie de incarcare a bateriei si conectare la retea (si atunci se face si transferul de date).&lt;/p&gt;
&lt;p&gt;Sa enuntam din nou intrebarea: Cum stiu ca sint conectat la retea?&lt;/p&gt;
&lt;p&gt;Daca targetam Windows Mobile&amp;nbsp;5.0 or better avem solutia SystemState (&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.status.systemstate.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.windowsmobile.status.systemstate.aspx&lt;/a&gt;).&lt;br /&gt;Cum sa modificam exemplul nostru?&lt;br /&gt;Mai intii adaugam un using:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;using Microsoft.WindowsMobile.Status;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Si normal ca adaugam si 2 referinte: Microsoft.WindowsMobile si Microsoft.WindowsMobile.Status.&lt;/p&gt;
&lt;p&gt;Definim si o variabila care sa tina obiectul (obiectele daca vreau sa urmaresc mai multe situatii de conectare) in scope.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;em&gt;#region WinCE 5.0 Code&lt;br /&gt;&amp;nbsp; private ArrayList _systemStateList = new ArrayList();&lt;br /&gt;#endregion WinCE 5.0 Code&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Si adaugam ceva &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt; cod&amp;nbsp;&amp;nbsp;in constructor, care va ajunge sa arate asa:&lt;/p&gt;
&lt;p&gt;&lt;em&gt;public Form1()&lt;br /&gt;{&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp; InitializeComponent();&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp; #region WinCE 5.0 Code&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp; // This tells which states to monitor&lt;br /&gt;&amp;nbsp; SystemState systemState;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;// Monitor for ActiveSync Connection&lt;br /&gt;&amp;nbsp; systemState = new SystemState(SystemProperty.CradlePresent);&lt;br /&gt;&amp;nbsp; systemState.Changed += new ChangeEventHandler(networkConnectivityChangeOccurred);&lt;br /&gt;&amp;nbsp; _systemStateList.Add(systemState);&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp;&lt;br /&gt;&amp;nbsp; /*&lt;br /&gt;&amp;nbsp;// Monitor for GPRS Connection&lt;br /&gt;&amp;nbsp; systemState = new SystemState(SystemProperty.PhoneGprsCoverage);&lt;br /&gt;&amp;nbsp; systemState.Changed += new ChangeEventHandler(networkConnectivityChangeOccurred);&lt;br /&gt;&amp;nbsp; _systemStateList.Add(systemState);&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp; //Monitor for WiFi Connection&lt;br /&gt;&amp;nbsp; systemState = new SystemState(SystemProperty.WiFiStateConnected);&lt;br /&gt;&amp;nbsp; systemState.Changed += new ChangeEventHandler(networkConnectivityChangeOccurred);&lt;br /&gt;&amp;nbsp; _systemStateList.Add(systemState);&lt;br /&gt;&amp;nbsp; */&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp; #endregion WinCE 5.0 Code&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;}&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Codul e destul de clar definesc un obiect SystemState care urmareste ce proprietate&amp;nbsp;vreau, pun un handler la el (aceeasi handler in cazul nostru, ca e ok pentru logica aplicatiei) si il pun in array sa ramina in scope.&lt;br /&gt;BTW: Unde e si ce face handleru ala ?&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Pai asta e:&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;#region WinCE 5.0 Code&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;void networkConnectivityChangeOccurred(object sender, ChangeEventArgs args)&lt;br /&gt;{&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;// If a change occurs&lt;br /&gt;&amp;nbsp;SystemState state = (SystemState)sender;&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;if (Convert.ToInt16(SystemState.GetValue(SystemProperty.ConnectionsCount)) &amp;gt;= 1)&lt;br /&gt;&amp;nbsp;&amp;nbsp; {&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; /*&lt;br /&gt;&amp;nbsp;&amp;nbsp; if (Convert.ToBoolean(SystemState.GetValue(SystemProperty.CradlePresent)) == true)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;ActiveSync&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; if(Convert.ToBoolean(SystemState.GetValue(SystemProperty.PhoneGprsCoverage)) == true)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;GPRS&amp;quot;);&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; if(Convert.ToBoolean(SystemState.GetValue(SystemProperty.WiFiStateConnected)) == true)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;{&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;MessageBox.Show(&amp;quot;WiFi&amp;quot;)&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;br /&gt;&amp;nbsp;&amp;nbsp; */&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&amp;nbsp; Sync();&lt;br /&gt;&amp;nbsp;&amp;nbsp; }&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;}&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;#endregion WinCE 5.0 Code&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&amp;nbsp;&lt;/em&gt;OK si ce fac aici? Pai vad numarul de conexiuni (pot fi conectat la WiFi si GPRS simultan de exemplu) si daca mai mare egal&amp;nbsp;ca 1 fac sincronizarea. Si la deconectare primesc eventul deci trebuie sa verific numarul de conexiuni. In codul comentat arat cum pot sa vad si pe ce fel de conexiune sint conectat, poate am preferinte (cost etc.). Bine in sectorul conectar/transfer date raportat la cost (adica numai cind cost sub x)&amp;nbsp;se poate face mult mai mult, vezi &lt;em&gt;Mobile Application Blocks&lt;/em&gt; (&lt;a href="http://mobile.codeplex.com/"&gt;http://mobile.codeplex.com/&lt;/a&gt;), dar o sa revenim la acest subiect (application blocks).&lt;/p&gt;
&lt;p&gt;Pentru cazul cu sisteme cu cradle eu nu sincroniza direct la conectare ci dupa un timp de vreo 10 secunde pentru ca omul nu nimereste din prima cradle, si statistic vorbind mai vrea sa mai aranjeze device in cradle si asa&amp;nbsp;etc.... Deci in lumea reala am un connect disconnect connect si asa&amp;nbsp;pentru primele secunde in cradle, si solutia ar fi un timer, la trecerea caruia sa imi fac operatiile.&lt;br /&gt;Si circotasii o sa zica ca am in SystemState si un CradlePresent si de ce nu m-am uitat dupa ala? Pai simplu, nu e regula ca toate cradle sa aiba si retea si la urma urmei nu e neaparat sa merg prin cradle cind am GPRS, Bluetooth, WiFi si din astea...&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Si cei care ar comenta ca eu mare campion si guraliv dpv calitate cod nu am comentat metodele zic ca la cele private nu e necesar. La nume variabile si comentarii generale zic ca am facut ceeace predic &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;. Codul de la postul precedent fiind de la Microsoft l-am lasat ca&amp;nbsp;din cutie.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;Next: Pai eu zic ca inca nu e perfect, mai sint detalii care pot sa incurce.&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;em&gt;&lt;/em&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=214141" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Data+Connection/default.aspx">Data Connection</category></item><item><title>Let's party</title><link>http://ronua.ro/CS/blogs/catalin/archive/2009/11/04/let-s-party.aspx</link><pubDate>Wed, 04 Nov 2009 14:53:00 GMT</pubDate><guid isPermaLink="false">3a12a6f0-9797-4466-8401-3917772c4388:214111</guid><dc:creator>MrSmersh</dc:creator><slash:comments>2</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://ronua.ro/CS/blogs/catalin/rsscomments.aspx?PostID=214111</wfw:commentRss><comments>http://ronua.ro/CS/blogs/catalin/archive/2009/11/04/let-s-party.aspx#comments</comments><description>&lt;p&gt;Adica sa facem o aplicatie care poate sa faca ceva util.&amp;nbsp;Un caz comun ar fi sa colectam, verificam date pe teren si apoi sa sincronizam datele in SQL Server. &lt;br /&gt;Si Microsoft a facut pe tema asta un tutorial folosibil (macar o data &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;) numit:&amp;nbsp;&amp;nbsp;&amp;quot;&lt;em&gt;Creating a Mobile Application with SQL Server Compact Edition&amp;quot;&lt;/em&gt; (&lt;a href="http://msdn.microsoft.com/en-us/library/ms171908(SQL.90).aspx"&gt;http://msdn.microsoft.com/en-us/library/ms171908(SQL.90).aspx&lt;/a&gt;). &amp;nbsp;&lt;br /&gt;Si care ati observat nu a mai fost actualizat/corectat, si cam asta e tema acestui post (actualizare/corectare si chiar si ceva completare). &lt;br /&gt;Scop ar fi sa vedeti cum sa faceti o aplicatie cu ceva posibila utilitate, cap coada, in detaliu suficient pentru orice nivel de cunostinte pe subiect.&lt;br /&gt;Daca nu este mentionat, pasii vor fi aceeasi si pe SQL Server 2008 asa&amp;nbsp;cum sint in&amp;nbsp; SQL Server 2005&amp;nbsp; mentionat in tutorial.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;Deci sa incepem, &lt;strong&gt;bold&lt;/strong&gt; va fi numele sectiunii la care o sa facem altceva sau in plus, sau e o modificare fata de ce e in tutorial.&lt;br /&gt;Sper ca va fi destul de rezonabil de navigat, noi avem o versiune tiparita si mazgalita &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&amp;quot;&lt;strong&gt;Create a database and populate with data&lt;/strong&gt;&amp;quot; la pasul 3 vorbim de o baza de date SQL Server &lt;span style="text-decoration:underline;"&gt;&lt;strong&gt;nu&lt;/strong&gt;&lt;/span&gt; de o baza de date Compact.&lt;/li&gt;
&lt;li&gt;&amp;quot;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;strong&gt;Create a publication&lt;/strong&gt;&amp;quot; daca am SQL Server 2005 am o problema. Nu stie replicare de baze de date Compact 3.5 SP1. &lt;br /&gt;Solutie instalam Microsoft&amp;reg; SQL Server&amp;reg; 2008 Management Studio Express (&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=08e52ac2-1d62-45f6-9a4a-4b76a8564a2b&amp;amp;displaylang=en&lt;/a&gt;) &lt;br /&gt;si il folosim pentru a face configurarile.&lt;br /&gt;Discutie: Nu facem baza de date 2008, nu trecem de la minimum Standard (cerut de replicare) la Express, ci doar folosim un alt tool de management&lt;br /&gt;free de la versiunea mai noua de SQL Server.&lt;br /&gt;Verificare: ar trebui asa sa arate wizardu pomenit la pasul 8&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Create-a-publication-Pass-8_2D00_2008.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Create-a-publication-Pass-8_2D00_2008.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;nu asa&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Create-a-publication-Pass-8_2D00_2005.JPG"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Create-a-publication-Pass-8_2D00_2005.JPG" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Normal ca acuma la pasul 8 alegem SQL Server 2005 Mobile, SQL Server Compact 3.1 and higher.&lt;br /&gt;&lt;span style="text-decoration:underline;"&gt;Remarca: Tot restul sectiunilor si pasilor lor&amp;nbsp;este imperativ sa se faca din versiunea de SQL Server 2008 de&amp;nbsp;Managment Studio.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&amp;quot;&lt;strong&gt;Set database permissions&lt;/strong&gt;&amp;quot; pas 6 pe unele sisteme de operare mai noi (W7 de exemplu)&amp;nbsp;userul &lt;em&gt;iusr_computername&lt;/em&gt; este numit doar &lt;em&gt;iusr&lt;/em&gt;. &lt;br /&gt;Deci nu intrati in panica daca nu aveti &lt;em&gt;iusr_computername&lt;/em&gt;, folositi &lt;em&gt;iusr.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;span class="regiontitle" style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"&gt;&lt;strong&gt;&amp;quot;Granting publication access&amp;quot;&lt;/strong&gt; pas 4, IUSR se refera la &lt;em&gt;iusr_computername/iusr&lt;/em&gt; pomenit mai sus.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;em&gt;&amp;quot;&lt;/em&gt;&lt;span class="regiontitle" style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"&gt;&lt;strong&gt;Install the SQL Server Compact Edition server components&amp;quot; &lt;/strong&gt;aici indiferent de versiunea de SQL Server&lt;br /&gt;trebuie instalat &lt;em&gt;&amp;quot;Microsoft SQL Server Compact 3.5 Service Pack 1 Server Tools&amp;quot;&lt;br /&gt;&lt;/em&gt;(&lt;a href="http://www.microsoft.com/downloads/details.aspx?familyid=fa751db3-7685-471b-ac31-f1b150422462&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?familyid=fa751db3-7685-471b-ac31-f1b150422462&amp;amp;displaylang=en&lt;/a&gt;).&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;span class="regiontitle" style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"&gt;&lt;strong&gt;&amp;quot;&lt;span class="regiontitle" style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"&gt;Configure the publication for Web synchronization&lt;/span&gt;&amp;quot; &lt;/strong&gt;pasul 15, acuma folosim&amp;nbsp;SQL Server Compact 3.5 SP1 deci si linkul de diagnostic &lt;br /&gt;(subiect la care o sa revenim in alt post) e diferit.&lt;br /&gt;Si deci linku de diagnostic in cazul nostru va arata asa&lt;em&gt;&amp;nbsp;&amp;quot;&lt;strong&gt;http://localhost/SQLMobile/sqlcesa35.dll?diag&amp;quot;&lt;/strong&gt;&amp;nbsp;.&lt;/em&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;span&gt;&lt;strong&gt;&amp;nbsp;&amp;quot;&lt;/strong&gt;&lt;span&gt;&lt;span class="regiontitle" style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"&gt;&lt;strong&gt;Create a new Smart Device project&amp;quot;&lt;/strong&gt; pasul 1 ar fi Visual Studio 2008. &lt;br /&gt;La pasul 4 as selecta altceva decit&amp;nbsp; &lt;em&gt;&amp;quot;Pocket PC 2003 Application&amp;quot;&lt;/em&gt; (in cazul nostru merge OK dar lipsesc facilitati; vom vorbi de ele in postul urmator&lt;em&gt;)&lt;/em&gt;.&lt;br /&gt;Un&amp;nbsp;&lt;em&gt;Windows Mobile 6 Professional SDK &lt;/em&gt;sau macar in &lt;em&gt;Windows Mobile&amp;nbsp;5.0 Pocket PC&amp;nbsp;SDK.&lt;/em&gt; &lt;br /&gt;Si acuma cred ca se aud fluieraturile si comentariile: da de 6.1, 6.5 tu nu ai auzit? &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;Raspuns am auzit dar din punct de vedere programare tot 6 este, si de exemplu gestures este un API separat adica pun o referinta si din astea.&lt;br /&gt;Si diferenta apare la debugging, daca am Windows Mobile 6.5 Developer Tool Kit &lt;br /&gt;(&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=20686a1d-97a8-4f80-bc6a-ae010e085a6e&amp;amp;displaylang=en&lt;/a&gt;) &lt;br /&gt;am optiune sa folosesc un emulator de 6.5. &lt;br /&gt;Sa spunem ca 6.1 neavind APIs in plus, are numai imagini de emulator&lt;br /&gt;&lt;a href="http://www.microsoft.com/downloads/info.aspx?na=47&amp;amp;p=4&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=06111a3a-a651-4745-88ef-3d48091a390b&amp;amp;u=details.aspx%3ffamilyid%3d1A7A6B52-F89E-4354-84CE-5D19C204498A%26displaylang%3den"&gt;http://www.microsoft.com/downloads/info.aspx?na=47&amp;amp;p=4&amp;amp;SrcDisplayLang=en&amp;amp;SrcCategoryId=&amp;amp;SrcFamilyId=06111a3a-a651-4745-88ef-3d48091a390b&amp;amp;u=details.aspx%3ffamilyid%3d1A7A6B52-F89E-4354-84CE-5D19C204498A%26displaylang%3den&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;span&gt;
&lt;div class="regionArea"&gt;&lt;span class="regiontitle" style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"&gt;&lt;strong&gt;&amp;quot;Add references&amp;quot;&lt;/strong&gt; Pas 2, calea acuma e &lt;em&gt;C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices &lt;/em&gt;for the record Assembly version este &lt;br /&gt;3.5.0.0 (sau similare de exemplu&amp;nbsp;3.5.1.0).&lt;br /&gt;Si, da dupa Microsoft versiunea 3.5.0.0 e mai mare decit&amp;nbsp; versiunea 9.0.242.0 (SQL Server Compact 3.0) &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;span&gt;
&lt;div class="regionArea"&gt;&lt;span class="regiontitle" style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"&gt;&lt;span class="regiontitle" style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"&gt;&lt;strong&gt;&amp;quot;Deploy the application&amp;quot;&lt;/strong&gt;&amp;nbsp;La 2 alegeti emulatorul dupa &amp;quot;gust&amp;quot; din cele propuse, asta in functie de platforma aleasa la &lt;strong&gt;&amp;quot;&lt;span&gt;&lt;span class="regiontitle" style="text-overflow:ellipsis;white-space:nowrap;overflow:hidden;"&gt;Create a new Smart Device project&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/strong&gt;, &lt;br /&gt;daca e Windows Mobile&amp;nbsp;5 emulatoarele de WindowsMobile 6.x si cele de 5. Daca&amp;nbsp;Windows Mobile 6 normal cele 6.x. &lt;br /&gt;Si la 3 se presupune ca o sa mearga. Si daca m-as opri aici ati sari la mine ca nu merge si de ce, ca fac ca &amp;quot;preferatii&amp;quot;&amp;nbsp;&lt;br /&gt;mei vorbesc despre subiecte care nu le stapinesc &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;. &lt;br /&gt;Nu merge ca emulatorul nu vede reteaua deci emulatorul nu vede SQL Server-ul sa faca replicarea.&lt;br /&gt;Solutie: In &lt;em&gt;Visual Studio&lt;/em&gt; meniu &lt;em&gt;Tools/Device Emulator&amp;nbsp;Manager&lt;br /&gt;&lt;/em&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Uncradled.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Uncradled.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Click dreapta alegeti &lt;em&gt;&amp;quot;Cradle&amp;quot;&lt;/em&gt; si&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Cradled.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Cradled.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Ar trebui sa se porneasca/activeze&lt;em&gt;&amp;quot;Microsoft ActiveSync&amp;quot;&lt;/em&gt; sau &lt;em&gt;&amp;quot;Windows Mobile Device Center&amp;quot;&lt;/em&gt; (Vista 7 si din astea). &lt;br /&gt;Daca nu rasare verificati daca conexiunile DMA sint permise la&amp;nbsp;&lt;em&gt;&amp;quot;Connection Settings&amp;quot;&lt;br /&gt;&lt;/em&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/ConnectionSettings.jpg"&gt;&lt;em&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/ConnectionSettings.jpg" border="0" alt="" /&gt;&lt;/em&gt;&lt;/a&gt;&lt;br /&gt;Dupa modificarea cu DMA, dati un un &lt;em&gt;&amp;quot;Uncradle&amp;quot;&lt;/em&gt; urmat de &lt;em&gt;&amp;quot;Cradle&amp;quot;&lt;/em&gt;, sa &amp;quot;simta&amp;quot; modificarea&lt;em&gt;.&lt;/em&gt;&lt;br /&gt;Si de asemenea ca va si conectati la device (in cazul nostru am dat screenshot din&amp;nbsp;&lt;em&gt;Windows Mobile Device Center&lt;/em&gt;, dar la fel se manifesta &lt;br /&gt;si &lt;em&gt;Microsoft Active Sync&lt;/em&gt;) trebuie sa alegeti una din optiunile prezentate la conectare, altfel nu sinteti conectati.&lt;br /&gt;Eu recomand pe a 2-a ca nu in o buna parte din cazuri sa va sincronizati contactele din Outlook cu emulatoru &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Connect.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Connect.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Pe&amp;nbsp;emulator deschideti IE si mergeti la de ex &lt;a href="http://www.google.com"&gt;www.google.com&lt;/a&gt;...&amp;nbsp;Nu o sa mearga &lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/span&gt;&lt;/span&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;span&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/CannotConnec.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/CannotConnec.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;Go to Settings&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Settings.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Settings.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;La advanced&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Advanced.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/Advanced.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Select Networks&lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/SelectNet.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/SelectNet.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;Si schimbati My ISP cu My Network &lt;br /&gt;&lt;a href="http://ronua.ro/CS/cfs-file.ashx/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/My-work.jpg"&gt;&lt;img src="http://ronua.ro/CS/resized-image.ashx/__size/550x0/__key/CommunityServer.Blogs.Components.WeblogFiles/catalin/My-work.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;OK,OK si google o sa mearga.&lt;br /&gt;2 remarci aici, 1 in screenshots e un 6.5 dar merge la fel cu toate de la Pocket PC 2003 in sus. Si 2, emulatorul nu se inchide explicit la iesirea din debugging, deci chiar daca a crapat aplicatia tot se pot seta astea. Si daca nu se salveaza starea emulator trebuiesc facuti pasii enumerati la fiecare pornire emulator. &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Si asa am terminat tutorialul dar hai sa dam si instructiuni de provisioning, adica ce si in ce ordine trebuie instalat pe device (in afara de aplicatie &lt;img src="http://ronua.ro/CS/emoticons/emotion-1.gif" alt="Smile" /&gt;) ca sa mearga:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;.NET Compact Framework 3.5 Redistributable (&lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e3821449-3c6b-42f1-9fd9-0041345b3385&amp;amp;DisplayLang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyID=e3821449-3c6b-42f1-9fd9-0041345b3385&amp;amp;DisplayLang=en&lt;/a&gt;)... O sa discutam mai pe larg acest provisioning cu alta ocazie. Acuma sa zicem ca ne trebuie .Net 3.5 Compact.&lt;/li&gt;
&lt;li&gt;Daca vrem si mesaje la exceptii ar fi bine sa punem si mesajele, cab lor se afla in locatia asta&lt;br /&gt;&lt;em&gt;&amp;quot;C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\Diagnostics&amp;quot;.&lt;/em&gt; Cele in engleza sint din asta NETCFv35.Messages.EN.&lt;/li&gt;
&lt;li&gt;SQL Compact Edition 3.5 cab se gasec pe aici&lt;em&gt; &amp;quot;C:\Program Files\Microsoft SQL Server Compact Edition\v3.5\Devices\wceX00&amp;quot;&lt;/em&gt;&amp;nbsp;, dar trebuie alese dupa versiune de WM (wce400, sau wce500) si arhitectura mips arm etc. La fel pot face si cu 1 (&amp;quot;&lt;em&gt;C:\Program Files\Microsoft.NET\SDK\CompactFramework\v3.5\WindowsCE\wceX00&lt;/em&gt;&amp;quot;) dar la framework sigur exista cai mai bune si mai sigure.&lt;/li&gt;
&lt;li&gt;SQL Compact Edition 3.5 Replication din aceeasi loc si aceeasi probleme ca 3 numai acuma cab cu .repl.&lt;/li&gt;
&lt;li&gt;Optional pentru debug SQL Compact Edition 3.5 Query Analyzer din aceeasi loc si cu aceeasi probleme ca 3, acuma cab cu .dev.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Remarca: cab de instalare este sters la sfirsitul procesului de instalare de insta. Deci daca face o zona de service (stil shadow service partition de pe PC)&amp;nbsp;pe device nu rulati instalarile din ea direct, copiati-le mai intii altundeva.&lt;/p&gt;
&lt;p&gt;Si cam asta e. &lt;br /&gt;Ma gindeam sa fac si un webcast cu&amp;nbsp;tema asta&amp;nbsp;in care sa studiem si mai pe indelete si sigur interactiv subiectul. Sa vedem...&lt;/p&gt;
&lt;p&gt;Next o sa facem mai user friendly aplicatia asta.&lt;/p&gt;
&lt;p&gt;&lt;span class="regiontitle" style="TEXT-OVERFLOW:ellipsis;WHITE-SPACE:nowrap;OVERFLOW:hidden;"&gt;&lt;/span&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://ronua.ro/CS/aggbug.aspx?PostID=214111" width="1" height="1"&gt;</description><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/Windows+Mobile/default.aspx">Windows Mobile</category><category domain="http://ronua.ro/CS/blogs/catalin/archive/tags/SQL+Server+Compact/default.aspx">SQL Server Compact</category></item></channel></rss>