<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-8328901937929635653</id><updated>2011-08-03T13:27:33.561-07:00</updated><category term='X++'/><category term='Enterprise Portal'/><category term='C#'/><category term='EP'/><category term='design patterns'/><category term='Livros'/><category term='MB6-825'/><title type='text'>JEDI Developers</title><subtitle type='html'>O JEDI developers é formado por desenvolvedores com ampla experiência em X++, Enterprise Portal, SharePoint e tecnologias .NET</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://jedidevelopers.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://jedidevelopers.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Conselho JEDI de desenvolvimento</name><uri>http://www.blogger.com/profile/12292415408299800464</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_LnGO3OiicVU/SpVoWStOOjI/AAAAAAAAAAM/xPHdeupWi6I/S220/jedi.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8328901937929635653.post-5107849871778332256</id><published>2010-06-23T15:19:00.000-07:00</published><updated>2010-06-26T09:50:21.237-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='design patterns'/><title type='text'>DECORATOR</title><content type='html'>&lt;div&gt;Pattern Decorator&lt;br /&gt;&lt;br /&gt;Definição:&lt;br /&gt;&lt;br /&gt;Decorator é um design pattern para composição em tempo de execução, dessa forma você pode trazer novas funcionalidades através da escrita de novos códigos, sem alterar os códigos que já foram escritos, assim sendo respeita-se a “regra” do aberto para extensão, fechado pra modificação. Para a utilização do pattern decorator é necessário que as classes que vão decorar um objeto tenham o mesmo tipo básico da classe que vai ser decorada.&lt;br /&gt;&lt;br /&gt;Alguns pontos positivos do pattern decorator:&lt;br /&gt;• Adiciona funcionalidade a um objeto e não a classe;&lt;br /&gt;• Pode usar mais de um decorator pra decorar um objeto;&lt;br /&gt;• O decorator adiciona o seu próprio comportamento;&lt;br /&gt;• O objeto é decorado em tempo de execução.&lt;br /&gt;&lt;br /&gt;O pattern decorator também tem alguns pontos “negativos”:&lt;br /&gt;• Não se aplica quando o cliente precisa de um tipo concreto do objeto, essa informação é escondida pelo decorator;&lt;br /&gt;• Aumenta o numero de classes a serem gerenciadas&lt;br /&gt;• Muitas classes podem tornar o código confuso&lt;br /&gt;&lt;br /&gt;Situação problema:&lt;br /&gt;A vodka é uma bebida que pode ser misturada com muitas outras coisas para a criação de drinks. Precisa-se de uma classe que faça o calculo de drinks que tenham como substancia principal a vodka e que possa ser alterada em tempo de execução.&lt;br /&gt;Solução através do decorator&lt;br /&gt;Através do pattern decorator nós instanciamos uma classe concreta vodka e de acordo com o drink que for criado vamos decorando-a com as classes decorator, que implementam a mesma interface. Desse modo de acordo com a especificação do drink vai somando o valor de cada elemento(método getPrice()) no preço e a descrição(método getDescription()) na descrição do produto.&lt;div&gt;&lt;br /&gt;Diagrama de classes&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_xHijs7g0sHI/TCKJv31J7II/AAAAAAAAAPE/LZx41N1iCYs/s1600/decorator.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 94px;" src="http://1.bp.blogspot.com/_xHijs7g0sHI/TCKJv31J7II/AAAAAAAAAPE/LZx41N1iCYs/s320/decorator.png" border="0" alt="" id="BLOGGER_PHOTO_ID_5486098751624440962" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8328901937929635653-5107849871778332256?l=jedidevelopers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jedidevelopers.blogspot.com/feeds/5107849871778332256/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://jedidevelopers.blogspot.com/2010/06/decorator.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/5107849871778332256'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/5107849871778332256'/><link rel='alternate' type='text/html' href='http://jedidevelopers.blogspot.com/2010/06/decorator.html' title='DECORATOR'/><author><name>Momô</name><uri>http://www.blogger.com/profile/08638348465742896987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_xHijs7g0sHI/R9lpRBCIS8I/AAAAAAAAAAY/zut5sBsAk2o/S220/06-01-08_1444.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_xHijs7g0sHI/TCKJv31J7II/AAAAAAAAAPE/LZx41N1iCYs/s72-c/decorator.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8328901937929635653.post-6590174816369326977</id><published>2010-03-06T09:09:00.001-08:00</published><updated>2010-03-06T09:19:46.675-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>C# Calculo idade atual</title><content type='html'>pow... meu amigo Rubens me pediu um código pra calcular a idade atual através da data de nascimento e a data de hoje... bom... segue o codigo meio enfirulado... mas a lógica esta destacada... -D&lt;br /&gt;&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;br /&gt; &lt;br /&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; IdadeAtual&lt;br /&gt;{&lt;br /&gt;    &lt;span class="kwrd"&gt;class&lt;/span&gt; Program&lt;br /&gt;    {&lt;br /&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;            Console.WriteLine(&lt;span class="str"&gt;"Calculo para saber quantos anos você tem hoje \nInsira o ano do seu nascimento"&lt;/span&gt;);&lt;br /&gt;            &lt;span class="kwrd"&gt;int&lt;/span&gt; ano = Convert.ToInt32(Console.ReadLine());&lt;br /&gt;            Console.WriteLine(&lt;span class="str"&gt;"Insira o mês do seu nascimento"&lt;/span&gt;);&lt;br /&gt;            &lt;span class="kwrd"&gt;int&lt;/span&gt; mes = Convert.ToInt32(Console.ReadLine());&lt;br /&gt;            Console.WriteLine(&lt;span class="str"&gt;"Insira o dia do seu nascimento"&lt;/span&gt;);&lt;br /&gt;            &lt;span class="kwrd"&gt;int&lt;/span&gt; dia = Convert.ToInt32(Console.ReadLine());&lt;br /&gt; &lt;br /&gt;            &lt;span class="rem"&gt;//Bloco para evitar erro em tempo de execução caso seja inserida uma informação inválida&lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;br /&gt;            {&lt;br /&gt;                &lt;span class="rem"&gt;//bloco de código que contem a lógica para calcular a idade atual&lt;/span&gt;&lt;br /&gt;                DateTime dataNascimento = &lt;span class="kwrd"&gt;new&lt;/span&gt; DateTime(ano, mes, dia);&lt;br /&gt; &lt;br /&gt;                &lt;span class="kwrd"&gt;int&lt;/span&gt; idadeAtual = DateTime.Now.Year - dataNascimento.Year;&lt;br /&gt;                &lt;span class="kwrd"&gt;if&lt;/span&gt; (DateTime.Now.Month &amp;lt; dataNascimento.Month ||&lt;br /&gt;                    (DateTime.Now.Month == dataNascimento.Month &amp;amp;&amp;amp; DateTime.Now.Day &amp;lt; dataNascimento.Day))&lt;br /&gt;                {&lt;br /&gt;                    idadeAtual--;&lt;br /&gt;                }&lt;br /&gt;                &lt;span class="rem"&gt;//fim do bloco de calculo da idade atual&lt;/span&gt;&lt;br /&gt; &lt;br /&gt;                Console.WriteLine(&lt;span class="str"&gt;"Hoje você tem {0} anos"&lt;/span&gt;, idadeAtual);&lt;br /&gt;                Console.ReadKey();&lt;br /&gt;            }&lt;br /&gt;            &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception)&lt;br /&gt;            {&lt;br /&gt;                Console.WriteLine(&lt;span class="str"&gt;"Data Invalida"&lt;/span&gt;);&lt;br /&gt;                Console.ReadKey();&lt;br /&gt;            }&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8328901937929635653-6590174816369326977?l=jedidevelopers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jedidevelopers.blogspot.com/feeds/6590174816369326977/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://jedidevelopers.blogspot.com/2010/03/c-calculo-idade-atual.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/6590174816369326977'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/6590174816369326977'/><link rel='alternate' type='text/html' href='http://jedidevelopers.blogspot.com/2010/03/c-calculo-idade-atual.html' title='C# Calculo idade atual'/><author><name>Momô</name><uri>http://www.blogger.com/profile/08638348465742896987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_xHijs7g0sHI/R9lpRBCIS8I/AAAAAAAAAAY/zut5sBsAk2o/S220/06-01-08_1444.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8328901937929635653.post-5661825002533684542</id><published>2009-09-01T14:48:00.000-07:00</published><updated>2009-09-01T10:47:37.214-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='EP'/><category scheme='http://www.blogger.com/atom/ns#' term='MB6-825'/><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Portal'/><title type='text'>What is Enterprise Portal? (Parte 2)</title><content type='html'>&lt;span xmlns=""&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Hoje continuaremos a falar sobre Enterprise Portal com o objetivo de ajudar as pessoas que buscam sua certificação mb6-825. Falaremos um pouco sobre configuração e instalação&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;strong&gt;Segurança do Enterprise Portal&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;A segurança do EP usa uma combinação de features do:&lt;br /&gt;&lt;ul style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;li&gt;Microsoft Active Directory&lt;br /&gt;&lt;/li&gt;&lt;li&gt;WSS ou MOSS&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Controle de acesso do Ax&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: center;"&gt;&lt;strong&gt;Acesso de usuários do Enterprise Portal&lt;/strong&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;O diagrama a seguir mostra como o Microsoft Active Directory, SharePoint Services e o controle de acesso do Ax controlam o acesso do usuário e o conteúdo disponível usando EP&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; text-align: center;"&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/_1_OuQeIqMlQ/Sp1c41dbihI/AAAAAAAAABQ/zrC5nUzX2_s/s1600-h/seguran%C3%A7a+do+EP.bmp" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" lk="true" src="http://2.bp.blogspot.com/_1_OuQeIqMlQ/Sp1c41dbihI/AAAAAAAAABQ/zrC5nUzX2_s/s320/seguran%C3%A7a+do+EP.bmp" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Se o usuário não está listado no AD, o usuário não pode acessar qualquer recurso da rede. Assim mostramos a importância do Active Directory no Enterprise Portal&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; margin-left: 36pt;"&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; margin-left: 36pt; text-align: center;"&gt;&lt;strong&gt;Objetos do Enterprise Portal na AOT&lt;br /&gt;&lt;/strong&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; margin-left: 36pt;"&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Quando abrimos o a AOT do Microsoft Dynamics Ax podemos reparar que há um nó chamado web. Os itens relacionados ao EP estão nesse nó. Os elementos do nó Web entram nos dois maiores grupos:&lt;/div&gt;&lt;ul style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;li&gt;Microsoft Dynamics AX 2009 Web objects ( como Web Forms, Web Reports, Web Menu Itens, Web Contents e mais&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Web Files (Site Definitions, Page &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Definitions, Site templates e mais)&lt;/div&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Vamos listar alguns sub-nós:&lt;/div&gt;&lt;/li&gt;&lt;li style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;Web Forms - É a interface do usuário Web com a base de dados. Use o Web Form para mostrar, trocar e inserir dado. O design de um Web Form assemelha-se aos forms standarts do Ax.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Web Reports – Habilita os usuários da web para imprimir ou mostrar informações resumidas da base de dados em uma variedade de layouts&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Web Menu Items – Referencia os elementos de navegação: URL's e Actions(Ax Classes)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Web Content – Referencia os elementos de conteúdo: Display(Web Forms) e Output(Reports/Web Reports)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Web Menus – Use web menu items para linkar a páginas&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;de web parts, classes ou queries&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Web Files – Arquivos requisitados pelo EP no servidor é mantido dentro de web files.&lt;br /&gt;&lt;/li&gt;&lt;li&gt;&lt;br /&gt;&lt;div&gt;Web Modules – Módulos que correspondem a centros de atividades específicos do EP acessados usando um menu universal&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Data Sets&lt;br /&gt;&lt;/strong&gt;Para acessar dados no Ax com o EP, você deve usar um data set. Depois que o Data Set é criado, pode criar um AxDataSource em um User Control para acessar o Data Set.&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;Briefing da prova:&lt;br /&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none;"&gt;&lt;span style="font-family: Times New Roman; font-size: 9pt;"&gt;1. Microsoft Dynamics AX 2009 and the Enterprise Portal Framework include customizable home pages &lt;br /&gt;called Role Centers. Role Centers display specific data, reports, alerts, and other tasks associated with: &lt;br /&gt;A.A user's job role profile. &lt;br /&gt;B.A user's work location. &lt;br /&gt;C.A user's preferred language option. &lt;br /&gt;D.A user's work schedule.&amp;nbsp; &lt;br /&gt;Answer: a&amp;nbsp; &lt;br /&gt;2. Microsoft Dynamics AX 2009 Enterprise Portal uses several common Microsoft software components. &lt;br /&gt;Which of the following is not used by Enterprise Portal? &lt;br /&gt;A.IIS &lt;br /&gt;B.Windows SharePoint Services &lt;br /&gt;C.Microsoft SQL Server &lt;br /&gt;D.Internet Security and Acceleration Server&amp;nbsp; &lt;br /&gt;Answer: d&amp;nbsp; &lt;br /&gt;3.&amp;nbsp; In&amp;nbsp; the&amp;nbsp; overall&amp;nbsp; architecture&amp;nbsp; of&amp;nbsp; Enterprise&amp;nbsp; Portal,&amp;nbsp; a&amp;nbsp; software&amp;nbsp; component&amp;nbsp; is&amp;nbsp; required&amp;nbsp; to&amp;nbsp; make&amp;nbsp; the &lt;br /&gt;connection&amp;nbsp; between&amp;nbsp; the Enterprise Portal Web&amp;nbsp; site&amp;nbsp; and&amp;nbsp; the Microsoft Dynamics AX&amp;nbsp; 2009&amp;nbsp; application. &lt;br /&gt;What software component is used to make this connection? &lt;br /&gt;A.AOT &lt;br /&gt;B.IIS &lt;br /&gt;C..NET Business Connector &lt;br /&gt;D.Microsoft Active Directory&amp;nbsp; &lt;br /&gt;Answer: c&amp;nbsp; &lt;br /&gt;4. Microsoft Dynamics AX 2009 and the Enterprise Portal framework include Role Centers. What are Role &lt;br /&gt;Centers? &lt;br /&gt;A.Customizable home pages that display reports and other key business information. &lt;br /&gt;B.Configuration pages where users are assigned specific job functions. &lt;br /&gt;C.Configuration pages where user permissions are configured based on job role. &lt;br /&gt;D.Special Web pages where user job assignments can be posted.&amp;nbsp; &lt;br /&gt;Answer: a&amp;nbsp; &lt;br /&gt;5. The Microsoft Dynamics AX 2009 Enterprise Portal is designed for the following users &lt;br /&gt;Choose the 3 that apply. &lt;br /&gt;A.Users external to the organization, such as customers and trading partners. &lt;br /&gt;B.Those users who only require occasional access to Microsoft Dynamics AX 2009 data. &lt;br /&gt;C.An employee who is traveling and needs to access their own Microsoft Dynamics AX 2009 data. &lt;br /&gt;D.An employee who is an office worker and does not travel as part of their job.&amp;nbsp; &lt;br /&gt;Answer: abc&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="border-bottom: medium none; border-left: medium none; border-right: medium none; border-top: medium none; margin-left: 36pt;"&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8328901937929635653-5661825002533684542?l=jedidevelopers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jedidevelopers.blogspot.com/feeds/5661825002533684542/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://jedidevelopers.blogspot.com/2009/09/what-is-enterprise-portal-parte-2_01.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/5661825002533684542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/5661825002533684542'/><link rel='alternate' type='text/html' href='http://jedidevelopers.blogspot.com/2009/09/what-is-enterprise-portal-parte-2_01.html' title='What is Enterprise Portal? (Parte 2)'/><author><name>Jorge Rodrigues</name><uri>http://www.blogger.com/profile/13559580196008577385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_1_OuQeIqMlQ/SnTFneF6NPI/AAAAAAAAAAM/WYhzqdH36Dk/S220/black.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1_OuQeIqMlQ/Sp1c41dbihI/AAAAAAAAABQ/zrC5nUzX2_s/s72-c/seguran%C3%A7a+do+EP.bmp' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8328901937929635653.post-671148718601543091</id><published>2009-08-28T06:30:00.000-07:00</published><updated>2009-09-03T06:59:35.175-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><title type='text'>Contando caracteres sem o Lenght no C#</title><content type='html'>Salve salve amigos desenvolvedores, ontem foi proposto na faculdade criar um metodo que retorna-se o numero de caracteres de uma string, sem usar funções como o Lenght, abaixo segue uma solução em C# para o desafio proposto&lt;br /&gt;&lt;br /&gt;&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;&lt;br /&gt;&lt;style type="text/css"&gt;&lt;br /&gt;.csharpcode, .csharpcode pre&lt;br /&gt;{&lt;br /&gt; font-size: small;&lt;br /&gt; color: black;&lt;br /&gt; font-family: Consolas, "Courier New", Courier, Monospace;&lt;br /&gt; background-color: #ffffff;&lt;br /&gt; /*white-space: pre;*/&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.csharpcode pre { margin: 0em; }&lt;br /&gt;&lt;br /&gt;.csharpcode .rem { color: #008000; }&lt;br /&gt;&lt;br /&gt;.csharpcode .kwrd { color: #0000ff; }&lt;br /&gt;&lt;br /&gt;.csharpcode .str { color: #006080; }&lt;br /&gt;&lt;br /&gt;.csharpcode .op { color: #0000c0; }&lt;br /&gt;&lt;br /&gt;.csharpcode .preproc { color: #cc6633; }&lt;br /&gt;&lt;br /&gt;.csharpcode .asp { background-color: #ffff00; }&lt;br /&gt;&lt;br /&gt;.csharpcode .html { color: #800000; }&lt;br /&gt;&lt;br /&gt;.csharpcode .attr { color: #ff0000; }&lt;br /&gt;&lt;br /&gt;.csharpcode .alt &lt;br /&gt;{&lt;br /&gt; background-color: #f4f4f4;&lt;br /&gt; width: 100%;&lt;br /&gt; margin: 0em;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;.csharpcode .lnum { color: #606060; }&lt;br /&gt;&lt;/style&gt;&lt;br /&gt;&lt;pre class="csharpcode"&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Collections.Generic;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Linq;&lt;br /&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Text;&lt;br /&gt;&lt;br /&gt;&lt;span class="rem"&gt;//Desenvolvido por Momô &lt;/span&gt;&lt;br /&gt;&lt;span class="rem"&gt;//visite jedidevelopers.blogspot.com&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="kwrd"&gt;namespace&lt;/span&gt; dev5{    &lt;br /&gt;    &lt;span class="kwrd"&gt;class&lt;/span&gt; Program    &lt;br /&gt;    { &lt;br /&gt;        &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; contadorString(&lt;span class="kwrd"&gt;string&lt;/span&gt; nome)        &lt;br /&gt;        {            &lt;br /&gt;            &lt;span class="kwrd"&gt;string&lt;/span&gt; letras; &lt;br /&gt;            &lt;span class="rem"&gt;//variavel usada para imprimir as letras q ja foram contadas            &lt;/span&gt;&lt;br /&gt;            &lt;span class="kwrd"&gt;int&lt;/span&gt; contador = 1; &lt;br /&gt;            &lt;span class="rem"&gt;//contador de letras       &lt;/span&gt;&lt;br /&gt;            Console.WriteLine(nome + &lt;span class="str"&gt;"\n"&lt;/span&gt;);&lt;br /&gt;            &lt;span class="kwrd"&gt;int&lt;/span&gt; a;&lt;br /&gt;            a = Convert.ToInt16(nome.ToCharArray().Count());&lt;br /&gt;            &lt;br /&gt;            &lt;span class="kwrd"&gt;while&lt;/span&gt; (a &amp;gt;= contador) &lt;br /&gt;            {&lt;br /&gt;                &lt;span class="rem"&gt;//extraindo letra por letra da string principal &lt;/span&gt;&lt;br /&gt;                letras = nome.Substring(0, contador);&lt;br /&gt;                contador = contador + 1;&lt;br /&gt;                &lt;span class="rem"&gt;//imprime a letra extraida da string e o numero de letras ate o momento &lt;/span&gt;&lt;br /&gt;                Console.WriteLine(&lt;span class="str"&gt;"letras do nome "&lt;/span&gt; + letras + &lt;span class="str"&gt;"\n"&lt;/span&gt; + &lt;span class="str"&gt;"numero de caracteres "&lt;/span&gt; + (contador - 1));&lt;br /&gt;                Console.ReadLine();&lt;br /&gt;            } &lt;br /&gt;&lt;br /&gt;            &lt;span class="rem"&gt;//saiu do loop, fim da contagem de caracteres &lt;/span&gt;&lt;br /&gt;            Console.WriteLine(&lt;span class="str"&gt;"Fim da contagem de caracteres"&lt;/span&gt;); &lt;br /&gt;            Console.ReadLine();&lt;br /&gt;        }&lt;br /&gt;        &lt;span class="kwrd"&gt;static&lt;/span&gt; &lt;span class="kwrd"&gt;void&lt;/span&gt; Main(&lt;span class="kwrd"&gt;string&lt;/span&gt;[] args)&lt;br /&gt;        {&lt;br /&gt;            &lt;span class="rem"&gt;//instância a classe&lt;/span&gt;&lt;br /&gt;            Program p = &lt;span class="kwrd"&gt;new&lt;/span&gt; Program();&lt;br /&gt;            &lt;span class="rem"&gt;//chama o metodo contadorString e passa a string a ser contada&lt;/span&gt;&lt;br /&gt;            p.contadorString(&lt;span class="str"&gt;"jedidevelopers.blogspot.com"&lt;/span&gt;);&lt;br /&gt;        } &lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Isso ae, &lt;br /&gt;Abraço e bom fds&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8328901937929635653-671148718601543091?l=jedidevelopers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jedidevelopers.blogspot.com/feeds/671148718601543091/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/contando-caracteres-sem-o-lenght-no-c.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/671148718601543091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/671148718601543091'/><link rel='alternate' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/contando-caracteres-sem-o-lenght-no-c.html' title='Contando caracteres sem o Lenght no C#'/><author><name>Momô</name><uri>http://www.blogger.com/profile/08638348465742896987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_xHijs7g0sHI/R9lpRBCIS8I/AAAAAAAAAAY/zut5sBsAk2o/S220/06-01-08_1444.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8328901937929635653.post-6394861756849834814</id><published>2009-08-27T07:56:00.000-07:00</published><updated>2009-08-27T10:32:08.289-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Enterprise Portal'/><title type='text'>What is Enterprise Portal? (Parte 1)</title><content type='html'>Hoje falaremos sobre Microsoft Dynamics Ax Enterprise Portal 2009 voltado pra um público que busca sua certificação MB6-825.&lt;br /&gt;Enterprise Portal é uma combinação de muitas technologias standart da Microsoft, que tem por finalidade extender a interface disponível no Client do Microsoft Dynamics Ax 2009 para um portal web. Seus componentes principais são:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Windows SharePoint Services and Microsoft Office SharePoint Server&lt;/li&gt;&lt;br /&gt;&lt;li&gt;.NET Business Connector &lt;/li&gt;&lt;br /&gt;&lt;li&gt;IIS&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Criação e Implantação do Site&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Role Centers and User Interface&lt;/li&gt;&lt;/ul&gt;&lt;strong&gt;Arquitetura do Enterprise Portal&lt;/strong&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;a href="http://2.bp.blogspot.com/_1_OuQeIqMlQ/Spa3xZ9MImI/AAAAAAAAAA4/jsOIGcxRHrk/s1600-h/architecture+dynamcis+Ax.PNG"&gt;&lt;img style="WIDTH: 386px; HEIGHT: 225px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5374685264722272866" border="0" alt="" src="http://2.bp.blogspot.com/_1_OuQeIqMlQ/Spa3xZ9MImI/AAAAAAAAAA4/jsOIGcxRHrk/s320/architecture+dynamcis+Ax.PNG" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;strong&gt;Enterprise Portal Web Site Parts&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;O Enterprise Portal (EP) usa o Windows SharePoint Services (WSS) componentes para construir as páginas da web.&lt;br /&gt;Na terminologia do SharePoint, uma página de Web Part (Web page do SharePoint) é montada usando Web Parts. Exemplos de Web Part:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Discussion lists&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Announcements&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Document Workspaces&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;strong&gt;Navegando pelo Enterprise Portal&lt;/strong&gt;&lt;/p&gt;&lt;p&gt;As Web Parts do EP são agrupadas para assegurar uma consistência e um leiaute uniforme para o usuário em todo o portal. Uma visão esquemática é mostrada no diagrama a seguir:&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://4.bp.blogspot.com/_1_OuQeIqMlQ/Spa67sUplJI/AAAAAAAAABA/3zvu10oKJaU/s1600-h/navigation+area+EP.bmp"&gt;&lt;img style="WIDTH: 320px; HEIGHT: 217px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5374688739986085010" border="0" alt="" src="http://4.bp.blogspot.com/_1_OuQeIqMlQ/Spa67sUplJI/AAAAAAAAABA/3zvu10oKJaU/s320/navigation+area+EP.bmp" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Por hoje é isso, futuramente daremos algumas dicas para a prova de certificação MB6-825, peço que comentem nossos posts pedindo assuntos a serem abordados, tanto Enterprise Portal como outros assuntos sobre desenvolvimento. Até a próxima!! &lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8328901937929635653-6394861756849834814?l=jedidevelopers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jedidevelopers.blogspot.com/feeds/6394861756849834814/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/what-is-enterprise-porta.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/6394861756849834814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/6394861756849834814'/><link rel='alternate' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/what-is-enterprise-porta.html' title='What is Enterprise Portal? (Parte 1)'/><author><name>Jorge Rodrigues</name><uri>http://www.blogger.com/profile/13559580196008577385</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_1_OuQeIqMlQ/SnTFneF6NPI/AAAAAAAAAAM/WYhzqdH36Dk/S220/black.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_1_OuQeIqMlQ/Spa3xZ9MImI/AAAAAAAAAA4/jsOIGcxRHrk/s72-c/architecture+dynamcis+Ax.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8328901937929635653.post-7402094663134718524</id><published>2009-08-26T09:54:00.000-07:00</published><updated>2009-08-27T05:31:17.243-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='C#'/><category scheme='http://www.blogger.com/atom/ns#' term='Livros'/><title type='text'>Dica de Livos C#</title><content type='html'>Pra vocês que estão começando a programar e escolheram o C#, seguem algumas dicas de alguns ótimos livros pra começar a desenvolver!&lt;br /&gt;&lt;br /&gt;C# HOW TO PROGRAM - DEITEL&lt;br /&gt;&lt;br /&gt;Bom, este é um ótimo livro de C#, e como diria um amigo meu "Se a sua mãe ler este livro e se empenhar, ela aprende a programar"&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/How-Program-Harvey-M-Deitel/dp/0130622214"&gt;http://www.amazon.com/How-Program-Harvey-M-Deitel/dp/0130622214&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;tem edição em portugues tambem&lt;br /&gt;&lt;br /&gt;&lt;a href="http://2.bp.blogspot.com/_xHijs7g0sHI/SpVpz0-D6fI/AAAAAAAAAOM/0t6etbSBmVU/s1600-h/hpc.bmp"&gt;&lt;img id="BLOGGER_PHOTO_ID_5374318069449746930" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 245px; CURSOR: hand; HEIGHT: 320px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_xHijs7g0sHI/SpVpz0-D6fI/AAAAAAAAAOM/0t6etbSBmVU/s320/hpc.bmp" border="0" /&gt;&lt;/a&gt;Head firs C#&lt;br /&gt;&lt;br /&gt;Livro com uma abordagem diferente sobre programação, muito bom também e até com algumas piadinhas perdidas pelo livro&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/Head-First-C-Andrew-Stellman/dp/0596514824"&gt;http://www.amazon.com/Head-First-C-Andrew-Stellman/dp/0596514824&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Também tem edição em portugues&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://2.bp.blogspot.com/_xHijs7g0sHI/SpVpztnwlHI/AAAAAAAAAOE/5tBJajPokKg/s1600-h/hfc.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5374318067477156978" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 277px; CURSOR: hand; HEIGHT: 320px; TEXT-ALIGN: center" alt="" src="http://2.bp.blogspot.com/_xHijs7g0sHI/SpVpztnwlHI/AAAAAAAAAOE/5tBJajPokKg/s320/hfc.jpg" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;&lt;div&gt;BEGINNING C# Programando&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Um bom livro sobre C#, este eu não cheguei a ver, mas tenho indicações de amigos como um livro muito interessante tambem sobre C#&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://www.submarino.com.br/produto/1/171065?franq=123405"&gt;http://www.submarino.com.br/produto/1/171065?franq=123405&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://4.bp.blogspot.com/_xHijs7g0sHI/SpVpzdL_STI/AAAAAAAAAN8/xKlE6gEvL8M/s1600-h/bcp.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5374318063065712946" style="DISPLAY: block; MARGIN: 0px auto 10px; WIDTH: 160px; CURSOR: hand; HEIGHT: 214px; TEXT-ALIGN: center" alt="" src="http://4.bp.blogspot.com/_xHijs7g0sHI/SpVpzdL_STI/AAAAAAAAAN8/xKlE6gEvL8M/s320/bcp.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Logo mais, mais dicas sobre livros&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;=D&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8328901937929635653-7402094663134718524?l=jedidevelopers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jedidevelopers.blogspot.com/feeds/7402094663134718524/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/dica-de-livos-c.html#comment-form' title='0 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/7402094663134718524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/7402094663134718524'/><link rel='alternate' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/dica-de-livos-c.html' title='Dica de Livos C#'/><author><name>Momô</name><uri>http://www.blogger.com/profile/08638348465742896987</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://bp3.blogger.com/_xHijs7g0sHI/R9lpRBCIS8I/AAAAAAAAAAY/zut5sBsAk2o/S220/06-01-08_1444.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xHijs7g0sHI/SpVpz0-D6fI/AAAAAAAAAOM/0t6etbSBmVU/s72-c/hpc.bmp' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8328901937929635653.post-3007619323308696328</id><published>2009-08-25T19:52:00.000-07:00</published><updated>2009-08-26T09:33:49.028-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X++'/><title type='text'>x++ Ajustando a declaração de Variaveis</title><content type='html'>O método abaixo, deve ser criado na Classe EditorScript, e ajustara a declaração de variavéis conforme às BEST PRACTICES do AX.&lt;br /&gt;&lt;div style="overflow:auto; height:400px; width:800px; padding:0px;"&gt;&lt;br /&gt;&lt;pre&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;void adjust_Declaration(editor e)&lt;br /&gt;{&lt;br /&gt;    str         copiaLinha;&lt;br /&gt;    str         ajustadeclaracao;&lt;br /&gt;    int         maiorEpaco;&lt;br /&gt;    int         contamaiorLinha;&lt;br /&gt;    int         contaPosCaracter;&lt;br /&gt;    int         quantEspVazio;&lt;br /&gt;    int         verifmaiorLinha;&lt;br /&gt;    int         posInicial = e.selectionStartLine();&lt;br /&gt;    int         posFinal = e.selectionEndLine();&lt;br /&gt;    int         nivel;&lt;br /&gt;    int         maiorLinha;&lt;br /&gt;    container   linhas;&lt;br /&gt;    ;&lt;br /&gt;&lt;br /&gt;    //Esse laço percorre todas as linhas selecionadas e insere as linhas no container&lt;br /&gt;    for (contamaiorLinha = posInicial; contamaiorLinha &lt;= posFinal; contamaiorLinha++)&lt;br /&gt;    {&lt;br /&gt;        e.gotoLine(contamaiorLinha);&lt;br /&gt;        verifmaiorLinha = 0;&lt;br /&gt;        nivel           = 1;&lt;br /&gt;        copiaLinha   = "";  //variavel auxiliar para tratar os dados inseridos no container&lt;br /&gt;&lt;br /&gt;        //Esse laço percorre toda a linha para verificar qual é o maior tipo de variavel para&lt;br /&gt;        //ajustar as melhores práticas nas outras linhas&lt;br /&gt;        for (contaPosCaracter = 1; contaPosCaracter &lt;= strlen(e.currentLine()); contaPosCaracter++)&lt;br /&gt;        {&lt;br /&gt;            if (substr(e.currentLine(),contaPosCaracter,1) != " " &amp;&amp; (nivel == 1 || nivel == 2))&lt;br /&gt;            {&lt;br /&gt;                verifmaiorLinha++;&lt;br /&gt;                nivel = 2;&lt;br /&gt;            }&lt;br /&gt;            else if (nivel == 2 &amp;&amp; substr(e.currentLine(),contaPosCaracter,1) == " ")&lt;br /&gt;            {&lt;br /&gt;                nivel = 3;&lt;br /&gt;            }&lt;br /&gt;            if (nivel != 1)&lt;br /&gt;            {&lt;br /&gt;                copiaLinha += substr(e.currentLine(),contaPosCaracter,1);&lt;br /&gt;            }&lt;br /&gt;&lt;br /&gt;        }&lt;br /&gt;        //seta o maior tipo de variavel&lt;br /&gt;        if (verifmaiorLinha &gt; maiorEpaco)&lt;br /&gt;        {&lt;br /&gt;            maiorEpaco = verifmaiorLinha;&lt;br /&gt;            maiorLinha = contamaiorLinha;&lt;br /&gt;        }&lt;br /&gt;        linhas = conins(linhas, contamaiorLinha, copiaLinha);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    copiaLinha = "";&lt;br /&gt;    nivel =1;&lt;br /&gt;    e.gotoLine(maiorLinha);&lt;br /&gt;&lt;br /&gt;    //esse laço trata o a maior tipo de variavel inserindo a quantidade de espaços em branco&lt;br /&gt;    //entre o tipo e o nome da variavel&lt;br /&gt;    for (contaPosCaracter = 1; contaPosCaracter &lt;= strlen(e.currentLine()); contaPosCaracter++)&lt;br /&gt;    {&lt;br /&gt;        if (substr(e.currentLine(),contaPosCaracter,1) != " " &amp;&amp; (nivel == 1 || nivel == 2))&lt;br /&gt;        {&lt;br /&gt;            nivel = 2;&lt;br /&gt;        }&lt;br /&gt;        if (nivel == 2 &amp;&amp; substr(e.currentLine(),contaPosCaracter,1) == " ")&lt;br /&gt;        {&lt;br /&gt;            nivel = 3;&lt;br /&gt;            do&lt;br /&gt;            {&lt;br /&gt;                maiorEpaco++;&lt;br /&gt;                if(substr(e.currentLine(),contaPosCaracter,1)== " ")&lt;br /&gt;                {&lt;br /&gt;                    copiaLinha += substr(e.currentLine(),contaPosCaracter,1);&lt;br /&gt;                    contaPosCaracter++;&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    if((strlen(copiaLinha) mod 4) != 0)&lt;br /&gt;                    {&lt;br /&gt;                        copiaLinha += " ";&lt;br /&gt;                    }&lt;br /&gt;                }&lt;br /&gt;                verifmaiorLinha++;&lt;br /&gt;            }&lt;br /&gt;            while ((strlen(copiaLinha) mod 4) != 0);&lt;br /&gt;            copiaLinha += substr(e.currentLine(),contaPosCaracter,1);&lt;br /&gt;        }&lt;br /&gt;        else if (nivel != 1)&lt;br /&gt;        {&lt;br /&gt;            copiaLinha += substr(e.currentLine(),contaPosCaracter,1);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;    //apaga a linha que tem o maior tipo do container&lt;br /&gt;    linhas = condel(linhas, maiorLinha - (posInicial - 1), 1);&lt;br /&gt;    //insere a linha que tem o maior tipo no container com a linha tratada&lt;br /&gt;    linhas = conins(linhas, maiorLinha - (posInicial - 1), copiaLinha);&lt;br /&gt;&lt;br /&gt;    //esse laço apaga todas a linhas selecionadas do codigo&lt;br /&gt;    for ( contamaiorLinha = posFinal; contamaiorLinha &gt;= posInicial; contamaiorLinha--)&lt;br /&gt;    {&lt;br /&gt;        e.gotoLine(contamaiorLinha);&lt;br /&gt;        e.deleteLines(contamaiorLinha);&lt;br /&gt;    }&lt;br /&gt;    e.gotoLine(PosInicial);&lt;br /&gt;    e.gotoCol(1);&lt;br /&gt;    e.insertLines("\n");&lt;br /&gt;&lt;br /&gt;    //Esse laço trata as linhas e insere as linhas no codigo.&lt;br /&gt;    for ( contamaiorLinha = posInicial; contamaiorLinha &lt;= posFinal; contamaiorLinha++)&lt;br /&gt;    {&lt;br /&gt;        ajustadeclaracao = "    ";&lt;br /&gt;        if(contamaiorLinha != maiorLinha)&lt;br /&gt;        {&lt;br /&gt;            nivel = 1;&lt;br /&gt;            for (contaPosCaracter = 1; contaPosCaracter &lt;= strlen(any2str(conpeek(linhas, contamaiorLinha - (posInicial - 1)))); contaPosCaracter++)&lt;br /&gt;            {&lt;br /&gt;                if (substr(any2str(conpeek(linhas, contamaiorLinha - (posInicial - 1))), contaPosCaracter, 1) == " " &amp;&amp; nivel == 1)&lt;br /&gt;                {&lt;br /&gt;                    copiaLinha = "";&lt;br /&gt;                    for (quantEspVazio = 0; quantEspVazio &lt; (maiorEpaco + 4) - strlen(ajustadeclaracao); quantEspVazio++)&lt;br /&gt;                    {&lt;br /&gt;                        copiaLinha += " ";&lt;br /&gt;                    }&lt;br /&gt;                    while (substr(any2str(conpeek(linhas, contamaiorLinha - (posInicial - 1))), contaPosCaracter, 1) == " ")&lt;br /&gt;                    {&lt;br /&gt;                        contaPosCaracter++;&lt;br /&gt;                    }&lt;br /&gt;                    quantEspVazio = strlen(any2str(conpeek(linhas, contamaiorLinha - (posInicial - 1))));&lt;br /&gt;                    ajustadeclaracao = ajustadeclaracao + copiaLinha + substr(any2str(conpeek(linhas, contamaiorLinha - (posInicial - 1))), contaPosCaracter, quantEspVazio);&lt;br /&gt;                    nivel = 2;&lt;br /&gt;                    contaPosCaracter = strlen(any2str(conpeek(linhas, contamaiorLinha - (posInicial - 1)))) + 1;&lt;br /&gt;                }&lt;br /&gt;                else&lt;br /&gt;                {&lt;br /&gt;                    ajustadeclaracao = ajustadeclaracao + substr(any2str(conpeek(linhas, contamaiorLinha - (posInicial - 1))), contaPosCaracter, 1);&lt;br /&gt;                }&lt;br /&gt;            }&lt;br /&gt;            if (contamaiorLinha != posFinal)&lt;br /&gt;            {&lt;br /&gt;                ajustadeclaracao += "\n";&lt;br /&gt;            }&lt;br /&gt;            e.gotoLine(contamaiorLinha);&lt;br /&gt;            e.insertLines(ajustadeclaracao);&lt;br /&gt;            ajustadeclaracao = "    ";&lt;br /&gt;        }&lt;br /&gt;        else&lt;br /&gt;        {&lt;br /&gt;            if (contamaiorLinha != posFinal)&lt;br /&gt;            {&lt;br /&gt;                ajustadeclaracao = "\n";&lt;br /&gt;            }&lt;br /&gt;            e.insertLines("    " + any2str(conpeek(linhas, contamaiorLinha - (posInicial - 1))) + ajustadeclaracao);&lt;br /&gt;        }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;Abaixo um exemplo de como funciona o adjust_Declaration Script.&lt;br /&gt;Observar a Identação do Código.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div&gt;&lt;/div&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 400px; DISPLAY: block; HEIGHT: 255px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5374104638099610754" border="0" alt="" src="http://4.bp.blogspot.com/_LjkpnDgsFGc/SpSnsfO03II/AAAAAAAAAkQ/tMY8ZR7CFnk/s400/testeAdjust1.PNG" /&gt;&lt;img style="TEXT-ALIGN: center; MARGIN: 0px auto 10px; WIDTH: 353px; DISPLAY: block; HEIGHT: 153px; CURSOR: hand" id="BLOGGER_PHOTO_ID_5374104641724926658" border="0" alt="" src="http://3.bp.blogspot.com/_LjkpnDgsFGc/SpSnssvKysI/AAAAAAAAAkY/XZVOSZ9Vng8/s400/testeAdjust2.PNG" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8328901937929635653-3007619323308696328?l=jedidevelopers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jedidevelopers.blogspot.com/feeds/3007619323308696328/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/o-metodo-abaixo-deve-ser-criado-na.html#comment-form' title='1 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/3007619323308696328'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/3007619323308696328'/><link rel='alternate' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/o-metodo-abaixo-deve-ser-criado-na.html' title='x++ Ajustando a declaração de Variaveis'/><author><name>Leandro Fernandes</name><uri>http://www.blogger.com/profile/09435827451848899955</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_LjkpnDgsFGc/SpNDyoee3sI/AAAAAAAAAik/R00Ne5H6f7o/S220/11112008114.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_LjkpnDgsFGc/SpSnsfO03II/AAAAAAAAAkQ/tMY8ZR7CFnk/s72-c/testeAdjust1.PNG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-8328901937929635653.post-5927920255250965353</id><published>2009-08-24T11:20:00.000-07:00</published><updated>2009-08-24T11:25:43.107-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='X++'/><title type='text'>X++ Hello World!!!!</title><content type='html'>public void helloworld()&lt;br /&gt;{&lt;br /&gt;        ;&lt;br /&gt;&lt;br /&gt;        print('HelloWorld!');&lt;br /&gt;        pause;&lt;br /&gt;}&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/8328901937929635653-5927920255250965353?l=jedidevelopers.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://jedidevelopers.blogspot.com/feeds/5927920255250965353/comments/default' title='Postar comentários'/><link rel='replies' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/hello-world.html#comment-form' title='2 Comentários'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/5927920255250965353'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8328901937929635653/posts/default/5927920255250965353'/><link rel='alternate' type='text/html' href='http://jedidevelopers.blogspot.com/2009/08/hello-world.html' title='X++ Hello World!!!!'/><author><name>Conselho JEDI de desenvolvimento</name><uri>http://www.blogger.com/profile/12292415408299800464</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://3.bp.blogspot.com/_LnGO3OiicVU/SpVoWStOOjI/AAAAAAAAAAM/xPHdeupWi6I/S220/jedi.jpg'/></author><thr:total>2</thr:total></entry></feed>
