<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>Nicolas Tarzia</title><link>http://weblogs.pontonetpt.com/nicolastarzia/</link><description>.Net developer!</description><dc:language>pt-BR</dc:language><generator>RSS Generated by Dottext 0.94</generator><item><dc:creator>Nicolas Tarzia</dc:creator><title>Exames do framework 3.5 vindo por ai!</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/26047.aspx</link><pubDate>Mon, 21 Jan 2008 16:44:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/26047.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/26047.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/26047.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/26047.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=26047</trackback:ping><description>&lt;p&gt;Bom pessoal, recentemente recebi nos Feed's que eu assino a nova certificação que está na versão beta do framework 3.5&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;strong&gt;71-502&lt;/strong&gt; &lt;b&gt;TS: Microsoft .NET Framework 3.5 - Windows Presentation Foundation&lt;/b&gt; &lt;br /&gt;2. Extended through &lt;font color="#ff0000"&gt;&lt;strong&gt;1/24/08&lt;/strong&gt;&lt;/font&gt; &lt;br /&gt;3. Código do Exame  - 502B1 &lt;br /&gt;4. Preparação para este Exame:  &lt;a href="http://www.microsoft.com/learning/exams/70-502.mspx" mce_href="http://www.microsoft.com/learning/exams/70-502.mspx"&gt;http://www.microsoft.com/learning/exams/70-502.mspx&lt;/a&gt; 
&lt;/p&gt;&lt;p&gt;&lt;b&gt;1. 71-503 &lt;/b&gt;&lt;b&gt;TS: Microsoft .NET Framework 3.5 - Windows Communication Foundation&lt;/b&gt; &lt;br /&gt;2. Extended through &lt;font color="#ff0000"&gt;&lt;strong&gt;1/25/08&lt;/strong&gt;&lt;/font&gt; &lt;br /&gt;3. Código do Exame - 503B1 &lt;br /&gt;4. Preparação para este Exame:  &lt;a href="http://www.microsoft.com/learning/exams/70-503.mspx" mce_href="http://www.microsoft.com/learning/exams/70-503.mspx"&gt;http://www.microsoft.com/learning/exams/70-503.mspx&lt;/a&gt; 
&lt;/p&gt;&lt;p&gt;&lt;strong&gt;1.&lt;/strong&gt; &lt;strong&gt;71-504 TS: Microsoft .NET Framework 3.5 – Windows Workflow Foundation&lt;/strong&gt; &lt;br /&gt;2. Extended through &lt;font color="#ff0000"&gt;&lt;strong&gt;1/25/08&lt;/strong&gt;&lt;/font&gt; &lt;br /&gt;3. Código do Exame 504B1 &lt;br /&gt;4. Preparação para este Exame:  &lt;a href="http://www.microsoft.com/learning/exams/70-504.mspx" mce_href="http://www.microsoft.com/learning/exams/70-504.mspx"&gt;http://www.microsoft.com/learning/exams/70-504.mspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Registro grátis através da seguinte página,  &lt;a href="http://www.register.prometric.com/ClientInformation.asp" mce_href="http://www.register.prometric.com/ClientInformation.asp"&gt;http://www.register.prometric.com/ClientInformation.asp&lt;/a&gt; &lt;br /&gt;&lt;/p&gt;
&lt;p&gt;Boa Sorte para todos ;)&lt;img height="0" src="http://guy.dotnet-expertise.com/cptrk.ashx?id=e72f98b5-3c15-47c8-b173-e8f69d25a0d1" width="0" /&gt;&lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Bom pessoal, recentemente recebi nos Feed's que eu assino a nova certificação que está na versão beta do framework 3.5</p>
<p><strong>1.</strong> <strong>71-502</strong> <b>TS: Microsoft .NET Framework 3.5 - Windows Presentation Foundation</b> <br />2. Extended through <font color="#ff0000"><strong>1/24/08</strong></font> <br />3. Código do Exame  - 502B1 <br />4. Preparação para este Exame:  <a href="http://www.microsoft.com/learning/exams/70-502.mspx" mce_href="http://www.microsoft.com/learning/exams/70-502.mspx">http://www.microsoft.com/learning/exams/70-502.mspx</a> 
</p><p><b>1. 71-503 </b><b>TS: Microsoft .NET Framework 3.5 - Windows Communication Foundation</b> <br />2. Extended through <font color="#ff0000"><strong>1/25/08</strong></font> <br />3. Código do Exame - 503B1 <br />4. Preparação para este Exame:  <a href="http://www.microsoft.com/learning/exams/70-503.mspx" mce_href="http://www.microsoft.com/learning/exams/70-503.mspx">http://www.microsoft.com/learning/exams/70-503.mspx</a> 
</p><p><strong>1.</strong> <strong>71-504 TS: Microsoft .NET Framework 3.5 – Windows Workflow Foundation</strong> <br />2. Extended through <font color="#ff0000"><strong>1/25/08</strong></font> <br />3. Código do Exame 504B1 <br />4. Preparação para este Exame:  <a href="http://www.microsoft.com/learning/exams/70-504.mspx" mce_href="http://www.microsoft.com/learning/exams/70-504.mspx">http://www.microsoft.com/learning/exams/70-504.mspx</a><br /><br />Registro grátis através da seguinte página,  <a href="http://www.register.prometric.com/ClientInformation.asp" mce_href="http://www.register.prometric.com/ClientInformation.asp">http://www.register.prometric.com/ClientInformation.asp</a> <br /></p>
<p>Boa Sorte para todos ;)<img height="0" src="http://guy.dotnet-expertise.com/cptrk.ashx?id=e72f98b5-3c15-47c8-b173-e8f69d25a0d1" width="0" /></p></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Aumentando o tamanho de Uploads ASP.NET</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/25842.aspx</link><pubDate>Tue, 08 Jan 2008 22:25:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/25842.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/25842.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/25842.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/25842.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=25842</trackback:ping><description>&lt;p&gt;Quem trabalha com o controle FileUpload, sabe deste problema, quando o usuario tenta colocar arquivos com mais de 4mb de tamanho exibe um erro, dizendo que o tamanho máximo para upload foi excedido, não sendo possivel fazer o upload do arquivo, este valor pode ser alterado, porém, pode acontecer da aplicação ficar instavel, pois a alteração que será feita vai alterar a quantidade de acessos, o tempo de execução das páginas e etc.&lt;/p&gt;
&lt;p&gt;O Jeito simples e rápido de consertar esta falha é alterando o Web.Config inserindo esta tag:&lt;/p&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;system.web&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;httpRuntime&lt;/span&gt; &lt;span class="attr"&gt;executionTimeout&lt;/span&gt;&lt;span class="kwrd"&gt;="240"&lt;/span&gt; &lt;span class="attr"&gt;maxRequestLength&lt;/span&gt;&lt;span class="kwrd"&gt;="20480"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;system.web&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&lt;/span&gt; &lt;/pre&gt;
&lt;p&gt;Tornando assim sua aplicação com um tempo de execução maior e permitindo arquivos de aproximadamente 20mb, lembrando que acarretará no problema da performance;&lt;/p&gt;
&lt;p&gt;Após esta alteração seria interessante exibir ao usuario que o maximo permitido é o valor que está setado por voce, para isso utilizar esta maneira que é a mais simples:&lt;/p&gt;&lt;pre class="csharpcode"&gt;System.Configuration.Configuration config = WebConfigurationManager.OpenWebConfiguration(&lt;span class="str"&gt;"~"&lt;/span&gt;);
HttpRuntimeSection section = config.GetSection(&lt;span class="str"&gt;"system.web/httpRuntime"&lt;/span&gt;) &lt;span class="kwrd"&gt;as&lt;/span&gt; HttpRuntimeSection;
&lt;span class="kwrd"&gt;double&lt;/span&gt; maxFileSize = Math.Round(section.MaxRequestLength / 1024.0, 1);
FileSizeLimit.Text = &lt;span class="kwrd"&gt;string&lt;/span&gt;.Format(&lt;span class="str"&gt;"Make sure your file is under {0:0.#} MB."&lt;/span&gt;, maxFileSize);&lt;/pre&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;Uma outra maneira é utilizar componentes como:&lt;/p&gt;
&lt;p&gt;FileUploader.Net (Pago) - &lt;a href="http://www.mediachase.com/fuploader/overview.aspx"&gt;(link)&lt;/a&gt;&lt;br /&gt;RadUploader (Pago)- &lt;a href="http://www.telerik.com/products/aspnet/controls/upload/overview.aspx"&gt;(link)&lt;/a&gt;&lt;br /&gt;NeatUploader (Até o momento Gratis) - &lt;a href="http://www.brettle.com/neatupload"&gt;(link)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Um outro controle muito legal é o SWFUpload &lt;a href="http://swfupload.org/"&gt;(link)&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;font size="6"&gt;&lt;strong&gt;Upload de diversos arquivos&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Aqui está um código-fonte para upload de diversos arquivos na mesma página.&lt;/p&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ Page Language="C#" AutoEventWireup="false" %&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;!&lt;/span&gt;&lt;span class="html"&gt;DOCTYPE&lt;/span&gt; &lt;span class="attr"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;PUBLIC&lt;/span&gt; &lt;span class="kwrd"&gt;"-//W3C//DTD XHTML 1.0 Transitional//EN"&lt;/span&gt; 
          &lt;span class="kwrd"&gt;"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
          
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt; &lt;span class="attr"&gt;xmlns&lt;/span&gt;&lt;span class="kwrd"&gt;="http://www.w3.org/1999/xhtml"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;File upload test&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;title&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;head&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="form1"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;enctype&lt;/span&gt;&lt;span class="kwrd"&gt;="multipart/form-data"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt; &lt;span class="attr"&gt;id&lt;/span&gt;&lt;span class="kwrd"&gt;="upload-area"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
   &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;input&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="file"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;size&lt;/span&gt;&lt;span class="kwrd"&gt;="60"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt; &lt;span class="attr"&gt;href&lt;/span&gt;&lt;span class="kwrd"&gt;="#"&lt;/span&gt; &lt;span class="attr"&gt;onclick&lt;/span&gt;&lt;span class="kwrd"&gt;="addFileUploadBox(); return false;"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;Add file&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;a&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;asp:Button&lt;/span&gt; &lt;span class="attr"&gt;ID&lt;/span&gt;&lt;span class="kwrd"&gt;="btnSubmit"&lt;/span&gt; &lt;span class="attr"&gt;runat&lt;/span&gt;&lt;span class="kwrd"&gt;="server"&lt;/span&gt; &lt;span class="attr"&gt;Text&lt;/span&gt;&lt;span class="kwrd"&gt;="Upload"&lt;/span&gt; &lt;span class="attr"&gt;OnClick&lt;/span&gt;&lt;span class="kwrd"&gt;="btnSubmit_Click"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;p&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt; &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="text/javascript"&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;function&lt;/span&gt; addFileUploadBox()
{
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!document.getElementById || !document.createElement)
        &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="kwrd"&gt;false&lt;/span&gt;;
        
    &lt;span class="kwrd"&gt;var&lt;/span&gt; uploadArea = document.getElementById (&lt;span class="str"&gt;"upload-area"&lt;/span&gt;);
    
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!uploadArea)
        &lt;span class="kwrd"&gt;return&lt;/span&gt;;
    &lt;span class="kwrd"&gt;var&lt;/span&gt; newLine = document.createElement (&lt;span class="str"&gt;"br"&lt;/span&gt;);
    uploadArea.appendChild (newLine);
    
    &lt;span class="kwrd"&gt;var&lt;/span&gt; newUploadBox = document.createElement (&lt;span class="str"&gt;"input"&lt;/span&gt;);
    
    &lt;span class="rem"&gt;// Set up the new input for file uploads&lt;/span&gt;
    newUploadBox.type = &lt;span class="str"&gt;"file"&lt;/span&gt;;
    newUploadBox.size = &lt;span class="str"&gt;"60"&lt;/span&gt;;
    
    &lt;span class="rem"&gt;// The new box needs a name and an ID&lt;/span&gt;
    &lt;span class="kwrd"&gt;if&lt;/span&gt; (!addFileUploadBox.lastAssignedId)
        addFileUploadBox.lastAssignedId = 100;
        
    newUploadBox.setAttribute (&lt;span class="str"&gt;"id"&lt;/span&gt;, &lt;span class="str"&gt;"dynamic"&lt;/span&gt; + addFileUploadBox.lastAssignedId);
    newUploadBox.setAttribute (&lt;span class="str"&gt;"name"&lt;/span&gt;, &lt;span class="str"&gt;"dynamic:"&lt;/span&gt; + addFileUploadBox.lastAssignedId);
    uploadArea.appendChild (newUploadBox);
    
    addFileUploadBox.lastAssignedId++;
}
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&amp;lt;script type=&lt;span class="str"&gt;"text/C#"&lt;/span&gt; runat=&lt;span class="str"&gt;"server"&lt;/span&gt;&amp;gt;
&lt;span class="kwrd"&gt;void&lt;/span&gt; btnSubmit_Click(&lt;span class="kwrd"&gt;object&lt;/span&gt; sender, EventArgs e)
{
    HttpFileCollection uploads = HttpContext.Current.Request.Files;
    &lt;span class="kwrd"&gt;for&lt;/span&gt; (&lt;span class="kwrd"&gt;int&lt;/span&gt; i = 0; i &amp;lt; uploads.Count; i++)
    {
        HttpPostedFile upload = uploads[i];
        &lt;span class="kwrd"&gt;if&lt;/span&gt; (upload.ContentLength == 0)
            &lt;span class="kwrd"&gt;continue&lt;/span&gt;;
        &lt;span class="rem"&gt;// ---------------------------------------------------&lt;/span&gt;
        &lt;span class="rem"&gt;// Save the uploaded file on disk or in database&lt;/span&gt;
        &lt;span class="rem"&gt;// ---------------------------------------------------&lt;/span&gt;
    }
}
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;script&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;form&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;body&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;html&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;/pre&gt;
&lt;p&gt;Abraços,&lt;br /&gt;Nícolas &lt;strong&gt;Tarzia&lt;/strong&gt;&lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Quem trabalha com o controle FileUpload, sabe deste problema, quando o usuario tenta colocar arquivos com mais de 4mb de tamanho exibe um erro, dizendo que o tamanho máximo para upload foi excedido, não sendo possivel fazer o upload do arquivo, este valor pode ser alterado, porém, pode acontecer da aplicação ficar instavel, pois a alteração que será feita vai alterar a quantidade de acessos, o tempo de execução das páginas e etc.</p>
<p>O Jeito simples e rápido de consertar esta falha é alterando o Web.Config inserindo esta tag:</p><pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">system.web</span><span class="kwrd">&gt;</span>
  <span class="kwrd">&lt;</span><span class="html">httpRuntime</span> <span class="attr">executionTimeout</span><span class="kwrd">="240"</span> <span class="attr">maxRequestLength</span><span class="kwrd">="20480"</span> <span class="kwrd">/&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">system.web</span><span class="kwrd">&gt;</span></pre><pre class="csharpcode"><span class="kwrd"></span> </pre>
<p>Tornando assim sua aplicação com um tempo de execução maior e permitindo arquivos de aproximadamente 20mb, lembrando que acarretará no problema da performance;</p>
<p>Após esta alteração seria interessante exibir ao usuario que o maximo permitido é o valor que está setado por voce, para isso utilizar esta maneira que é a mais simples:</p><pre class="csharpcode">System.Configuration.Configuration config = WebConfigurationManager.OpenWebConfiguration(<span class="str">"~"</span>);
HttpRuntimeSection section = config.GetSection(<span class="str">"system.web/httpRuntime"</span>) <span class="kwrd">as</span> HttpRuntimeSection;
<span class="kwrd">double</span> maxFileSize = Math.Round(section.MaxRequestLength / 1024.0, 1);
FileSizeLimit.Text = <span class="kwrd">string</span>.Format(<span class="str">"Make sure your file is under {0:0.#} MB."</span>, maxFileSize);</pre>
<p></p>
<p>Uma outra maneira é utilizar componentes como:</p>
<p>FileUploader.Net (Pago) - <a href="http://www.mediachase.com/fuploader/overview.aspx">(link)</a><br />RadUploader (Pago)- <a href="http://www.telerik.com/products/aspnet/controls/upload/overview.aspx">(link)</a><br />NeatUploader (Até o momento Gratis) - <a href="http://www.brettle.com/neatupload">(link)</a></p>
<p>Um outro controle muito legal é o SWFUpload <a href="http://swfupload.org/">(link)</a></p>
<p> </p>
<p><font size="6"><strong>Upload de diversos arquivos</strong></font></p>
<p>Aqui está um código-fonte para upload de diversos arquivos na mesma página.</p><!-- code formatted by http://manoli.net/csharpformat/ --><pre class="csharpcode"><span class="asp">&lt;%@ Page Language="C#" AutoEventWireup="false" %&gt;</span>
<span class="kwrd">&lt;!</span><span class="html">DOCTYPE</span> <span class="attr">html</span> <span class="attr">PUBLIC</span> <span class="kwrd">"-//W3C//DTD XHTML 1.0 Transitional//EN"</span> 
          <span class="kwrd">"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"</span><span class="kwrd">&gt;</span>
          
<span class="kwrd">&lt;</span><span class="html">html</span> <span class="attr">xmlns</span><span class="kwrd">="http://www.w3.org/1999/xhtml"</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">head</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">title</span><span class="kwrd">&gt;</span>File upload test<span class="kwrd">&lt;/</span><span class="html">title</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">head</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">body</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">form</span> <span class="attr">id</span><span class="kwrd">="form1"</span> <span class="attr">runat</span><span class="kwrd">="server"</span> <span class="attr">enctype</span><span class="kwrd">="multipart/form-data"</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">p</span> <span class="attr">id</span><span class="kwrd">="upload-area"</span><span class="kwrd">&gt;</span>
   <span class="kwrd">&lt;</span><span class="html">input</span> <span class="attr">type</span><span class="kwrd">="file"</span> <span class="attr">runat</span><span class="kwrd">="server"</span> <span class="attr">size</span><span class="kwrd">="60"</span> <span class="kwrd">/&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">p</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">p</span><span class="kwrd">&gt;&lt;</span><span class="html">a</span> <span class="attr">href</span><span class="kwrd">="#"</span> <span class="attr">onclick</span><span class="kwrd">="addFileUploadBox(); return false;"</span><span class="kwrd">&gt;</span>Add file<span class="kwrd">&lt;/</span><span class="html">a</span><span class="kwrd">&gt;&lt;/</span><span class="html">p</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">p</span><span class="kwrd">&gt;&lt;</span><span class="html">asp:Button</span> <span class="attr">ID</span><span class="kwrd">="btnSubmit"</span> <span class="attr">runat</span><span class="kwrd">="server"</span> <span class="attr">Text</span><span class="kwrd">="Upload"</span> <span class="attr">OnClick</span><span class="kwrd">="btnSubmit_Click"</span> <span class="kwrd">/&gt;&lt;/</span><span class="html">p</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;</span><span class="html">script</span> <span class="attr">type</span><span class="kwrd">="text/javascript"</span><span class="kwrd">&gt;</span>
<span class="kwrd">function</span> addFileUploadBox()
{
    <span class="kwrd">if</span> (!document.getElementById || !document.createElement)
        <span class="kwrd">return</span> <span class="kwrd">false</span>;
        
    <span class="kwrd">var</span> uploadArea = document.getElementById (<span class="str">"upload-area"</span>);
    
    <span class="kwrd">if</span> (!uploadArea)
        <span class="kwrd">return</span>;
    <span class="kwrd">var</span> newLine = document.createElement (<span class="str">"br"</span>);
    uploadArea.appendChild (newLine);
    
    <span class="kwrd">var</span> newUploadBox = document.createElement (<span class="str">"input"</span>);
    
    <span class="rem">// Set up the new input for file uploads</span>
    newUploadBox.type = <span class="str">"file"</span>;
    newUploadBox.size = <span class="str">"60"</span>;
    
    <span class="rem">// The new box needs a name and an ID</span>
    <span class="kwrd">if</span> (!addFileUploadBox.lastAssignedId)
        addFileUploadBox.lastAssignedId = 100;
        
    newUploadBox.setAttribute (<span class="str">"id"</span>, <span class="str">"dynamic"</span> + addFileUploadBox.lastAssignedId);
    newUploadBox.setAttribute (<span class="str">"name"</span>, <span class="str">"dynamic:"</span> + addFileUploadBox.lastAssignedId);
    uploadArea.appendChild (newUploadBox);
    
    addFileUploadBox.lastAssignedId++;
}
<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span>
&lt;script type=<span class="str">"text/C#"</span> runat=<span class="str">"server"</span>&gt;
<span class="kwrd">void</span> btnSubmit_Click(<span class="kwrd">object</span> sender, EventArgs e)
{
    HttpFileCollection uploads = HttpContext.Current.Request.Files;
    <span class="kwrd">for</span> (<span class="kwrd">int</span> i = 0; i &lt; uploads.Count; i++)
    {
        HttpPostedFile upload = uploads[i];
        <span class="kwrd">if</span> (upload.ContentLength == 0)
            <span class="kwrd">continue</span>;
        <span class="rem">// ---------------------------------------------------</span>
        <span class="rem">// Save the uploaded file on disk or in database</span>
        <span class="rem">// ---------------------------------------------------</span>
    }
}
<span class="kwrd">&lt;/</span><span class="html">script</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">form</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">body</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">html</span><span class="kwrd">&gt;</span>
</pre>
<p>Abraços,<br />Nícolas <strong>Tarzia</strong></p></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Samsung E320 - Mais nova Aquisição (Jogos/Aplicativos utilizados)</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/25824.aspx</link><pubDate>Tue, 08 Jan 2008 01:00:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/25824.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/25824.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/25824.aspx#feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/25824.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=25824</trackback:ping><description>&lt;p&gt;Recentemente adquiri um celular da samsung, não era o smartphone que estava em meus planos, mas conversando com o rapaz da loja reparei que a 3G ainda não está 100%, e as escolhas de celulares são poucas. Como já tenho um PocketPC (Toshiba e740), prefiri aguardar mais um tempo para fazer esta escolha. A principio, seu peso é minusculo comparando com o V3, que na minha opinião era um dos mais leves, depois, sua capacidade para cartão de memória Mini-SD e mais 10mb na sua memoria interna, Reprodutor MP3, Camera digital 1.3MP, Wap 2.0, Visor de 128 x 160 pixels.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH: 203px; HEIGHT: 127px" height="201" src="http://www.phonemag.ch/mkportal/modules/reviews/images/samsungE230.JPG" width="397" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Agora os softwares que já estão neste pequeno celular:&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Forgotten Warrior (já veio instalado)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;      Jogo que lembra muito o Mario Bros&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.mobileburn.com/media/samsung/sgh-d600/thumb_samsung_sgh-d600_screen-Image_0316.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Freekick(já veio instalado)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;   Jogo HIPER interessante, realmente a SAMSUNG caprichou na escolha dos games deste celular, este game voce é um atacante e tem por objetivos cobrar faltas e marcar o gol!&lt;/p&gt;
&lt;p&gt;&lt;img style="WIDTH: 150px; HEIGHT: 206px" height="282" src="http://www.mxphone.com/picture/attach/following/13977.jpg" width="150" /&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;MonoTycoon2007 (já veio instalado)&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt; Dificil até dizer, eu que instalei tantas vezes este jogo no meu PC, para perder a paciencia e desistir, rs, Quem não se lembra do Banco Imobiliario&lt;font size="4"&gt;™, pois bem, porém com gráficos 3D e tudo mais.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="4"&gt;&lt;/font&gt; &lt;/p&gt;
&lt;p&gt;&lt;img height="216" src="http://supernokia.ru/gamesim/05mono200701.jpg" width="184" /&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Tour de France 2007&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;  Realmente este jogo é muito interessante, voce é tecnico de uma equipe de ciclismo, e tem que treina-la para ganhar o Tour da França, uma jogabilidade excelente.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img411.imageshack.us/img411/9158/tourdefrance2007nk3.jpg" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Rock Empire&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Não tenho muito o que falar deste jogo, gosto de rock e portanto instalei este jogo para ter a minha casa de show's. Nele realmente voce se sente dono de uma casa de show's de rock MUITO legal.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://img127.imageshack.us/img127/5717/28ec6588854034f2hs7.jpg" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Fifa 2008&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jogo deste a versão 97 (pela madrugada estou ficando velho! rs), e sou fã deste a primeira versão&lt;/p&gt;
&lt;p&gt;&lt;img src="http://i24.tinypic.com/116v18h.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;- The Simpsons&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jogo dos Simpsons, você controla o Homer, para não expludir a fabrica e consequentemente comer todos os Donut's possiveis&lt;/p&gt;
&lt;p&gt;&lt;img src="http://lilainwonderland.files.wordpress.com/2007/07/simpsons.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;-&lt;strong&gt; Da Vinci Behind the Secret&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Gostei bastante do filme, porém, o jogo deixou a desejar, vai ser o proximo a sair da lista. Você tem que descobrir um defeito na Monalisa, jogo intediante! &lt;/p&gt;
&lt;p&gt;PS: Não encontrei nem fotos dele&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;- Heroes&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jogo do seriado Heroes, não tenho muito o que falar pois não assisto muito o seriado, porém, pela jogabilidade vai ficar mais um bom tempo na minha lista!&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.heroestheseries.com/stills/heroes-game-screenshot.thumbnail.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;RolangGarros 2007&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jogo para perder horas jogando, se puder ir no banheiro jogando, você é um tenista que participa da Rolang Garros, jogabilidade excelente.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://tvoy.mobi/uploads/posts/1170374225_1170362656_rolandcarros01no60.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;- &lt;strong&gt;Death Trap2&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Jogo onde você tem que procurar os vestigios na casa para poder se livrar dos mosrtos que percorrem a casa. Muito interessante&lt;/p&gt;
&lt;p&gt;&lt;img src="http://corp.funmobile.com/gamephoto/ban3_213_eng_death_trap_2_last_release.jpg" /&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;- Gmail&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Não preciso nem falar mais nada! O melhor e-mail que existe até hoje! Portanto não posso ficar sem! Devido ao meu plano 200kb's. Dá pra usar legal este leitor de e-mail Sincronizo apenas na hora que preciso&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Pretendo agora instalar alguns aplicativos para controle de consumo do carro e desenvolver outros, para teste de performance do java no celular :)&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Abraços a Todos!&lt;br /&gt;Nícolas &lt;strong&gt;Tarzia&lt;/strong&gt;&lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Recentemente adquiri um celular da samsung, não era o smartphone que estava em meus planos, mas conversando com o rapaz da loja reparei que a 3G ainda não está 100%, e as escolhas de celulares são poucas. Como já tenho um PocketPC (Toshiba e740), prefiri aguardar mais um tempo para fazer esta escolha. A principio, seu peso é minusculo comparando com o V3, que na minha opinião era um dos mais leves, depois, sua capacidade para cartão de memória Mini-SD e mais 10mb na sua memoria interna, Reprodutor MP3, Camera digital 1.3MP, Wap 2.0, Visor de 128 x 160 pixels.</p>
<p> </p>
<p><img style="WIDTH: 203px; HEIGHT: 127px" height="201" src="http://www.phonemag.ch/mkportal/modules/reviews/images/samsungE230.JPG" width="397" /></p>
<p> </p>
<p>Agora os softwares que já estão neste pequeno celular:</p>
<p>- <strong>Forgotten Warrior (já veio instalado)</strong></p>
<p>      Jogo que lembra muito o Mario Bros</p>
<p><img src="http://www.mobileburn.com/media/samsung/sgh-d600/thumb_samsung_sgh-d600_screen-Image_0316.jpg" /></p>
<p>- <strong>Freekick(já veio instalado)</strong></p>
<p>   Jogo HIPER interessante, realmente a SAMSUNG caprichou na escolha dos games deste celular, este game voce é um atacante e tem por objetivos cobrar faltas e marcar o gol!</p>
<p><img style="WIDTH: 150px; HEIGHT: 206px" height="282" src="http://www.mxphone.com/picture/attach/following/13977.jpg" width="150" /> </p>
<p> </p>
<p>- <strong>MonoTycoon2007 (já veio instalado)</strong></p>
<p> Dificil até dizer, eu que instalei tantas vezes este jogo no meu PC, para perder a paciencia e desistir, rs, Quem não se lembra do Banco Imobiliario<font size="4">™, pois bem, porém com gráficos 3D e tudo mais.</font></p>
<p><font size="4"></font> </p>
<p><img height="216" src="http://supernokia.ru/gamesim/05mono200701.jpg" width="184" /> </p>
<p> </p>
<p>- <strong>Tour de France 2007</strong></p>
<p>  Realmente este jogo é muito interessante, voce é tecnico de uma equipe de ciclismo, e tem que treina-la para ganhar o Tour da França, uma jogabilidade excelente.</p>
<p><img src="http://img411.imageshack.us/img411/9158/tourdefrance2007nk3.jpg" /></p>
<p> </p>
<p>- <strong>Rock Empire</strong></p>
<p>Não tenho muito o que falar deste jogo, gosto de rock e portanto instalei este jogo para ter a minha casa de show's. Nele realmente voce se sente dono de uma casa de show's de rock MUITO legal.</p>
<p><img src="http://img127.imageshack.us/img127/5717/28ec6588854034f2hs7.jpg" /></p>
<p> </p>
<p>- <strong>Fifa 2008</strong></p>
<p>Jogo deste a versão 97 (pela madrugada estou ficando velho! rs), e sou fã deste a primeira versão</p>
<p><img src="http://i24.tinypic.com/116v18h.jpg" /></p>
<p><strong>- The Simpsons</strong></p>
<p>Jogo dos Simpsons, você controla o Homer, para não expludir a fabrica e consequentemente comer todos os Donut's possiveis</p>
<p><img src="http://lilainwonderland.files.wordpress.com/2007/07/simpsons.jpg" /></p>
<p>-<strong> Da Vinci Behind the Secret</strong></p>
<p>Gostei bastante do filme, porém, o jogo deixou a desejar, vai ser o proximo a sair da lista. Você tem que descobrir um defeito na Monalisa, jogo intediante! </p>
<p>PS: Não encontrei nem fotos dele</p>
<p><strong>- Heroes</strong></p>
<p>Jogo do seriado Heroes, não tenho muito o que falar pois não assisto muito o seriado, porém, pela jogabilidade vai ficar mais um bom tempo na minha lista!</p>
<p><img src="http://www.heroestheseries.com/stills/heroes-game-screenshot.thumbnail.jpg" /></p>
<p>- <strong>RolangGarros 2007</strong></p>
<p>Jogo para perder horas jogando, se puder ir no banheiro jogando, você é um tenista que participa da Rolang Garros, jogabilidade excelente.</p>
<p><img src="http://tvoy.mobi/uploads/posts/1170374225_1170362656_rolandcarros01no60.jpg" /></p>
<p>- <strong>Death Trap2</strong></p>
<p>Jogo onde você tem que procurar os vestigios na casa para poder se livrar dos mosrtos que percorrem a casa. Muito interessante</p>
<p><img src="http://corp.funmobile.com/gamephoto/ban3_213_eng_death_trap_2_last_release.jpg" /></p>
<p><strong>- Gmail</strong></p>
<p>Não preciso nem falar mais nada! O melhor e-mail que existe até hoje! Portanto não posso ficar sem! Devido ao meu plano 200kb's. Dá pra usar legal este leitor de e-mail Sincronizo apenas na hora que preciso</p>
<p> </p>
<p>Pretendo agora instalar alguns aplicativos para controle de consumo do carro e desenvolver outros, para teste de performance do java no celular :)</p>
<p> </p>
<p> </p>
<p> </p>
<p>Abraços a Todos!<br />Nícolas <strong>Tarzia</strong></p></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Retomando projeto parado</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/25813.aspx</link><pubDate>Mon, 07 Jan 2008 18:46:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/25813.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/25813.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/25813.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/25813.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=25813</trackback:ping><description>&lt;p&gt;Ultimamente andei pensando em alguma coisa inovadora para postar com as novas tecnologias, portanto nada mais nada menos, do que além de estudar é fechar um projeto e disponibilizar para quem deseja estudar, o tema é o mesmo da minha apresentação do ensino técnico.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Nome do Projeto: &lt;/strong&gt;SuperMob.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Objetivo do projeto&lt;/strong&gt;: Facilitar o usuario na sua compra, sendo que o usuario seleciona os produtos e automaticamente o sistema gera automaticamente uma lista de quanto ele irá gastar, podendo fazer esta lista na sua casa ou na hora com seu pocket pc. Atualizando a lista de compras e etc. &lt;br /&gt;Automaticamente quando o usuario já finalizou sua compra, ele mostra para o caixa apenas o que ele comprou e o numero da sua compra, ou se ele estiver com o PocketPC. Automaticamente é sincronizado a lista de compra com o PC do Caixa!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Técnologias utilizadas: &lt;/strong&gt;C#, ASP.NET, AJAX, WebService, Sql Server 2005.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;img src="/images/weblogs_pontonetpt_com/nicolastarzia/1452/r_SuperMob.jpg" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Abraços a todos,&lt;br /&gt;Nícolas &lt;strong&gt;Tarzia&lt;/strong&gt;&lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Ultimamente andei pensando em alguma coisa inovadora para postar com as novas tecnologias, portanto nada mais nada menos, do que além de estudar é fechar um projeto e disponibilizar para quem deseja estudar, o tema é o mesmo da minha apresentação do ensino técnico.</p>
<p><strong>Nome do Projeto: </strong>SuperMob.</p>
<p><strong>Objetivo do projeto</strong>: Facilitar o usuario na sua compra, sendo que o usuario seleciona os produtos e automaticamente o sistema gera automaticamente uma lista de quanto ele irá gastar, podendo fazer esta lista na sua casa ou na hora com seu pocket pc. Atualizando a lista de compras e etc. <br />Automaticamente quando o usuario já finalizou sua compra, ele mostra para o caixa apenas o que ele comprou e o numero da sua compra, ou se ele estiver com o PocketPC. Automaticamente é sincronizado a lista de compra com o PC do Caixa!</p>
<p><strong>Técnologias utilizadas: </strong>C#, ASP.NET, AJAX, WebService, Sql Server 2005.</p>
<p> </p>
<p> </p>
<p><img src="/images/weblogs_pontonetpt_com/nicolastarzia/1452/r_SuperMob.jpg" /></p>
<p> </p>
<p>Abraços a todos,<br />Nícolas <strong>Tarzia</strong></p></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Formatação de códigos-fonte no blog</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/22750.aspx</link><pubDate>Fri, 14 Sep 2007 21:56:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/22750.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/22750.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/22750.aspx#feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/22750.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=22750</trackback:ping><description>&lt;p&gt;Bom pessoal recentemente eu tinha um problema que era a desorganização do código fonte que postava nos blogs, e recentemente encontrei uma ferramenta que vou disponibilizar para voces. &lt;/p&gt;
&lt;p&gt;&lt;a href="http://manoli.net/csharpformat/"&gt;http://manoli.net/csharpformat/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Agora vou postar para voces alguns exemplo do que se pode fazer com esta ferramenta:&lt;/p&gt;
&lt;div class="csharpcode"&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;sub&lt;/span&gt; Teste(&lt;span class="kwrd"&gt;byval&lt;/span&gt; strNome &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;dim&lt;/span&gt; a &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;&lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt; &lt;/pre&gt;&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="kwrd"&gt;end&lt;/span&gt; sub&lt;/pre&gt;&lt;/div&gt;Um outro exemplo é: 
&lt;div class="csharpcode"&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;sub&lt;/span&gt; Teste(&lt;span class="kwrd"&gt;byval&lt;/span&gt; strNome &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;)&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;&lt;span class="kwrd"&gt;dim&lt;/span&gt; a &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt; &lt;/pre&gt;&lt;pre&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;&lt;span class="kwrd"&gt;end&lt;/span&gt; sub&lt;/pre&gt;&lt;/div&gt;e este outro exemplo, sem os numeros das linhas: &lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;sub&lt;/span&gt; Teste(&lt;span class="kwrd"&gt;byval&lt;/span&gt; strNome &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;)
&lt;span class="kwrd"&gt;dim&lt;/span&gt; a &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt;

&lt;span class="kwrd"&gt;end&lt;/span&gt; sub&lt;/pre&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Bom pessoal recentemente eu tinha um problema que era a desorganização do código fonte que postava nos blogs, e recentemente encontrei uma ferramenta que vou disponibilizar para voces. </p>
<p><a href="http://manoli.net/csharpformat/">http://manoli.net/csharpformat/</a></p>
<p> </p>
<p>Agora vou postar para voces alguns exemplo do que se pode fazer com esta ferramenta:</p>
<div class="csharpcode"><pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">public</span> <span class="kwrd">sub</span> Teste(<span class="kwrd">byval</span> strNome <span class="kwrd">as</span> <span class="kwrd">string</span>)</pre><pre><span class="lnum">   2:  </span><span class="kwrd">dim</span> a <span class="kwrd">as</span> <span class="kwrd">string</span></pre><pre class="alt"><span class="lnum">   3:  </span> </pre><pre><span class="lnum">   4:  </span> </pre><pre class="alt"><span class="lnum">   5:  </span><span class="kwrd">end</span> sub</pre></div>Um outro exemplo é: 
<div class="csharpcode"><pre><span class="lnum">   1:  </span><span class="kwrd">public</span> <span class="kwrd">sub</span> Teste(<span class="kwrd">byval</span> strNome <span class="kwrd">as</span> <span class="kwrd">string</span>)</pre><pre><span class="lnum">   2:  </span><span class="kwrd">dim</span> a <span class="kwrd">as</span> <span class="kwrd">string</span></pre><pre><span class="lnum">   3:  </span> </pre><pre><span class="lnum">   4:  </span> </pre><pre><span class="lnum">   5:  </span><span class="kwrd">end</span> sub</pre></div>e este outro exemplo, sem os numeros das linhas: <pre class="csharpcode"><span class="kwrd">public</span> <span class="kwrd">sub</span> Teste(<span class="kwrd">byval</span> strNome <span class="kwrd">as</span> <span class="kwrd">string</span>)
<span class="kwrd">dim</span> a <span class="kwrd">as</span> <span class="kwrd">string</span>

<span class="kwrd">end</span> sub</pre></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Somarizando por grupos no dataset</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/22356.aspx</link><pubDate>Wed, 05 Sep 2007 02:55:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/22356.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/22356.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/22356.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/22356.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=22356</trackback:ping><description>&lt;p&gt;Bom pessoal ultimamente não tenho postado muito, mas vou tentar colocar umas dicas e sugestões aqui também e se tiver novidades coloco também...&lt;/p&gt;
&lt;p&gt;Ultimamente tive um sério problema, onde precisava inserir uma linha no dataset em cada grupo, exibindo o total de registros, então todos os campos que forem Numéricos, irei soma-los .... e inserir uma linha a cada grupo ....&lt;br /&gt;então to postando aqui uma função para montar toda esta estrutura no dataset ....&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;

&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;Public&lt;/span&gt; &lt;span class="kwrd"&gt;Function&lt;/span&gt; DataSetFormatado(&lt;span class="kwrd"&gt;ByVal&lt;/span&gt; dsPrincipal &lt;span class="kwrd"&gt;As&lt;/span&gt; DataSet) &lt;span class="kwrd"&gt;As&lt;/span&gt; DataSet&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   2:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; dsAuxiliar &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;New&lt;/span&gt; DataSet&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   3:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; iCount &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = 0&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   4:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; iContador &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = dsPrincipal.Tables(0).Columns.Count - 1&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   5:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; strVerifica &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;String&lt;/span&gt; = &lt;span class="str"&gt;""&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   6:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; iVerifica(iContador) &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   7:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; drAuxiliar &lt;span class="kwrd"&gt;As&lt;/span&gt; DataRow&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;   8:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; strAuxiliar &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Object&lt;/span&gt; = &lt;span class="str"&gt;""&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   9:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Dim&lt;/span&gt; iCount2 &lt;span class="kwrd"&gt;As&lt;/span&gt; &lt;span class="kwrd"&gt;Integer&lt;/span&gt; = 0&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  10:  &lt;/span&gt;    dsAuxiliar.Tables.Add()&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  11:  &lt;/span&gt;    &lt;span class="kwrd"&gt;With&lt;/span&gt; dsAuxiliar.Tables(0).Columns&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  12:  &lt;/span&gt;      &lt;span class="kwrd"&gt;For&lt;/span&gt; iCount2 = 0 &lt;span class="kwrd"&gt;To&lt;/span&gt; iContador&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  13:  &lt;/span&gt;        .Add(dsPrincipal.Tables(0).Columns(iCount2).ColumnName, dsPrincipal.Tables(0).Columns(iCount2).DataType, dsPrincipal.Tables(0).Columns(iCount2).Expression)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  14:  &lt;/span&gt;      &lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  15:  &lt;/span&gt;    &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;With&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  16:  &lt;/span&gt; &lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  17:  &lt;/span&gt;    iCount2 = 0&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  18:  &lt;/span&gt;    &lt;span class="kwrd"&gt;For&lt;/span&gt; iCount = 0 &lt;span class="kwrd"&gt;To&lt;/span&gt; dsPrincipal.Tables(0).Rows.Count - 1&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  19:  &lt;/span&gt;      &lt;span class="kwrd"&gt;If&lt;/span&gt; strVerifica &amp;amp;lt;&amp;amp;gt; dsPrincipal.Tables(0).Rows(iCount).Item(0) &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  20:  &lt;/span&gt;        drAuxiliar = dsPrincipal.Tables(0).NewRow&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  21:  &lt;/span&gt;        iCount2 = 0&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  22:  &lt;/span&gt;        &lt;span class="kwrd"&gt;For&lt;/span&gt; iCount2 = 0 &lt;span class="kwrd"&gt;To&lt;/span&gt; iContador&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  23:  &lt;/span&gt;          &lt;span class="kwrd"&gt;If&lt;/span&gt; iCount2 = 0 &lt;span class="kwrd"&gt;Or&lt;/span&gt; iCount2 = 1 &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  24:  &lt;/span&gt;            &lt;span class="kwrd"&gt;If&lt;/span&gt; iCount2 = 1 &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  25:  &lt;/span&gt;              drAuxiliar(iCount2) = &lt;span class="str"&gt;"TOTAL: "&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  26:  &lt;/span&gt;            &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  27:  &lt;/span&gt;          &lt;span class="kwrd"&gt;Else&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  28:  &lt;/span&gt;            drAuxiliar(iCount2) = iVerifica(iCount2)&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  29:  &lt;/span&gt;          &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  30:  &lt;/span&gt;          &lt;span class="kwrd"&gt;If&lt;/span&gt; IsNumeric(dsPrincipal.Tables(0).Rows(iCount).Item(iCount2)) &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  31:  &lt;/span&gt;            iVerifica(iCount2) = dsPrincipal.Tables(0).Rows(iCount).Item(iCount2)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  32:  &lt;/span&gt;          &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  33:  &lt;/span&gt;        &lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  34:  &lt;/span&gt;        &lt;span class="kwrd"&gt;If&lt;/span&gt; iCount &amp;amp;gt; 0 &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  35:  &lt;/span&gt;          dsAuxiliar.Tables(0).Rows.Add(drAuxiliar.ItemArray)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  36:  &lt;/span&gt;        &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  37:  &lt;/span&gt;        strVerifica = dsPrincipal.Tables(0).Rows(iCount).Item(0)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  38:  &lt;/span&gt;      &lt;span class="kwrd"&gt;Else&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  39:  &lt;/span&gt;        &lt;span class="kwrd"&gt;For&lt;/span&gt; iCount2 = 0 &lt;span class="kwrd"&gt;To&lt;/span&gt; iContador&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  40:  &lt;/span&gt;          &lt;span class="kwrd"&gt;If&lt;/span&gt; IsNumeric(dsPrincipal.Tables(0).Rows(iCount).Item(iCount2)) &lt;span class="kwrd"&gt;Then&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  41:  &lt;/span&gt;            iVerifica(iCount2) += dsPrincipal.Tables(0).Rows(iCount).Item(iCount2)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  42:  &lt;/span&gt;          &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  43:  &lt;/span&gt;        &lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  44:  &lt;/span&gt;      &lt;span class="kwrd"&gt;End&lt;/span&gt; &lt;span class="kwrd"&gt;If&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  45:  &lt;/span&gt;     dsAuxiliar.Tables(0).Rows.Add(dsPrincipal.Tables(0).Rows(iCount).ItemArray)&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  46:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Next&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;  47:  &lt;/span&gt;    &lt;span class="kwrd"&gt;Return&lt;/span&gt; dsAuxiliar&lt;/pre&gt;
&lt;pre&gt;&lt;span class="lnum"&gt;  48:  &lt;/span&gt;  &lt;span class="kwrd"&gt;End&lt;/span&gt; Function&lt;/pre&gt;
&lt;/div&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Bom pessoal ultimamente não tenho postado muito, mas vou tentar colocar umas dicas e sugestões aqui também e se tiver novidades coloco também...</p>
<p>Ultimamente tive um sério problema, onde precisava inserir uma linha no dataset em cada grupo, exibindo o total de registros, então todos os campos que forem Numéricos, irei soma-los .... e inserir uma linha a cada grupo ....<br />então to postando aqui uma função para montar toda esta estrutura no dataset ....</p>
<p> </p>

<!-- code formatted by http://manoli.net/csharpformat/ -->
<div class="csharpcode">
<pre class="alt"><span class="lnum">   1:  </span><span class="kwrd">Public</span> <span class="kwrd">Function</span> DataSetFormatado(<span class="kwrd">ByVal</span> dsPrincipal <span class="kwrd">As</span> DataSet) <span class="kwrd">As</span> DataSet</pre>
<pre><span class="lnum">   2:  </span>    <span class="kwrd">Dim</span> dsAuxiliar <span class="kwrd">As</span> <span class="kwrd">New</span> DataSet</pre>
<pre class="alt"><span class="lnum">   3:  </span>    <span class="kwrd">Dim</span> iCount <span class="kwrd">As</span> <span class="kwrd">Integer</span> = 0</pre>
<pre><span class="lnum">   4:  </span>    <span class="kwrd">Dim</span> iContador <span class="kwrd">As</span> <span class="kwrd">Integer</span> = dsPrincipal.Tables(0).Columns.Count - 1</pre>
<pre class="alt"><span class="lnum">   5:  </span>    <span class="kwrd">Dim</span> strVerifica <span class="kwrd">As</span> <span class="kwrd">String</span> = <span class="str">""</span></pre>
<pre><span class="lnum">   6:  </span>    <span class="kwrd">Dim</span> iVerifica(iContador) <span class="kwrd">As</span> <span class="kwrd">Integer</span></pre>
<pre class="alt"><span class="lnum">   7:  </span>    <span class="kwrd">Dim</span> drAuxiliar <span class="kwrd">As</span> DataRow</pre>
<pre><span class="lnum">   8:  </span>    <span class="kwrd">Dim</span> strAuxiliar <span class="kwrd">As</span> <span class="kwrd">Object</span> = <span class="str">""</span></pre>
<pre class="alt"><span class="lnum">   9:  </span>    <span class="kwrd">Dim</span> iCount2 <span class="kwrd">As</span> <span class="kwrd">Integer</span> = 0</pre>
<pre><span class="lnum">  10:  </span>    dsAuxiliar.Tables.Add()</pre>
<pre class="alt"><span class="lnum">  11:  </span>    <span class="kwrd">With</span> dsAuxiliar.Tables(0).Columns</pre>
<pre><span class="lnum">  12:  </span>      <span class="kwrd">For</span> iCount2 = 0 <span class="kwrd">To</span> iContador</pre>
<pre class="alt"><span class="lnum">  13:  </span>        .Add(dsPrincipal.Tables(0).Columns(iCount2).ColumnName, dsPrincipal.Tables(0).Columns(iCount2).DataType, dsPrincipal.Tables(0).Columns(iCount2).Expression)</pre>
<pre><span class="lnum">  14:  </span>      <span class="kwrd">Next</span></pre>
<pre class="alt"><span class="lnum">  15:  </span>    <span class="kwrd">End</span> <span class="kwrd">With</span></pre>
<pre><span class="lnum">  16:  </span> </pre>
<pre class="alt"><span class="lnum">  17:  </span>    iCount2 = 0</pre>
<pre><span class="lnum">  18:  </span>    <span class="kwrd">For</span> iCount = 0 <span class="kwrd">To</span> dsPrincipal.Tables(0).Rows.Count - 1</pre>
<pre class="alt"><span class="lnum">  19:  </span>      <span class="kwrd">If</span> strVerifica &amp;lt;&amp;gt; dsPrincipal.Tables(0).Rows(iCount).Item(0) <span class="kwrd">Then</span></pre>
<pre><span class="lnum">  20:  </span>        drAuxiliar = dsPrincipal.Tables(0).NewRow</pre>
<pre class="alt"><span class="lnum">  21:  </span>        iCount2 = 0</pre>
<pre><span class="lnum">  22:  </span>        <span class="kwrd">For</span> iCount2 = 0 <span class="kwrd">To</span> iContador</pre>
<pre class="alt"><span class="lnum">  23:  </span>          <span class="kwrd">If</span> iCount2 = 0 <span class="kwrd">Or</span> iCount2 = 1 <span class="kwrd">Then</span></pre>
<pre><span class="lnum">  24:  </span>            <span class="kwrd">If</span> iCount2 = 1 <span class="kwrd">Then</span></pre>
<pre class="alt"><span class="lnum">  25:  </span>              drAuxiliar(iCount2) = <span class="str">"TOTAL: "</span></pre>
<pre><span class="lnum">  26:  </span>            <span class="kwrd">End</span> <span class="kwrd">If</span></pre>
<pre class="alt"><span class="lnum">  27:  </span>          <span class="kwrd">Else</span></pre>
<pre><span class="lnum">  28:  </span>            drAuxiliar(iCount2) = iVerifica(iCount2)</pre>
<pre class="alt"><span class="lnum">  29:  </span>          <span class="kwrd">End</span> <span class="kwrd">If</span></pre>
<pre><span class="lnum">  30:  </span>          <span class="kwrd">If</span> IsNumeric(dsPrincipal.Tables(0).Rows(iCount).Item(iCount2)) <span class="kwrd">Then</span></pre>
<pre class="alt"><span class="lnum">  31:  </span>            iVerifica(iCount2) = dsPrincipal.Tables(0).Rows(iCount).Item(iCount2)</pre>
<pre><span class="lnum">  32:  </span>          <span class="kwrd">End</span> <span class="kwrd">If</span></pre>
<pre class="alt"><span class="lnum">  33:  </span>        <span class="kwrd">Next</span></pre>
<pre><span class="lnum">  34:  </span>        <span class="kwrd">If</span> iCount &amp;gt; 0 <span class="kwrd">Then</span></pre>
<pre class="alt"><span class="lnum">  35:  </span>          dsAuxiliar.Tables(0).Rows.Add(drAuxiliar.ItemArray)</pre>
<pre><span class="lnum">  36:  </span>        <span class="kwrd">End</span> <span class="kwrd">If</span></pre>
<pre class="alt"><span class="lnum">  37:  </span>        strVerifica = dsPrincipal.Tables(0).Rows(iCount).Item(0)</pre>
<pre><span class="lnum">  38:  </span>      <span class="kwrd">Else</span></pre>
<pre class="alt"><span class="lnum">  39:  </span>        <span class="kwrd">For</span> iCount2 = 0 <span class="kwrd">To</span> iContador</pre>
<pre><span class="lnum">  40:  </span>          <span class="kwrd">If</span> IsNumeric(dsPrincipal.Tables(0).Rows(iCount).Item(iCount2)) <span class="kwrd">Then</span></pre>
<pre class="alt"><span class="lnum">  41:  </span>            iVerifica(iCount2) += dsPrincipal.Tables(0).Rows(iCount).Item(iCount2)</pre>
<pre><span class="lnum">  42:  </span>          <span class="kwrd">End</span> <span class="kwrd">If</span></pre>
<pre class="alt"><span class="lnum">  43:  </span>        <span class="kwrd">Next</span></pre>
<pre><span class="lnum">  44:  </span>      <span class="kwrd">End</span> <span class="kwrd">If</span></pre>
<pre class="alt"><span class="lnum">  45:  </span>     dsAuxiliar.Tables(0).Rows.Add(dsPrincipal.Tables(0).Rows(iCount).ItemArray)</pre>
<pre><span class="lnum">  46:  </span>    <span class="kwrd">Next</span></pre>
<pre class="alt"><span class="lnum">  47:  </span>    <span class="kwrd">Return</span> dsAuxiliar</pre>
<pre><span class="lnum">  48:  </span>  <span class="kwrd">End</span> Function</pre>
</div></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Microsoft disponibiliza e-Learning</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/18961.aspx</link><pubDate>Wed, 01 Aug 2007 17:35:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/18961.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/18961.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/18961.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/18961.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=18961</trackback:ping><description>&lt;p&gt;Bom pessoal, não sei se é novidade para todo mundo, mas a Microsoft disponibilizou o e-learning para desenvolvedores, usuarios do Office e Profissionais de Infra estrutura, quem quiser estou disponibilizando a lista de cursos disponiveis.&lt;br /&gt;&lt;/p&gt;
&lt;li class="pageText"&gt;&lt;a href="https://www.microsoftelearning.com/catalog/homeAndOffice.aspx"&gt;Usuarios domésticos e Usuarios do Office&lt;/a&gt; 
&lt;ul&gt;
&lt;li class="pageText"&gt;&lt;a href="https://www.microsoftelearning.com/catalog/homeAndOffice.aspx#OfficeSystems"&gt;Microsoft Office&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/homeAndOffice.aspx#Windows"&gt;Microsoft Windows&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/itpro.aspx"&gt;Catalogo de Infra estrutura&lt;/a&gt; 
&lt;ul&gt;
&lt;li class="pageText"&gt;&lt;a href="https://www.microsoftelearning.com/catalog/itpro.aspx#OfficeSystems"&gt;Microsoft Office&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/itpro.aspx#ServerProducts"&gt;Microsoft Server Products&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/itpro.aspx#WindowsMobile"&gt;Windows Mobile&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/itpro.aspx#OperatingSystems"&gt;Windows Operating Systems&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/itpro.aspx#Security"&gt;Security&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx"&gt;Catalogo de desenvolvimento&lt;/a&gt;&lt;/li&gt;
&lt;p class="pageText"&gt;&lt;br /&gt;&lt;font class="pageText" style="MARGIN-LEFT: 20px"&gt;&lt;strong&gt;Técnologias&lt;/strong&gt;&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p class="pageText"&gt;
&lt;/p&gt;&lt;ul&gt;
&lt;li class="pageText"&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#Framework"&gt;Microsoft .NET Framework&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#SmartClient"&gt;Windows and Smart Client&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#Web"&gt;Web&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#Xml"&gt;Data &amp;amp; XML&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#DistributedApplications"&gt;Distributed Applications&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#Security"&gt;Security&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#ExpertSeries"&gt;Expert Series&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;&lt;br /&gt;&lt;font class="pageText" style="MARGIN-LEFT: 20px"&gt;&lt;strong&gt;Produtos&lt;/strong&gt;&lt;br /&gt;&lt;/font&gt;
&lt;ul&gt;
&lt;li class="pageText"&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#BizTalk"&gt;Microsoft BizTalk&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#SQLServer"&gt;Microsoft SQL Server&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#VisualStudio"&gt;Microsoft Visual Studio&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a href="https://www.microsoftelearning.com/catalog/developer.aspx#WindowsMobile"&gt;Windows Mobile&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Bom pessoal, não sei se é novidade para todo mundo, mas a Microsoft disponibilizou o e-learning para desenvolvedores, usuarios do Office e Profissionais de Infra estrutura, quem quiser estou disponibilizando a lista de cursos disponiveis.<br /></p>
<li class="pageText"><a href="https://www.microsoftelearning.com/catalog/homeAndOffice.aspx">Usuarios domésticos e Usuarios do Office</a> 
<ul>
<li class="pageText"><a href="https://www.microsoftelearning.com/catalog/homeAndOffice.aspx#OfficeSystems">Microsoft Office</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/homeAndOffice.aspx#Windows">Microsoft Windows</a> </li></ul><br />
</li><li><a href="https://www.microsoftelearning.com/catalog/itpro.aspx">Catalogo de Infra estrutura</a> 
<ul>
<li class="pageText"><a href="https://www.microsoftelearning.com/catalog/itpro.aspx#OfficeSystems">Microsoft Office</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/itpro.aspx#ServerProducts">Microsoft Server Products</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/itpro.aspx#WindowsMobile">Windows Mobile</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/itpro.aspx#OperatingSystems">Windows Operating Systems</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/itpro.aspx#Security">Security</a> </li></ul><br />
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx">Catalogo de desenvolvimento</a></li>
<p class="pageText"><br /><font class="pageText" style="MARGIN-LEFT: 20px"><strong>Técnologias</strong><br /></font></p>
<p class="pageText">
</p><ul>
<li class="pageText"><a href="https://www.microsoftelearning.com/catalog/developer.aspx#Framework">Microsoft .NET Framework</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx#SmartClient">Windows and Smart Client</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx#Web">Web</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx#Xml">Data &amp; XML</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx#DistributedApplications">Distributed Applications</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx#Security">Security</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx#ExpertSeries">Expert Series</a> </li></ul>
<p></p><br /><font class="pageText" style="MARGIN-LEFT: 20px"><strong>Produtos</strong><br /></font>
<ul>
<li class="pageText"><a href="https://www.microsoftelearning.com/catalog/developer.aspx#BizTalk">Microsoft BizTalk</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx#SQLServer">Microsoft SQL Server</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx#VisualStudio">Microsoft Visual Studio</a> 
</li><li><a href="https://www.microsoftelearning.com/catalog/developer.aspx#WindowsMobile">Windows Mobile</a> </li></ul></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Visual Studio 2008 Beta 2 disponivel para download</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/17981.aspx</link><pubDate>Fri, 27 Jul 2007 03:27:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/17981.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/17981.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/17981.aspx#feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/17981.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=17981</trackback:ping><description>&lt;img src="http://msdn2.microsoft.com/en-us/vstudio/aa700831.VS08_v(en-us,MSDN.10).png" /&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Bom pessoal, há algumas semanas atrás ScottGu, havia comentado que nesta quinta feira estaria disponivel o novo Visual Studio Beta 2 para download  então, como ele prometeu e cumpre os horarios, estou disponibilizando o link para download:&lt;/p&gt;
&lt;li&gt;&lt;a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl05',this);" href="http://go.microsoft.com/?linkid=7171915"&gt;Visual Studio 2008 Standard Edition Beta 2&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl06',this);" href="http://go.microsoft.com/?linkid=7171916"&gt;Visual Studio 2008 Professional Edition Beta 2&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl07',this);" href="http://go.microsoft.com/?linkid=7171917"&gt;Visual Studio Team System 2008 - Team Suite Beta 2&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl08',this);" href="http://go.microsoft.com/?linkid=7171919"&gt;Visual Studio Team System 2008 - Team Foundation Server Beta 2&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl09',this);" href="http://go.microsoft.com/?linkid=7171922"&gt;Visual Studio Team System 2008 - Test Load Agent Beta 2&lt;/a&gt; 
&lt;/li&gt;&lt;li&gt;&lt;a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl10',this);" href="http://go.microsoft.com/?linkid=7171921"&gt;MSDN Library for Visual Studio 2008 Beta 2&lt;/a&gt; 
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Visual Studio 2008 é a nova ferramenta de desenvolvimento para Windows Vista, Office 2007 System, e para Web. O Release Beta 2 inclui muitos produtos do Visual Studio. Quem for assinante do MSDN tem acesso aos arquivos pela &lt;a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl04',this);" href="http://msdn2.microsoft.com/subscriptions/default.aspx"&gt;&lt;font color="#002c99"&gt;MSDN Subscriber Downloads&lt;/font&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Para quem quiser saber mais,&lt;/p&gt;
&lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx"&gt;http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><img src="http://msdn2.microsoft.com/en-us/vstudio/aa700831.VS08_v(en-us,MSDN.10).png" /> 
<p> </p>
<p>Bom pessoal, há algumas semanas atrás ScottGu, havia comentado que nesta quinta feira estaria disponivel o novo Visual Studio Beta 2 para download  então, como ele prometeu e cumpre os horarios, estou disponibilizando o link para download:</p>
<li><a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl05',this);" href="http://go.microsoft.com/?linkid=7171915">Visual Studio 2008 Standard Edition Beta 2</a> 
</li><li><a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl06',this);" href="http://go.microsoft.com/?linkid=7171916">Visual Studio 2008 Professional Edition Beta 2</a> 
</li><li><a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl07',this);" href="http://go.microsoft.com/?linkid=7171917">Visual Studio Team System 2008 - Team Suite Beta 2</a> 
</li><li><a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl08',this);" href="http://go.microsoft.com/?linkid=7171919">Visual Studio Team System 2008 - Team Foundation Server Beta 2</a> 
</li><li><a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl09',this);" href="http://go.microsoft.com/?linkid=7171922">Visual Studio Team System 2008 - Test Load Agent Beta 2</a> 
</li><li><a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl10',this);" href="http://go.microsoft.com/?linkid=7171921">MSDN Library for Visual Studio 2008 Beta 2</a> 
<p> </p>
<p>Visual Studio 2008 é a nova ferramenta de desenvolvimento para Windows Vista, Office 2007 System, e para Web. O Release Beta 2 inclui muitos produtos do Visual Studio. Quem for assinante do MSDN tem acesso aos arquivos pela <a onclick="javascript:Track('ctl00_ctl01|ctl00_ctl04',this);" href="http://msdn2.microsoft.com/subscriptions/default.aspx"><font color="#002c99">MSDN Subscriber Downloads</font></a>.</p>
<p> </p>
<p>Para quem quiser saber mais,</p>
<p><a href="http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx">http://msdn2.microsoft.com/en-us/vstudio/aa700831.aspx</a></p></li></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>WorkFlow, entendendo um pouco como funciona</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/16958.aspx</link><pubDate>Fri, 20 Jul 2007 04:44:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/16958.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/16958.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/16958.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/16958.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=16958</trackback:ping><description>&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Já vi vários lugares que mostram o que é WorkFlow, porém achei poucos com informações de como ele se comporta, portanto para quem ainda não conhece ou ainda não mecheu, eu colocando algumas coisas aqui:&lt;/p&gt;
&lt;p&gt;&lt;i&gt;&lt;strong&gt;&lt;font size="5"&gt;Parte 1- Criando um novo Projeto Workflow&lt;/font&gt; &lt;/strong&gt;&lt;/i&gt;&lt;/p&gt;
&lt;p&gt;Vamos criar agora um projeto Workflow, para um maior entendimento de todos. &lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Passos &lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abra o Visual Studio 2005 
&lt;/li&gt;&lt;li&gt;No Visual Studio 2005 selecione Arquivo &amp;gt; Novo &amp;gt; Projeto. 
&lt;/li&gt;&lt;li&gt;Visual Studio 2005 will display the New Project dialog window. 
&lt;/li&gt;&lt;li&gt;Na caixa de dialogo do novo projeto, selecione Projetos do Visual C# &amp;gt; WorkFlow 
&lt;/li&gt;&lt;li&gt;Selecione pelo nome “Aplicação Console WorkFlow Sequencial” e coloque os seguintes valores: &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Nome:   &lt;i&gt;HelloWorldWorkflow&lt;/i&gt; &lt;/p&gt;
&lt;p&gt;Localização:  &lt;i&gt;…(root)\work\wf\before &lt;/i&gt;&lt;/p&gt;&lt;img src="http://geocities.yahoo.com.br/nicolas_tarzia/image002.jpg" /&gt;&lt;i&gt;&lt;/i&gt; 
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;Agora você tem uma nova solução e um Projeto WorkFlow 
&lt;/li&gt;&lt;li&gt;Por default do projeto, existe o arquivo WorkFlow1.cs, sera removido para criarmos um novo desde o 0. 
&lt;/li&gt;&lt;li&gt;Clique com o botão direito no Projeto HelloWorldWorkFlow, e Adicione um novo item. 
&lt;/li&gt;&lt;li&gt;Na caixa de dialogo Adicione um novo item, selecione pelo nome WorkFlow Sequencial ( sendo que o código irá ficar separado ) e adicione o seu workflow.   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;O novo projeto WorkFlow sequencial  agora contém dois arquivos novos:  &lt;i&gt;Workflow1.xoml&lt;/i&gt; and &lt;i&gt;Workflow1.xoml.cs&lt;/i&gt;.  &lt;i&gt;Workflow1.xoml&lt;/i&gt; contém toda a marcação XML que representa o tipo do WorkFlow.  &lt;i&gt;Workflow1.xoml.cs&lt;/i&gt; contém o código da classe que representa o workflow.  &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;img src="http://br.geocities.com/nicolas_tarzia/image004.jpg" /&gt;&lt;/p&gt;
&lt;p align="center"&gt; &lt;/p&gt;
&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;font size="5"&gt;Parte 2- Adicionando uma atividade de código&lt;/font&gt; &lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Steps &lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abra o arquivo WorkFlow1.xoml onde sera exibido no modo designer. 
&lt;/li&gt;&lt;li&gt;No designer do WorkFlow, selecione &lt;b&gt;View | Toolbox&lt;/b&gt;.  
&lt;/li&gt;&lt;li&gt;Você vai precisar expandir as categorias de Atividades do Windows Workflow Foundation na toolbox. 
&lt;/li&gt;&lt;li&gt;Selecione a atividade &lt;b&gt;Code&lt;/b&gt; na toolbox.   
&lt;/li&gt;&lt;li&gt;Arraste a atividae Code na area Sequencial do Workflow.   &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;·         Irá aparecer uma exclamação dizendo que existe uma propriedade do &lt;b&gt;Code&lt;/b&gt; que não está correta. &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://geocities.yahoo.com.br/nicolas_tarzia/image006.jpg" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;Selecione a Smart tag que existe uma propriedade que está inválida, a ExecuteCode e a propriedade será selecionada.  
&lt;/li&gt;&lt;li&gt;Entre com o valor codeActivity1_CodeHandler no campo da propriedade ExecuteCode   e pressione &lt;b&gt;ENTER&lt;/b&gt;. 
&lt;/li&gt;&lt;li&gt;Isso causará um novo método ou &lt;b&gt;&lt;i&gt;handler&lt;/i&gt;&lt;/b&gt;  que sera adicionado no código do arquivo WorkFlow1.xoml.cs.  O Visual studio automaticamente abrirá o arquivo &lt;i&gt;Workflow1.xoml.cs&lt;/i&gt; e mostrará o método codeActivity1_CodeHandler.  
&lt;/li&gt;&lt;li&gt;O Classe gerada é uma extensão da classe SequentialWorkFlowActivity.  A Classe do código contém o mesmo nome do Workflow. Você deve estar com a sua classe parecida com esta: 
&lt;/li&gt;&lt;li&gt;&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;Insira o seguinte código no método &lt;i&gt;codeActivity1_CodeHandler&lt;/i&gt;  para retornar a string “Hello Y'all!” no console: &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;      &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;Selecione no menu de commandos &lt;b&gt;Build | Build Solution&lt;/b&gt;. Verifique se não existe nenhum erro ou warning de compilação. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;&lt;i&gt;&lt;font size="5"&gt;Parte 3- Rodando um novo WorkFlow com opção de debug &lt;/font&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;i&gt;&lt;/i&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;Para este exercício nós precisaremos configurar o host no arquivo &lt;i&gt;program.cs&lt;/i&gt;  que vem junto com o projeto inicial. Uma alternativa, você pode executar o build da aplicação usando uma API da namespace System.WorkFlow.Runtime, que já está referenciada no seu código. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;Passos &lt;/b&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Abra o visual studio e dê um duplo-clique no arquivo Workflow1.xoml no solution explorer.  
&lt;/li&gt;&lt;li&gt;Clica no objeto codeActivity1 e insira um breakpoint. 
&lt;/li&gt;&lt;li&gt;Para adicionar um breakpoint, pressione com o botão direito no codeActivity1 e escolha &lt;b&gt;Breakpoint&lt;/b&gt; | &lt;b&gt;Insert Breakpoint&lt;/b&gt;. 
&lt;/li&gt;&lt;li&gt;Você vai ver uma imagem como esta: &lt;/li&gt;&lt;/ul&gt;
&lt;p align="left"&gt;&lt;img src="http://geocities.yahoo.com.br/nicolas_tarzia/image008.jpg" /&gt;&lt;/p&gt;
&lt;p align="center"&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;Compile e rode sua aplicação em modo debug. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;·         Você verá que o Console sera iniciado e que a instancia do workflow sera pausada na atividade que você colocou o breakpoint, a marcação em amarelo indica a atividade que o debugger parou. &lt;/p&gt;
&lt;p&gt;&lt;img src="http://geocities.yahoo.com.br/nicolas_tarzia/image010.jpg" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;Escolha &lt;b&gt;Debug&lt;/b&gt; | &lt;b&gt;Step&lt;/b&gt; &lt;b&gt;Into(F10)&lt;/b&gt; no menu e você verá o código fonte sendo executado, como os breakpoints que inserimos nos nossos dia-a-dia. &lt;/li&gt;&lt;/ul&gt;
&lt;p align="left"&gt;&lt;img src="http://geocities.yahoo.com.br/nicolas_tarzia/image012.jpg" /&gt;&lt;/p&gt;
&lt;p align="center"&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;ul type="disc"&gt;
&lt;li&gt;Escolha novamente &lt;b&gt;Debug&lt;/b&gt; | &lt;b&gt;Step Into(F10)&lt;/b&gt; mais um pouco de vezes e você verá a mensagem “Hello, Y'All” no console de quem está executando a aplicação, no caso o host. 
&lt;/li&gt;&lt;li&gt;Este workflow está completo e o programa está encerrado. &lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p align="left"&gt;&lt;img src="http://geocities.yahoo.com.br/nicolas_tarzia/image014.jpg" /&gt;&lt;/p&gt;
&lt;p align="center"&gt; &lt;/p&gt;
&lt;p&gt;&lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p></p>
<p><b></b></p>
<p>Já vi vários lugares que mostram o que é WorkFlow, porém achei poucos com informações de como ele se comporta, portanto para quem ainda não conhece ou ainda não mecheu, eu colocando algumas coisas aqui:</p>
<p><i><strong><font size="5">Parte 1- Criando um novo Projeto Workflow</font> </strong></i></p>
<p>Vamos criar agora um projeto Workflow, para um maior entendimento de todos. </p>
<p><strong>Passos </strong></p>
<ul>
<li>Abra o Visual Studio 2005 
</li><li>No Visual Studio 2005 selecione Arquivo &gt; Novo &gt; Projeto. 
</li><li>Visual Studio 2005 will display the New Project dialog window. 
</li><li>Na caixa de dialogo do novo projeto, selecione Projetos do Visual C# &gt; WorkFlow 
</li><li>Selecione pelo nome “Aplicação Console WorkFlow Sequencial” e coloque os seguintes valores: </li></ul>
<p>Nome:   <i>HelloWorldWorkflow</i> </p>
<p>Localização:  <i>…(root)\work\wf\before </i></p><img src="http://geocities.yahoo.com.br/nicolas_tarzia/image002.jpg" /><i></i> 
<p></p>
<p></p>
<ul type="disc">
<li>Agora você tem uma nova solução e um Projeto WorkFlow 
</li><li>Por default do projeto, existe o arquivo WorkFlow1.cs, sera removido para criarmos um novo desde o 0. 
</li><li>Clique com o botão direito no Projeto HelloWorldWorkFlow, e Adicione um novo item. 
</li><li>Na caixa de dialogo Adicione um novo item, selecione pelo nome WorkFlow Sequencial ( sendo que o código irá ficar separado ) e adicione o seu workflow.   </li></ul>
<p></p>
<p> </p>
<p></p>
<ul>
<li>O novo projeto WorkFlow sequencial  agora contém dois arquivos novos:  <i>Workflow1.xoml</i> and <i>Workflow1.xoml.cs</i>.  <i>Workflow1.xoml</i> contém toda a marcação XML que representa o tipo do WorkFlow.  <i>Workflow1.xoml.cs</i> contém o código da classe que representa o workflow.  </li></ul>
<p></p>
<p align="left"><img src="http://br.geocities.com/nicolas_tarzia/image004.jpg" /></p>
<p align="center"> </p>
<p><br /><br /><br /></p>
<p><b><i><font size="5">Parte 2- Adicionando uma atividade de código</font> </i></b><b><i></i></b></p>
<p><b>Steps </b></p>
<ul>
<li>Abra o arquivo WorkFlow1.xoml onde sera exibido no modo designer. 
</li><li>No designer do WorkFlow, selecione <b>View | Toolbox</b>.  
</li><li>Você vai precisar expandir as categorias de Atividades do Windows Workflow Foundation na toolbox. 
</li><li>Selecione a atividade <b>Code</b> na toolbox.   
</li><li>Arraste a atividae Code na area Sequencial do Workflow.   </li></ul>
<p>·         Irá aparecer uma exclamação dizendo que existe uma propriedade do <b>Code</b> que não está correta. </p>
<p></p>
<p><img src="http://geocities.yahoo.com.br/nicolas_tarzia/image006.jpg" /> </p>
<p></p>
<ul type="disc">
<li>Selecione a Smart tag que existe uma propriedade que está inválida, a ExecuteCode e a propriedade será selecionada.  
</li><li>Entre com o valor codeActivity1_CodeHandler no campo da propriedade ExecuteCode   e pressione <b>ENTER</b>. 
</li><li>Isso causará um novo método ou <b><i>handler</i></b>  que sera adicionado no código do arquivo WorkFlow1.xoml.cs.  O Visual studio automaticamente abrirá o arquivo <i>Workflow1.xoml.cs</i> e mostrará o método codeActivity1_CodeHandler.  
</li><li>O Classe gerada é uma extensão da classe SequentialWorkFlowActivity.  A Classe do código contém o mesmo nome do Workflow. Você deve estar com a sua classe parecida com esta: 
</li><li></li></ul>
<p></p>
<p></p>
<p></p>
<ul type="disc">
<li>Insira o seguinte código no método <i>codeActivity1_CodeHandler</i>  para retornar a string “Hello Y'all!” no console: </li></ul>
<p></p>
<p>      </p>
<p></p>
<p></p>
<p></p>
<ul type="disc">
<li>Selecione no menu de commandos <b>Build | Build Solution</b>. Verifique se não existe nenhum erro ou warning de compilação. </li></ul>
<p></p>
<p><b><i><font size="5">Parte 3- Rodando um novo WorkFlow com opção de debug </font></i></b><b><i></i></b></p>
<p>Para este exercício nós precisaremos configurar o host no arquivo <i>program.cs</i>  que vem junto com o projeto inicial. Uma alternativa, você pode executar o build da aplicação usando uma API da namespace System.WorkFlow.Runtime, que já está referenciada no seu código. </p>
<p><b>Passos </b></p>
<ul>
<li>Abra o visual studio e dê um duplo-clique no arquivo Workflow1.xoml no solution explorer.  
</li><li>Clica no objeto codeActivity1 e insira um breakpoint. 
</li><li>Para adicionar um breakpoint, pressione com o botão direito no codeActivity1 e escolha <b>Breakpoint</b> | <b>Insert Breakpoint</b>. 
</li><li>Você vai ver uma imagem como esta: </li></ul>
<p align="left"><img src="http://geocities.yahoo.com.br/nicolas_tarzia/image008.jpg" /></p>
<p align="center"> </p>
<p></p>
<ul type="disc">
<li>Compile e rode sua aplicação em modo debug. </li></ul>
<p>·         Você verá que o Console sera iniciado e que a instancia do workflow sera pausada na atividade que você colocou o breakpoint, a marcação em amarelo indica a atividade que o debugger parou. </p>
<p><img src="http://geocities.yahoo.com.br/nicolas_tarzia/image010.jpg" /> </p>
<p></p>
<ul type="disc">
<li>Escolha <b>Debug</b> | <b>Step</b> <b>Into(F10)</b> no menu e você verá o código fonte sendo executado, como os breakpoints que inserimos nos nossos dia-a-dia. </li></ul>
<p align="left"><img src="http://geocities.yahoo.com.br/nicolas_tarzia/image012.jpg" /></p>
<p align="center"> </p>
<p></p>
<ul type="disc">
<li>Escolha novamente <b>Debug</b> | <b>Step Into(F10)</b> mais um pouco de vezes e você verá a mensagem “Hello, Y'All” no console de quem está executando a aplicação, no caso o host. 
</li><li>Este workflow está completo e o programa está encerrado. </li></ul>
<p></p>
<p align="left"><img src="http://geocities.yahoo.com.br/nicolas_tarzia/image014.jpg" /></p>
<p align="center"> </p>
<p></p></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Linden Script (Uma nova idéia)</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/16033.aspx</link><pubDate>Sun, 15 Jul 2007 09:34:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/16033.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/16033.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/16033.aspx#feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/16033.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=16033</trackback:ping><description> Atualmente, em todas as midias existem pelo menos uma falando sobre a nova onda do momento. Second Life, então, estou sempre a procura de novos conhecimentos, como uma primeira impressão, achei o Second Life um jogo, porém um jogo sem nenhum objetivo. Encontrei uma semelhança muito grande com o jogo da Maxis The Sims, onde o objetivo era criar sua familia, ou melhor ser bem sucedido. No Second Life, não existe nenhum objetivo, ou melhor acredito que ainda não foi descoberto nenhum objetivo para ele. Como foquei em algumas coisas, já criei uma camiseta personalizada, calça personalizada, entre outras coisas.
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;Até neste ponto, tudo estava MUITO chato para mim, ou melhor, para todo mundo que é desenvolvedor tudo é muito chato, quando de repente apareceu um tal de Linden Script e que estou tentando buscar um profundo conhecimento nesta linguagem.&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;Impressionante, podemos fazer muitas coisas com ela, movimentar objetos, redirecionar o usuario para um mundo diferente, exibir uma pagina da web, criar animações, entre outras coisas, vou colocar aqui uma introdução de como é esta linguagem, e me digam com o que se parece:&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;font color="#800000"&gt;default&lt;/font&gt;&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;{&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;state_entry()&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;{&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;llSay(0,”Oi Avatar!”);&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;}&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;touch_start(integer total_number)&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;{&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;llSay(0,”Tocado.”);&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;}&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;}&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;Algumas empresas já estão se especializando nisso para vender idéias entre outras coisas, estava eu em uma viagem, quando começei a pensar nas possibilidades deste negócio.&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;Imaginem, você no ramo imobiliario, ao invés de expor uma maquete de como vai ficar mais ou menos por fora do seu predio, mostrar na Second Life seu prédio, podendo total interação entre os avatares.&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;Ainda há mais o que pesquisar, porém, estou aberto a qualquer dúvida.&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;&lt;br /&gt;&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;[]'s&lt;/p&gt;
&lt;p style="MARGIN-BOTTOM: 0cm"&gt;Nicolas Tarzia&lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"> Atualmente, em todas as midias existem pelo menos uma falando sobre a nova onda do momento. Second Life, então, estou sempre a procura de novos conhecimentos, como uma primeira impressão, achei o Second Life um jogo, porém um jogo sem nenhum objetivo. Encontrei uma semelhança muito grande com o jogo da Maxis The Sims, onde o objetivo era criar sua familia, ou melhor ser bem sucedido. No Second Life, não existe nenhum objetivo, ou melhor acredito que ainda não foi descoberto nenhum objetivo para ele. Como foquei em algumas coisas, já criei uma camiseta personalizada, calça personalizada, entre outras coisas.
<p style="MARGIN-BOTTOM: 0cm">Até neste ponto, tudo estava MUITO chato para mim, ou melhor, para todo mundo que é desenvolvedor tudo é muito chato, quando de repente apareceu um tal de Linden Script e que estou tentando buscar um profundo conhecimento nesta linguagem.</p>
<p style="MARGIN-BOTTOM: 0cm">Impressionante, podemos fazer muitas coisas com ela, movimentar objetos, redirecionar o usuario para um mundo diferente, exibir uma pagina da web, criar animações, entre outras coisas, vou colocar aqui uma introdução de como é esta linguagem, e me digam com o que se parece:</p>
<p style="MARGIN-BOTTOM: 0cm"><font color="#800000">default</font></p>
<p style="MARGIN-BOTTOM: 0cm">{</p>
<p style="MARGIN-BOTTOM: 0cm">state_entry()</p>
<p style="MARGIN-BOTTOM: 0cm">{</p>
<p style="MARGIN-BOTTOM: 0cm">llSay(0,”Oi Avatar!”);</p>
<p style="MARGIN-BOTTOM: 0cm">}</p>
<p style="MARGIN-BOTTOM: 0cm"></p>
<p style="MARGIN-BOTTOM: 0cm">touch_start(integer total_number)</p>
<p style="MARGIN-BOTTOM: 0cm">{</p>
<p style="MARGIN-BOTTOM: 0cm">llSay(0,”Tocado.”);</p>
<p style="MARGIN-BOTTOM: 0cm">}</p>
<p style="MARGIN-BOTTOM: 0cm">}</p>
<p style="MARGIN-BOTTOM: 0cm"><br /></p>
<p style="MARGIN-BOTTOM: 0cm">Algumas empresas já estão se especializando nisso para vender idéias entre outras coisas, estava eu em uma viagem, quando começei a pensar nas possibilidades deste negócio.</p>
<p style="MARGIN-BOTTOM: 0cm">Imaginem, você no ramo imobiliario, ao invés de expor uma maquete de como vai ficar mais ou menos por fora do seu predio, mostrar na Second Life seu prédio, podendo total interação entre os avatares.</p>
<p style="MARGIN-BOTTOM: 0cm">Ainda há mais o que pesquisar, porém, estou aberto a qualquer dúvida.</p>
<p style="MARGIN-BOTTOM: 0cm"><br /></p>
<p style="MARGIN-BOTTOM: 0cm">[]'s</p>
<p style="MARGIN-BOTTOM: 0cm">Nicolas Tarzia</p></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Comente sua mania aqui também!</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/15562.aspx</link><pubDate>Thu, 05 Jul 2007 02:22:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/15562.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/15562.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/15562.aspx#feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/15562.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=15562</trackback:ping><description>&lt;p&gt;Pessoal, eu tava programando aqui e matutando, procurei sobre o assunto, e não achei nada. Cada um de voces tem uma mania na hora de programar, por exemplo:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Quando estou alterando algum código, eu comento a linha de cima dizendo onde eu comecei a alterar e a data e hora que eu alterei, para nao haver possiveis reclamações do tipo, voce mecheu aqui e agora ferrou tudo.&lt;/li&gt;
&lt;li&gt;Tenho mania de declarar as variaveis no começo do método ou no começo da classe e comenta-las, dizendo o que cada variavel faz. ( no próprio comentario do Visual Studio para gerar documentos )&lt;/li&gt;
&lt;li&gt;Normalmente pulo duas linhas quando acaba um laço de repetição.&lt;/li&gt;
&lt;li&gt;Tento na medida do possivel, quando não existe auto formatação do documento, formatar de maneira correta para que o proximo programador consiga analisar corretamente o método;&lt;/li&gt;
&lt;li&gt;Procuro em tudo que faço, utilizar a metodologia POO, que dependendo do projeto, eu acho MUITO BOA.&lt;/li&gt;
&lt;li&gt;Quando estou desenvolvendo o projeto, procuro não deixar tudo em uma pasta só, por exemplo, Tudo que tem haver com usuario, crio uma pasta Usuarios, e coloco tudo relacionado lá dentro, para não ficar naquela pesquisa irritante de: Qual formulario eu tenho que alterar.&lt;/li&gt;
&lt;li&gt;Não gosto de utilizar o SqlDataSource, como objeto, procuro na medida do possivel fazer tudo via código.&lt;/li&gt;
&lt;li&gt;Quando estou criando Connections e Command's ... procuro utilizar sempre variaveis do próprio command, exemplo: "SELECT * FROM USUARIOS WHERE USER_ID = @USER_ID".&lt;/li&gt;&lt;/ul&gt;
&lt;p&gt;Existem outras manias mas nao consigo lembrar no momento...&lt;/p&gt;
&lt;p&gt;Comentem as suas também!&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Pessoal, eu tava programando aqui e matutando, procurei sobre o assunto, e não achei nada. Cada um de voces tem uma mania na hora de programar, por exemplo:</p>
<ul>
<li>Quando estou alterando algum código, eu comento a linha de cima dizendo onde eu comecei a alterar e a data e hora que eu alterei, para nao haver possiveis reclamações do tipo, voce mecheu aqui e agora ferrou tudo.</li>
<li>Tenho mania de declarar as variaveis no começo do método ou no começo da classe e comenta-las, dizendo o que cada variavel faz. ( no próprio comentario do Visual Studio para gerar documentos )</li>
<li>Normalmente pulo duas linhas quando acaba um laço de repetição.</li>
<li>Tento na medida do possivel, quando não existe auto formatação do documento, formatar de maneira correta para que o proximo programador consiga analisar corretamente o método;</li>
<li>Procuro em tudo que faço, utilizar a metodologia POO, que dependendo do projeto, eu acho MUITO BOA.</li>
<li>Quando estou desenvolvendo o projeto, procuro não deixar tudo em uma pasta só, por exemplo, Tudo que tem haver com usuario, crio uma pasta Usuarios, e coloco tudo relacionado lá dentro, para não ficar naquela pesquisa irritante de: Qual formulario eu tenho que alterar.</li>
<li>Não gosto de utilizar o SqlDataSource, como objeto, procuro na medida do possivel fazer tudo via código.</li>
<li>Quando estou criando Connections e Command's ... procuro utilizar sempre variaveis do próprio command, exemplo: "SELECT * FROM USUARIOS WHERE USER_ID = @USER_ID".</li></ul>
<p>Existem outras manias mas nao consigo lembrar no momento...</p>
<p>Comentem as suas também!</p>
<p> </p></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Cast in SQL Server</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/15549.aspx</link><pubDate>Wed, 04 Jul 2007 23:32:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/15549.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/15549.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/15549.aspx#feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/15549.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=15549</trackback:ping><description>&lt;p&gt;Pessoal, encontrei uma imagem que acredito ser de grande informação para todo mundo&lt;br /&gt;Eu estou com um ótimo problema, que é o campo UNIQUEIDENTIFIER ..... Não consigo fazer um CType com ele pelo vb "nem que a vaca tussa", então procurei sobre cast's e conversões no SQL Server, e achei uma imagem muito interessante, que mostra as possiveis conversões:&lt;/p&gt;
&lt;p&gt;&lt;img src="http://msdn2.microsoft.com/En-US/library/Aa226054.lrdatahd(en-us,SQL.80).gif" /&gt;&lt;/p&gt;
&lt;p&gt; &lt;/p&gt;
&lt;p&gt;Para quem quiser um exemplo:&lt;br /&gt;&amp;lt;!-- code formatted by &lt;a href="http://manoli.net/csharpformat/"&gt;http://manoli.net/csharpformat/&lt;/a&gt; --&amp;gt;&lt;br /&gt;&amp;lt;div class="csharpcode"&amp;gt;&lt;br /&gt;&amp;lt;pre class="alt"&amp;gt;&amp;lt;span class="lnum"&amp;gt;   1:  &amp;lt;/span&amp;gt;&amp;lt;span class="kwrd"&amp;gt;SELECT&amp;lt;/span&amp;gt; &amp;lt;span class="kwrd"&amp;gt;CAST&amp;lt;/span&amp;gt;(userID &amp;lt;span class="kwrd"&amp;gt;as&amp;lt;/span&amp;gt; &amp;lt;span class="kwrd"&amp;gt;varchar&amp;lt;/span&amp;gt;(10)) &amp;lt;span class="kwrd"&amp;gt;from&amp;lt;/span&amp;gt; login&amp;lt;/pre&amp;gt;&lt;br /&gt;&amp;lt;/div&amp;gt;&lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Pessoal, encontrei uma imagem que acredito ser de grande informação para todo mundo<br />Eu estou com um ótimo problema, que é o campo UNIQUEIDENTIFIER ..... Não consigo fazer um CType com ele pelo vb "nem que a vaca tussa", então procurei sobre cast's e conversões no SQL Server, e achei uma imagem muito interessante, que mostra as possiveis conversões:</p>
<p><img src="http://msdn2.microsoft.com/En-US/library/Aa226054.lrdatahd(en-us,SQL.80).gif" /></p>
<p> </p>
<p>Para quem quiser um exemplo:<br />&lt;!-- code formatted by <a href="http://manoli.net/csharpformat/">http://manoli.net/csharpformat/</a> --&gt;<br />&lt;div class="csharpcode"&gt;<br />&lt;pre class="alt"&gt;&lt;span class="lnum"&gt;   1:  &lt;/span&gt;&lt;span class="kwrd"&gt;SELECT&lt;/span&gt; &lt;span class="kwrd"&gt;CAST&lt;/span&gt;(userID &lt;span class="kwrd"&gt;as&lt;/span&gt; &lt;span class="kwrd"&gt;varchar&lt;/span&gt;(10)) &lt;span class="kwrd"&gt;from&lt;/span&gt; login&lt;/pre&gt;<br />&lt;/div&gt;</p></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Em breve, Novidades</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/15501.aspx</link><pubDate>Tue, 03 Jul 2007 02:18:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/15501.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/15501.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/15501.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/15501.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=15501</trackback:ping><description>&lt;p&gt;&lt;font color="#ffffff" size="3"&gt;&lt;font color="#000000"&gt;Bom pessoal vou postando aqui mais uma coisinha...&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;Jájá voces vão entender o que vou dizer com isso:&lt;/p&gt;
&lt;p&gt;&lt;font color="#ffffff" size="3"&gt;&lt;font color="#ffffff" size="3"&gt; &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;
&lt;object height="350" width="425"&gt;&lt;param name="movie" value="http://www.youtube.com/v/9BFBpCrvr2Y" /&gt;&lt;param name="wmode" value="transparent" /&gt;
&lt;embed src="http://www.youtube.com/v/9BFBpCrvr2Y" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"&gt;&lt;/embed&gt;&lt;/object&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p><font color="#ffffff" size="3"><font color="#000000">Bom pessoal vou postando aqui mais uma coisinha...</font></font></p>
<p>Jájá voces vão entender o que vou dizer com isso:</p>
<p><font color="#ffffff" size="3"><font color="#ffffff" size="3"> </font></font></p>
<object height="350" width="425"><param name="movie" value="http://www.youtube.com/v/9BFBpCrvr2Y" /><param name="wmode" value="transparent" />
<embed src="http://www.youtube.com/v/9BFBpCrvr2Y" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Big Problems!</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/15486.aspx</link><pubDate>Mon, 02 Jul 2007 17:14:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/15486.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/15486.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/15486.aspx#feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/15486.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=15486</trackback:ping><description>&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;Problemas! Problemas e mais PROBLEMAS!&lt;/p&gt;
&lt;p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"&gt;&lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&amp;nbsp;&lt;/o:p&gt;&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Se n&amp;#227;o fossem por eles, acredito eu que esta &amp;#225;rea da inform&amp;#225;tica n&amp;#227;o existiria, ou melhor, acredito que nenhuma &amp;#225;rea existiria!&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Estou passando a semana com uma duvida cruel que est&amp;#225; nas minhas pesquisas e nas minhas pol&amp;#237;ticas de Desenvolvimento, ou melhor, de Migra&amp;#231;&amp;#227;o de ambiente, atualmente estou com um sistema desenvolvido em vb3, ou melhor, &amp;#8220;gambiarrado&amp;#8221; e escarrado para vb6.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;O problema n&amp;#227;o &amp;#233; que foi desenvolvido em vb3. O Problema, &amp;#233; que desenvolvedores tem um s&amp;#233;rio problema, ele n&amp;#227;o pensa naquela velha aulinha de Arquitetura de Computadores, que quando o professor falava:&lt;SPAN style="mso-spacerun: yes"&gt;&amp;nbsp; &lt;/SPAN&gt;- Quando existir algum problema, verificar em blocos, e arrumar de maneira que n&amp;#227;o ESTRAGUE a outra parte que esteja funcionando (viu pessoal de ci&amp;#234;ncia da computa&amp;#231;&amp;#227;o PRESTE MUITA ATEN&amp;#199;&amp;#195;O NESTAS AULAS), ent&amp;#227;o o que ocorreu aqui foi isso, conforme o cliente foi detectando falhas, foi-se criando tabelas novas, sem a necessidade, foi-se criando novas linhas de c&amp;#243;digos POG e desprezando que, outras partes do sistema poderiam ser danificadas pelas tais altera&amp;#231;&amp;#245;es, mas at&amp;#233; ai tudo bem, uma vez ou outra, acontece n&amp;#227;o estou falando para todo mundo ser perfeito tamb&amp;#233;m, por&amp;#233;m, persistir no erro, &amp;#233; BURRICE.&lt;/P&gt;
&lt;P class=MsoNormal style="MARGIN: 0cm 0cm 0pt"&gt;Agora com o sistema entregue para os clientes, e os clientes utilizando, acaba sendo descoberto um monte de falhas que n&amp;#227;o deveriam estar, e de repente, sem querer acaba chegando no chefe da empresa que o software n&amp;#227;o est&amp;#225; sendo utilizado, ent&amp;#227;o calma ai. Vendo um software a um pre&amp;#231;o absurdo, para n&amp;#227;o usarem? Ou melhor pensando como cliente, compro um software, por 10 reais que seje, e eu n&amp;#227;o vou usar? PROBLEMA! Ent&amp;#227;o surge a id&amp;#233;ia divina de migrar para o ambiente web, pois como todo mundo sabe Web 2.0 est&amp;#225; ai, e qualquer desenvolvedor de meia tigela sabe que isto est&amp;#225; vindo para engolir o mercado de trabalho, e meu problema agora &amp;#233;, como vou migrar um sistema que &amp;#233; imposs&amp;#237;vel de migrar? E digo mais, se eu migrar, acabo perdendo todos os meus dados, mais problemas, e eu n&amp;#227;o posso perder meus dados. Me lembro daquele velho poema, E AGORA JOS&amp;#201;?&lt;/P&gt;&lt;/bloghelper&gt;?&gt;&lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt">Problemas! Problemas e mais PROBLEMAS!</p>
<p class="MsoNormal" style="MARGIN: 0cm 0cm 0pt"><?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /><o:p>&nbsp;</o:p></P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Se n&#227;o fossem por eles, acredito eu que esta &#225;rea da inform&#225;tica n&#227;o existiria, ou melhor, acredito que nenhuma &#225;rea existiria!</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Estou passando a semana com uma duvida cruel que est&#225; nas minhas pesquisas e nas minhas pol&#237;ticas de Desenvolvimento, ou melhor, de Migra&#231;&#227;o de ambiente, atualmente estou com um sistema desenvolvido em vb3, ou melhor, &#8220;gambiarrado&#8221; e escarrado para vb6.</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">O problema n&#227;o &#233; que foi desenvolvido em vb3. O Problema, &#233; que desenvolvedores tem um s&#233;rio problema, ele n&#227;o pensa naquela velha aulinha de Arquitetura de Computadores, que quando o professor falava:<SPAN style="mso-spacerun: yes">&nbsp; </SPAN>- Quando existir algum problema, verificar em blocos, e arrumar de maneira que n&#227;o ESTRAGUE a outra parte que esteja funcionando (viu pessoal de ci&#234;ncia da computa&#231;&#227;o PRESTE MUITA ATEN&#199;&#195;O NESTAS AULAS), ent&#227;o o que ocorreu aqui foi isso, conforme o cliente foi detectando falhas, foi-se criando tabelas novas, sem a necessidade, foi-se criando novas linhas de c&#243;digos POG e desprezando que, outras partes do sistema poderiam ser danificadas pelas tais altera&#231;&#245;es, mas at&#233; ai tudo bem, uma vez ou outra, acontece n&#227;o estou falando para todo mundo ser perfeito tamb&#233;m, por&#233;m, persistir no erro, &#233; BURRICE.</P>
<P class=MsoNormal style="MARGIN: 0cm 0cm 0pt">Agora com o sistema entregue para os clientes, e os clientes utilizando, acaba sendo descoberto um monte de falhas que n&#227;o deveriam estar, e de repente, sem querer acaba chegando no chefe da empresa que o software n&#227;o est&#225; sendo utilizado, ent&#227;o calma ai. Vendo um software a um pre&#231;o absurdo, para n&#227;o usarem? Ou melhor pensando como cliente, compro um software, por 10 reais que seje, e eu n&#227;o vou usar? PROBLEMA! Ent&#227;o surge a id&#233;ia divina de migrar para o ambiente web, pois como todo mundo sabe Web 2.0 est&#225; ai, e qualquer desenvolvedor de meia tigela sabe que isto est&#225; vindo para engolir o mercado de trabalho, e meu problema agora &#233;, como vou migrar um sistema que &#233; imposs&#237;vel de migrar? E digo mais, se eu migrar, acabo perdendo todos os meus dados, mais problemas, e eu n&#227;o posso perder meus dados. Me lembro daquele velho poema, E AGORA JOS&#201;?</P></bloghelper>?></p></body></item><item><dc:creator>Nicolas Tarzia</dc:creator><title>Problemas com AJAX</title><link>http://weblogs.pontonetpt.com/nicolastarzia/posts/15456.aspx</link><pubDate>Fri, 29 Jun 2007 21:06:00 GMT</pubDate><guid>http://weblogs.pontonetpt.com/nicolastarzia/posts/15456.aspx</guid><wfw:comment>http://weblogs.pontonetpt.com/nicolastarzia/comments/15456.aspx</wfw:comment><comments>http://weblogs.pontonetpt.com/nicolastarzia/posts/15456.aspx#feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://weblogs.pontonetpt.com/nicolastarzia/comments/commentRss/15456.aspx</wfw:commentRss><trackback:ping>http://weblogs.pontonetpt.com/nicolastarzia/trackback.aspx?ID=15456</trackback:ping><description>&lt;p&gt;Vou começar a postar artigos técnicos e dicas do dia a dia.&lt;br /&gt;&lt;br /&gt;Tive um sério problema desde o inicio de um novo projeto aqui na minha empresa.&lt;br /&gt;Sempre fui muito focado na área Web, e desde o começo do ano, venho focando toda a minha experiencia web, com o Desenvolvimento Web utilizando AJAX, um framework de JavaScript's muito interessante, e sempre que desenvolvia, acabava utilizando as paginas normais, pois como eram testes, não havia a necessidade de Criar MasterPages, criei normalmente e fui programando as pages naturalmente, porém quando fui incluir a control toolkit liberada pela microsoft, tive um problema de não encontrar a referencia do objeto, e o objeto era o AjaxControlToolkit.dll,&lt;br /&gt;Revirei, remontei o site, modelei tudo novamente, e o problema ainda continuava, ai me veio a lembrança de que o próprio controltoolkit, tem uma masterpage, e fui verifica-la, as primeiras linhas já me fizeram ver tudo ....&lt;br /&gt;&lt;br /&gt;&amp;lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt; html xmlns="http://www.w3.org/1999/xhtml" &amp;gt;&lt;br /&gt;&amp;lt; head id="Head1" runat="server" &amp;gt;&lt;br /&gt;&lt;br /&gt;Sendo que meu código natural estava:&lt;br /&gt;&lt;br /&gt;&amp;lt; html &amp;gt;&lt;br /&gt;&amp;lt; head &amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Substituindo estes parâmetros, roda naturalmente ;)&lt;br /&gt;Segue a dica pra galera ;)&lt;br /&gt;&lt;/p&gt;</description><body xmlns="http://www.w3.org/1999/xhtml"><p>Vou começar a postar artigos técnicos e dicas do dia a dia.<br /><br />Tive um sério problema desde o inicio de um novo projeto aqui na minha empresa.<br />Sempre fui muito focado na área Web, e desde o começo do ano, venho focando toda a minha experiencia web, com o Desenvolvimento Web utilizando AJAX, um framework de JavaScript's muito interessante, e sempre que desenvolvia, acabava utilizando as paginas normais, pois como eram testes, não havia a necessidade de Criar MasterPages, criei normalmente e fui programando as pages naturalmente, porém quando fui incluir a control toolkit liberada pela microsoft, tive um problema de não encontrar a referencia do objeto, e o objeto era o AjaxControlToolkit.dll,<br />Revirei, remontei o site, modelei tudo novamente, e o problema ainda continuava, ai me veio a lembrança de que o próprio controltoolkit, tem uma masterpage, e fui verifica-la, as primeiras linhas já me fizeram ver tudo ....<br /><br />&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;<br /><br />&lt; html xmlns="http://www.w3.org/1999/xhtml" &gt;<br />&lt; head id="Head1" runat="server" &gt;<br /><br />Sendo que meu código natural estava:<br /><br />&lt; html &gt;<br />&lt; head &gt;<br /><br /><br />Substituindo estes parâmetros, roda naturalmente ;)<br />Segue a dica pra galera ;)<br /></p></body></item></channel></rss>