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

<channel>
	<title>Professor João Ortiz</title>
	<atom:link href="http://joaoortiz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://joaoortiz.wordpress.com</link>
	<description></description>
	<lastBuildDate>Mon, 18 Aug 2008 01:42:13 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>pt-br</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<cloud domain='joaoortiz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://www.gravatar.com/blavatar/f73097885cdc0d6166f528c869b7d28e?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Professor João Ortiz</title>
		<link>http://joaoortiz.wordpress.com</link>
	</image>
			<item>
		<title>ASP.NET &#8211; Cadastro de Usuários</title>
		<link>http://joaoortiz.wordpress.com/2008/08/18/aspnet-cadastro-de-usuarios/</link>
		<comments>http://joaoortiz.wordpress.com/2008/08/18/aspnet-cadastro-de-usuarios/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 01:38:27 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[1]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=40</guid>
		<description><![CDATA[Olá queridos amigos.
Na aula de hoje iremos analisar os métodos que fazem mudanças sobre o banco de dados, ou seja, acrescentam ou subtraem informações utilizando instruções SQL. Em outras palavras, começaremos a trabalhar com métodos de cadastro, alteração e exclusão de dados.
Para desenvolver tais métodos, fazem-se necessárias, as construções de alguns objetos que suportem essas [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=40&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Olá queridos amigos.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Na aula de hoje iremos analisar os métodos que fazem mudanças sobre o banco de dados, ou seja, acrescentam ou subtraem informações utilizando instruções SQL. Em outras palavras, começaremos a trabalhar com métodos de cadastro, alteração e exclusão de dados.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Para desenvolver tais métodos, fazem-se necessárias, as construções de alguns objetos que suportem essas instruções (Insert, Update e Delete).</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Apenas para relembrar, quando necessitamos de uma instrução Select, para retornar dados de uma consulta utilizamos as classes DATAADAPTER e DATATABLE.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<table class="MsoNormalTable" style="border-collapse:collapse;" border="1" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td style="border-right:#e2e2e2;border-top:black 1pt solid;border-left:#e2e2e2;width:108.05pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="144" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="color:#FFFFFF;"><span style="font-size:small;"><span style="font-family:Calibri;">Query SQL</span></span></span></strong></p>
</td>
<td style="border-right:#e2e2e2;border-top:black 1pt solid;border-left:#e2e2e2;width:108.05pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="144" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="color:#FFFFFF;"><span style="font-size:small;"><span style="font-family:Calibri;">DataAdapter</span></span></span></strong></p>
</td>
<td style="border-right:#e2e2e2;border-top:black 1pt solid;border-left:#e2e2e2;width:108.05pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="144" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="color:#FFFFFF;"><span style="font-size:small;"><span style="font-family:Calibri;">DataTable</span></span></span></strong></p>
</td>
<td style="border-right:#e2e2e2;border-top:black 1pt solid;border-left:#e2e2e2;width:108.05pt;border-bottom:black 1pt solid;background-color:transparent;padding:0 5.4pt;" width="144" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><strong><span style="color:#FFFFFF;"><span style="font-size:small;"><span style="font-family:Calibri;">Tela</span></span></span></strong></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:small;"></span><span style="font-family:&quot;"><span style="font-size:small;">Dados do Banco</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-family:&quot;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-family:&quot;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">No caso das instruções que não retornam dados, iremos utilizar o objeto OledbCommand.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong>OledbCommand: </strong><span> </span>usado para armazenar e executar um comando SQL. </span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>ExecuteReader(): usado para SELECT.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>ExecuteNonReader(): usado para INSERT, UPDATE e DELETE.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Observe que o OleDbCommand também pode ser usado para instruções Select, no entanto, seu uso se torna mais claro se implementada partir de um DataAdapter(como fizemos na aula passada).</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Dessa forma, implementaremos o cadastro de usuários ao nosso Fórum. Criaremos a página cadastro.aspx, com objetos textbox, label e Button. Podem ser usados os controles de validação.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">A partir de então iremos criar o método de cadastro de usuários.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;">Public function cadastraUsuario(byVal nomeCompleto as string, byVal email as String, byVal senha as string, byVal confSenhas as string)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;">If senha &lt;&gt; confSenha then</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:10pt;font-family:&quot;">Return false</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;">Else</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:10pt;font-family:&quot;">Dim strSQL as string </span></p>
<p class="MsoNormal" style="margin:0;">
<div class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;"><span>      </span>strSql = &#8220;Insert into USUARIOS (nome_USUARIO, email_USUARIO , senha_USUARIO) values (@nome, @email ,@senha)&#8221;</span></div>
<p><span style="font-size:10pt;font-family:&quot;"> </p>
<p></span></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;">
<div class="MsoNormal" style="margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;">Dim cmdCadastra as New OleDbCommand(strSQL, ConnForum)</span></div>
<p><span style="font-size:10pt;font-family:&quot;">cmdCadastra.Parameters.Add(New OleDbParameter(&#8220;@nome&#8221;, nomeCompleto))<br />
cmdCadastra.Parameters.Add(New OleDbParameter(&#8220;@email&#8221;, email))<br />
cmdCadastra.Parameters.Add(New OleDbParameter(&#8220;@senha&#8221;, senha))</p>
<p> </p>
<p></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:10pt;font-family:&quot;">cmdCadastra.ExecuteNonQuery</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:10pt;font-family:&quot;">return true</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;">
<div class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;">end if</span></div>
<p><span style="font-size:10pt;font-family:&quot;"> </p>
<p></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:10pt;font-family:&quot;">end function</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Você deve estar se perguntando o porquê de usarmos uma function, já que uma instrução Insert não retorna valores. Na verdade, não é necessário, mas observe que estamos retornando um valor True, em caso de sucesso no cadastro. Isso facilita o tratamento de erros posteriormente.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Veja que no ínicio da construção do método, estamos recebendo quatro valores como parâmetros. Tais valores vem das caixas de texto da interface (cadastro.aspx) e devem ser referenciados no momento da chamada do métodos.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Calibri;">Observe também que há algo de diferente na instrução INSERT. Dentro dos parâmetros VALUES temos marcações iniciadas pelo sinal de arroba (@). São as chamadas procedures, onde posteriomente, através da propriedade Parameters, substituímos pelos reais valores das variáveis.</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-family:&quot;"><span style="font-size:small;"> </span></span></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;">cmdCadastra.Parameters.Add(New OleDbParameter(&#8220;@nome&#8221;, nomeCompleto))<br />
cmdCadastra.Parameters.Add(New OleDbParameter(&#8220;@email&#8221;, email))<br />
cmdCadastra.Parameters.Add(New OleDbParameter(&#8220;@senha&#8221;, senha))</span></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:10pt;font-family:&quot;"><br />
</span><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Agora que a construção do método já está clara, vamos à sua chamada.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Esta é feita no botão Cadastrar, através da codificação abaixo.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;">objManipulaBanco.conectaBanco</span></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;">If objManipulaBanco.cadastraUsuario(txtNome.text, txtEmail.text, txtSenha.text, txtConfSenha.text) = true then</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;">LabelResult.text = “Dados cadastrados com sucesso”</span></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;">Else</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;">LabelResult.text = “&lt;mensagem de erro&gt;”</span></p>
<p class="MsoNormal" style="margin:0 0 0 35.4pt;"><span style="font-size:10pt;font-family:&quot;">End if</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Agora, basta conferir no banco de dados se os dados foram cadastrados corretamente.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Lembrem-se: manipulações a banco de dados estão muito mais sujeitas a erros do que simples consultas, portanto, vale a pena estarmos atentos aos dados cadastrados.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Um grande abraço a todos.</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/40/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/40/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/40/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/40/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/40/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=40&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/08/18/aspnet-cadastro-de-usuarios/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET &#8211; Passagem de Dados por camadas</title>
		<link>http://joaoortiz.wordpress.com/2008/08/18/aspnet-passagem-de-dados-por-camadas/</link>
		<comments>http://joaoortiz.wordpress.com/2008/08/18/aspnet-passagem-de-dados-por-camadas/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 01:34:11 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Curso Técnico]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=36</guid>
		<description><![CDATA[Olá queridos alunos.
Em nossa última aula, montamos o método de Login  da camada DAL de nosso projeto. Agora temos que montar o método de validação das informações passadas no login. Tais métodos devem ser criados em classes da camada BLL. 
Vale lembrar, que tais validações, são diferentes das validações de campos, feitas a partir dos [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=36&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Olá queridos alunos.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Em nossa última aula, montamos o método de <strong>Login </strong><span> </span>da camada DAL de nosso projeto. Agora temos que montar o método de validação das informações passadas no login. Tais métodos devem ser criados em classes da camada BLL. </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Vale lembrar, que tais validações, são diferentes das validações de campos, feitas a partir dos objetos “Validator” (RangeValidator, CompareValidator, RequiredFieldValidator). As validações feitas na camada BLL, são verificações feitas a partir das regras de negócio (contexto) do sistema, como por exemplo, quantidade de caracteres nos campos <strong>Nome de Usuário</strong> e <strong>Senha</strong>.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;">
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td style="background-color:transparent;border:#e2e2e2;">
<div>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:18pt;"><span style="font-family:Calibri;">UI</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:8pt;"><span style="font-family:Calibri;">Login.aspx</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:8pt;"><span style="font-family:Calibri;">cmdLogin_Click()</span></span></p>
</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td style="background-color:transparent;border:#e2e2e2;">
<div>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:18pt;"><span style="font-family:Calibri;">BLL</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:8pt;"><span style="font-family:Calibri;">ValidacaoDados</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:8pt;"><span style="font-family:Calibri;">validaLogin()</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:8pt;"><span style="font-family:Calibri;"> </span></span></p>
</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td style="background-color:transparent;border:#e2e2e2;">
<div>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:18pt;"><span style="font-family:Calibri;">DAL</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:8pt;"><span style="font-family:Calibri;">ManipulacaoBanco</span></span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:8pt;"><span style="font-family:Calibri;">validaUsuario()</span></span></p>
</div>
</td>
</tr>
</tbody>
</table>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td style="background-color:transparent;border:#e2e2e2;">
<div>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:8pt;"><span style="font-family:Calibri;">(Retorno)</span></span></p>
</div>
</td>
</tr>
</tbody>
</table>
<p><span style="z-index:251661312;left:0;position:absolute;"></p>
<table border="0" cellspacing="0" cellpadding="0" width="100%">
<tbody>
<tr>
<td style="background-color:transparent;border:#e2e2e2;">
<div class="shape" style="padding:3.6pt 7.2pt;">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span style="font-size:8pt;"><span style="font-family:Calibri;">(Envio de informações do usuário)</span></span></p>
</div>
</td>
</tr>
</tbody>
</table>
<p></span><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p></p>
<table class="MsoNormalTable" style="width:489.05pt;border-collapse:collapse;margin:auto auto auto -30.05pt;" border="1" cellspacing="0" cellpadding="0" width="652">
<tbody>
<tr>
<td style="width:184.3pt;background-color:transparent;border:windowtext 1.5pt double;padding:0 5.4pt;" width="246" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">Login.aspx</span></span></span></p>
</td>
<td style="border-right:windowtext 1.5pt double;border-top:windowtext 1.5pt double;border-left:#e2e2e2;width:6cm;border-bottom:windowtext 1.5pt double;background-color:transparent;padding:0 5.4pt;" width="227" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">ValidacaoDados</span></span></span></p>
</td>
<td style="border-right:windowtext 1.5pt double;border-top:windowtext 1.5pt double;border-left:#e2e2e2;width:134.65pt;border-bottom:windowtext 1.5pt double;background-color:transparent;padding:0 5.4pt;" width="180" valign="top">
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">ManipulacaoBanco</span></span></span></p>
</td>
</tr>
<tr>
<td style="border-right:windowtext 1.5pt double;border-top:#e2e2e2;border-left:windowtext 1.5pt double;width:184.3pt;border-bottom:windowtext 1.5pt double;background-color:transparent;padding:0 5.4pt;" width="246" valign="top">
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">Protected Sub loginButton_Click()</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">Dim objValDados as new ValidacaoDados</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">If objValDados.validaUsuario() = true Then</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                        </span>‘login aceito</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">Else</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                        </span>MensagemLabel.text = “Dados Inválidos”</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">End if</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">End Sub</span></span></p>
</td>
<td style="border-right:windowtext 1.5pt double;border-top:#e2e2e2;border-left:#e2e2e2;width:6cm;border-bottom:windowtext 1.5pt double;background-color:transparent;padding:0 5.4pt;" width="227" valign="top">
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">public function validaUsuario()</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">Dim objManBanco as new ManipulacaoBanco</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                        </span>If usuario.Length &gt; 12 then</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                                               </span>Return false</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                        </span>else</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                                               </span>Return objManBanco.validaUsuario()</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                        </span>End If</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                        </span>(&#8230;)</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">End Sub</span></span></p>
</td>
<td style="border-right:windowtext 1.5pt double;border-top:#e2e2e2;border-left:#e2e2e2;width:134.65pt;border-bottom:windowtext 1.5pt double;background-color:transparent;padding:0 5.4pt;" width="180" valign="top">
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">public function validaUsuario()</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                        </span>(&#8230;)</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                        </span>Return true</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;"><span>                        </span>(&#8230;)</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;" lang="EN-US"><span style="font-family:Calibri;">End Sub</span></span></p>
</td>
</tr>
</tbody>
</table>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span lang="EN-US"><span style="font-size:small;font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Observe que para usar um método de uma classe externa, deve-se instanciar um objeto do tipo da respectiva classe que desejamos usar. Isso pode ser observado nos métodos validaUsuario() e loginButton_Click() descritos acima.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Após a execução do Login, o próximo passo é listarmos na tela, os tópicos presentes no fórum. Podemos fazer essa listagem através do objeto GridView.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Boa aula a todos!</span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/36/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/36/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/36/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/36/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/36/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=36&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/08/18/aspnet-passagem-de-dados-por-camadas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET &#8211; Login de Usuários</title>
		<link>http://joaoortiz.wordpress.com/2008/08/18/33/</link>
		<comments>http://joaoortiz.wordpress.com/2008/08/18/33/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 01:31:47 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Curso Técnico]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=33</guid>
		<description><![CDATA[Olá queridos alunos.
Estamos montando em nosso projeto, um fórum de discussão buscando nos familiarizar com alguns métodos essenciais de acesso a dados, sempre fundamentais na maioria dos sistemas. A princípio, utilizaremos o método de Login, para validar os usuários que acessam o sistema.
 As informações de login, inicialmente são passadas via Web Form, por controles Asp.net. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=33&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Olá queridos alunos.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Estamos montando em nosso projeto, um fórum de discussão buscando nos familiarizar com alguns métodos essenciais de acesso a dados, sempre fundamentais na maioria dos sistemas. A princípio, utilizaremos o método de Login, para validar os usuários que acessam o sistema.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span> </span>As informações de login, inicialmente são passadas via Web Form, por controles Asp.net. O botão responsável por executar o método de login, deve utilizar o conteúdo das caixas de texto Nome de Usuário e Senha como parâmetro para validar as informações.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">O método de login deve receber tais informações, tratá-las e compará-las com as informações do banco de dados através de<span>  </span>uma instrução SQL do tipo ‘Select’. Para executar esse comando, devemos criar um objeto do tipo OledbCommand.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>OledbCommand: objeto responsável por armazenar uma instrução SQL.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Observe que esse objeto, na codificação posteriormente, é armazenado em um dataReader.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>OledbDataReader: armazena o resultado de uma instrução Select e permite que os dados sejam lidos posteriormente.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Segue abaixo o método de Login. Não se esqueça de fazer as adaptações necessárias.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;">Dim userDR As OledbDataReader</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;">Public Function login(ByVal usuario As String, ByVal senha As String, ByRef nomeCompleto As String) As Boolean</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>        </span>Dim sql As String</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>        </span>sql = &#8220;Select * from USUARIOS where nome_USUARIO like &#8216;&#8221; &amp; usuario &amp; &#8220;&#8216; and senha_USUARIO like &#8216;&#8221; &amp; senha &amp; &#8220;&#8216;&#8221;</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>        </span>conecta()</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>        </span>Dim userCmd As New OledbCommand(sql, dbConn)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>        </span>userDR = userCmd.ExecuteReader</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>        </span>If Not userDR.Read() Then</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>            </span></span><span style="font-size:8pt;font-family:&quot;">desconecta()</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>    </span><span>        </span>Return False</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>        </span>Else</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>            </span>nomeCompleto = userDR(&#8220;nome_USUARIO&#8221;).ToString()</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>            </span>desconecta()</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>            </span>Return True</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;font-family:&quot;"><span>        </span>End If</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;font-family:&quot;">End Function</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p><span style="font-size:8pt;font-family:&quot;"></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Um grande abraço a todos.</span></p>
<p><span style="font-size:8pt;font-family:&quot;"> </p>
<p></span></span></p>
<p><strong></strong></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/33/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/33/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/33/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/33/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/33/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=33&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/08/18/33/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>
	</item>
		<item>
		<title>ASP.NET &#8211; Exibição de Dados</title>
		<link>http://joaoortiz.wordpress.com/2008/08/18/aspnet-exibicao-de-dados/</link>
		<comments>http://joaoortiz.wordpress.com/2008/08/18/aspnet-exibicao-de-dados/#comments</comments>
		<pubDate>Mon, 18 Aug 2008 01:27:18 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Curso Técnico]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=31</guid>
		<description><![CDATA[Olá queridos alunos. Como foram de final de semana?
Iniciaremos um longo jejum sem feriados pela frente, e iremos iniciar essa jornada dando continuidade ao nosso fórum. Após a ‘trabalhosa’ construção do método de login do nosso sistema, partiremos a uma etapa mais ‘light’: exibição dos tópicos do fórum.
Para tal tarefa, será necessária a construção de [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=31&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Olá queridos alunos. Como foram de final de semana?</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Iniciaremos um longo jejum sem feriados pela frente, e iremos iniciar essa jornada dando continuidade ao nosso fórum. Após a ‘trabalhosa’ construção do método de login do nosso sistema, partiremos a uma etapa mais ‘light’: exibição dos tópicos do fórum.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Para tal tarefa, será necessária a construção de dois objetos fundamentais para a exibição das informações: DataAdapter e DataTable.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong>DataAdapter</strong>: é um objeto responsável por gerenciar informações originadas a partir de um banco de dados.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong>DataTable</strong>: objeto que armazena informações já estruturadas em um formato de uma tabela de banco de dados.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Trabalharemos programando em nossa classe ManipulacaoBanco e no evento Page_Load() da página default.aspx.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;" lang="EN-US">Public Function listaTopicos()</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;" lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;" lang="EN-US"><span>        </span>Dim dtTopicos As New DataTable</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;" lang="EN-US"><span>        </span>Dim strSql = &#8220;Select * from TOPICOS&#8221;</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;" lang="EN-US"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;" lang="EN-US"><span>        </span></span><span style="font-size:8pt;color:black;font-family:&quot;">Dim dtAdpTopicos As New OleDbDataAdapter(strSql, connForum)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"><span>        </span>dtAdpTopicos.Fill(dtTopicos)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"><span>        </span>Return dtTopicos</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;">End Function</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">O método acima retorna um objeto do tipo DataTable, que armazena todos os registros presentes na tabela TOPICOS(vide instrução Select). O objeto dataAdapter funciona como ponte de ligação entre a instrução SQL e o DataTable.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Agora observe a chamada deste método no evento Page_Load da página default.aspx:</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;" lang="EN-US">Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;" lang="EN-US"><span>        </span></span><span style="font-size:8pt;color:black;font-family:&quot;">Dim objManBanco As New ManipulacaoBanco</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"><span>        </span>Dim tblTopicos As DataTable</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"><span>        </span>Dim i As Integer</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"><span>        </span>objManBanco.abreConexao()</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"><span>        </span>tblTopicos = objManBanco.listaTopicos</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"><span>        </span>For i = 0 To tblTopicos.Rows.Count &#8211; 1</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"><span>            </span>Response.Write(&#8220;&lt;a href=exibedetalhes.aspx&gt;&#8221; &amp; (tblTopicos.Rows(i).Item(&#8220;titulo_TOPICO&#8221;).ToString) &amp; &#8220;&lt;/a&gt;&#8221;)</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"><span>        </span>Next</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;">End Sub</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:8pt;color:black;font-family:&quot;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong><span style="color:black;">Atenção: </span></strong><span style="color:black;">Não se esqueça de importar o pacote System.Data, para ter acesso ao objeto DataTable.</span></span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="color:black;"><span style="font-size:small;font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="color:black;"><span style="font-size:small;"><span style="font-family:Calibri;">Um grande abraço a todos!</span></span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/31/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/31/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/31/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/31/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/31/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=31&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/08/18/aspnet-exibicao-de-dados/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>
	</item>
		<item>
		<title>Técnicas de Desenvolvimento de Aplicativos &#8211; Calculadora &#8211; Parte 3</title>
		<link>http://joaoortiz.wordpress.com/2008/05/26/tecnicas-de-desenvolvimento-de-aplicativos-calculadora-parte-3/</link>
		<comments>http://joaoortiz.wordpress.com/2008/05/26/tecnicas-de-desenvolvimento-de-aplicativos-calculadora-parte-3/#comments</comments>
		<pubDate>Mon, 26 May 2008 06:25:11 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[Curso Técnico]]></category>
		<category><![CDATA[Técnicas de Desenvolvimento de Aplicativos]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=30</guid>
		<description><![CDATA[Olá caros alunos.
                Hoje, em nossa aula de laboratório, iremos programar as rotinas dos botões responsáveis pelas operações matemáticas de nossa Calculadora, e também o botão ‘igual’, que terá a função de mostrar o resultado do cálculo na tela.
 
                Mas antes de começarmos, vamos fazer uma pequena alteração no nosso programa. Lembram da programação do [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=30&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Olá caros alunos.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Hoje, em nossa aula de laboratório, iremos programar as rotinas dos botões responsáveis pelas operações matemáticas de nossa Calculadora, e também o botão ‘igual’, que terá a função de mostrar o resultado do cálculo na tela.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Mas antes de começarmos, vamos fazer uma pequena alteração no nosso programa. Lembram da programação do botão VÍRGULA? Nela temos a seguinte linha de código:</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><em><span style="font-size:small;"><span style="font-family:Calibri;">txtvisor.Text = txtvisor.Text &amp; &#8220;.&#8221;</span></span></em></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><em><span style="font-size:small;font-family:Calibri;"> </span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Nós colocamos o ponto(.), a fim de seguir o padrão americano de numeração. No entanto, o Visual Basic segue o padrão do sistema operacional e, dessa forma, reconhece normalmente a vírgula(,). Portanto, devemos alterar para o símbolo da vírgula, ficando a linha de código alterada da seguinte forma.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:center;margin:0;" align="center"><em><span style="font-size:small;"><span style="font-family:Calibri;">txtvisor.Text = txtvisor.Text &amp; &#8220;,&#8221;</span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Vamos agora aos botões de operações.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Já montamos toda a programação em sala de aula, mas é sempre bom relembrar. </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Para tratar os valores envolvidos e a operação matemática a ser realizada, precisamos declarar algumas variáveis visíveis a todas as rotinas do programa. Nesse caso, declaramos no <strong>início </strong>da programação.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">Dim dblNum1 As Double</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">Dim dblNum2 As Double</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">Dim dblResultado As Double</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">Dim strOper As String</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Tais variáveis armazenam os valores a serem calculados, como o primeiro valor (antes do sinal), o segundo valor e conseqüentemente, o resultado. A variável <em>strOper</em>, armazena a operação desejada, para melhor controle da programação do botão Igual.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Vejamos a programação do botão Soma.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">Private Sub cmdSoma_Click()</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>dblNum1 = CDbl(txtvisor.Text)</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span lang="EN-US"><span>    </span></span>strOper = &#8220;+&#8221;</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>  </span><span>  </span>txtvisor.Text = &#8220;0&#8243;</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>virgula = False</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">End Sub</span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Observe que ao armazenar o valor na variável e a operação desejada, alteramos o visor e a vírgula para seus estados iniciais, representado no evento Form_load(). O método cdbl(), converte um valor numérico qualquer para um número real.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>A programação dos demais botões das operações segue o mesmo padrão, mudando apenas o sinal da operação (valor da variável <em>strOper</em>).</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">Private Sub cmdMult_Click()</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span> </span>dblNum1 = CDbl(txtvisor.Text)</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>strOper = &#8220;*&#8221;</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>txtvisor.Text = &#8220;0&#8243;</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>virgula = False</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">End Sub</span></span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-US"><span style="font-size:small;font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Àqueles que desejarem implementar a radiciação na calculadora, segue a respectiva programação.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">Private Sub cmdRad_Click()</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>dblNum1 = txtvisor.text</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">txtVisor.text = sqrt(cdbl(dblNum1))</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span> </span>txtvisor.Text = &#8220;0&#8243;</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span> </span>virgula = False</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">dblNum1 = 0</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">End Sub</span></span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-US"><span style="font-size:small;font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span lang="EN-US"><span>                </span></span>O botão igual exige um pouco mais de atenção em sua programação. Observe a cadeia de IF’s juntamente com a função da variável <em>strOper</em>. Veja também que o resultado já é mostrado em tela.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">Private Sub cmdIgual_Click()</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span> </span>dblNum2 = CDbl(txtvisor.Text)</span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>MsgBox dblNum2</span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>If strOper = &#8220;+&#8221; Then</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>dblResultado = dblNum1 + dblNum2</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>ElseIf strOper = &#8220;-&#8221; Then</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>dblResultado = dblNum1 &#8211; dblNum2</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>ElseIf strOper = &#8220;*&#8221; Then</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>dblResultado = dblNum1 * dblNum2</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>ElseIf strOper = &#8220;/&#8221; Then</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>dblResultado = dblNum1 / dblNum2</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>ElseIf strOper = &#8220;^&#8221; Then</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>dblResultado = dblNum1 ^ dblNum2</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>End If</span></span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span><em></em></span></span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>txtvisor.Text = dblResultado</span></span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span></span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0 0 0 35.4pt;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;">End Sub</span></span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span lang="EN-US"><span style="font-size:small;font-family:Calibri;"> </span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Finalizaremos nosso projeto em nossa próxima aula, com o botão Reset e a chamada ‘perfumaria’ (arte-final) de nossa calculadora. Abraços a todos e tenham uma boa aula de Animação Digital.</span></p>
<p> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/30/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/30/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/30/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/30/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/30/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=30&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/05/26/tecnicas-de-desenvolvimento-de-aplicativos-calculadora-parte-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>
	</item>
		<item>
		<title>Técnicas de Desenvolvimento de Aplicativos &#8211; Calculadora &#8211; Parte 2</title>
		<link>http://joaoortiz.wordpress.com/2008/05/26/tecnicas-de-desenvolvimento-de-aplicativos-calculadora-parte-2/</link>
		<comments>http://joaoortiz.wordpress.com/2008/05/26/tecnicas-de-desenvolvimento-de-aplicativos-calculadora-parte-2/#comments</comments>
		<pubDate>Mon, 26 May 2008 06:24:08 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[Curso Técnico]]></category>
		<category><![CDATA[Técnicas de Desenvolvimento de Aplicativos]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=29</guid>
		<description><![CDATA[Olá caros alunos.
                Hoje, em nossa aula de laboratório, iremos programar as rotinas dos botões ‘0’ (Zero) e da vírgula em nossa Calculadora. Desenvolvemos ontem, em sala de aula, uma lógica para a implementação desses botões à nossa aplicação, no entanto, algumas modificações foram feitas, para um funcionamento mais adequado. Essas rotinas nos ajudarão a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=29&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">Olá caros alunos.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Hoje, em nossa aula de laboratório, iremos programar as rotinas dos botões ‘0’ (Zero) e da vírgula em nossa Calculadora. Desenvolvemos ontem, em sala de aula, uma lógica para a implementação desses botões à nossa aplicação, no entanto, algumas modificações foram feitas, para um funcionamento mais adequado. Essas rotinas nos ajudarão a entender os conceitos de <strong>Variáveis Controladoras</strong> e <strong>Escopo de Variáveis</strong>.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span><span style="font-size:small;font-family:Calibri;">                </span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong>Aplicação: </strong>Calculadora</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><span style="font-size:small;font-family:Calibri;">Objetivos: </span></strong></p>
<p class="MsoListParagraphCxSpFirst" style="text-indent:-18pt;text-align:justify;margin:0 0 0 53.25pt;"><span style="font-family:Symbol;"><span><span style="font-size:small;">·</span><span style="font:7pt &quot;">         </span></span></span><span style="font-size:small;font-family:Calibri;">Uso de variáveis e tipos;</span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-18pt;text-align:justify;margin:0 0 0 53.25pt;"><span style="font-family:Symbol;"><span><span style="font-size:small;">·</span><span style="font:7pt &quot;">         </span></span></span><span style="font-size:small;font-family:Calibri;">Criação de rotinas em seus respectivos eventos;</span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-18pt;text-align:justify;margin:0 0 0 53.25pt;"><span style="font-family:Symbol;"><span><span style="font-size:small;">·</span><span style="font:7pt &quot;">         </span></span></span><span style="font-size:small;font-family:Calibri;">Armazenamento de valores;</span></p>
<p class="MsoListParagraphCxSpMiddle" style="text-indent:-18pt;text-align:justify;margin:0 0 0 53.25pt;"><span style="font-family:Symbol;"><span><span style="font-size:small;">·</span><span style="font:7pt &quot;">         </span></span></span><span style="font-size:small;font-family:Calibri;">Concatenação de String;</span></p>
<p class="MsoListParagraphCxSpLast" style="text-indent:-18pt;text-align:justify;margin:0 0 0 53.25pt;"><span style="font-family:Symbol;"><span><span style="font-size:small;">·</span><span style="font:7pt &quot;">         </span></span></span><span style="font-size:small;font-family:Calibri;">Operações Matemáticas.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><span style="font-size:small;font-family:Calibri;"> </span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Calibri;">Variáveis Controladoras</span></span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><span style="text-decoration:underline;"><span style="text-decoration:none;"><span style="font-size:small;font-family:Calibri;"> </span></span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><strong><span>                </span></strong>Muitas vezes, ao desenvolver uma lógica, necessitamos de uma variável que controle o fluxo do programa, de acordo com intervenções do usuário na aplicação. Vamos a um exemplo.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Em nosso programa, temos uma situação em que não devemos deixar que seja colocada mais de uma vírgula ao número exibido no visor da calculadora, já que a Matemática não nos permite tal feito. Dessa forma, necessitamos saber, no ato do ‘clique’ no botão referente à vírgula, se a vírgula já existe ou não no número exibido no visor.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Uma solução para tal problema seria criar uma variável que nos indique se a vírgula, já foi colocada ou não. Vamos entender mais ou menos a lógica.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Existem apenas duas situações para nossos números, naquilo que diz respeito à vírgula: <strong>Com </strong>ou <strong>sem </strong>vírgula. Quando temos apenas duas possibilidades, podemos usar variáveis do tipo VERDADEIRO ou FALSO, chamadas <strong>Variáveis Booleanas, </strong>que só aceitam esse tipo de valor.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Criaremos então uma variável <em>blnVirgula </em><span> </span>do tipo <strong>Boolean </strong>para tal implementação. Quando a variável blnVirgula for igual a <strong>FALSE</strong>, significa que o número ainda não possui a vírgula. Se a o valor da variável for <strong>TRUE</strong>, a vírgula já foi colocada e, portanto, não pode ser mais utilizada.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><strong><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Calibri;">Escopo de variáveis</span></span></span></strong></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Tal variável será usada nas rotinas de quase todos os botões de nossa calculadora, portanto, faz-se necessário que ela esteja disponível a todas as rotinas do programa. Para isso, devemos declará-la <strong>antes</strong> <strong>de todas as rotinas</strong>. Dizemos então que tal variável tem o <strong>escopo público</strong>, visível a todas as rotinas do programa.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">Dim blnVirgula as Boolean<span>    </span>‘ declaração da variável feita antes de qualquer programação</span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><strong><span style="text-decoration:underline;"><span style="font-size:small;"><span style="font-family:Calibri;">ATENÇÃO</span></span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><strong><span style="font-size:small;"><span style="font-family:Calibri;">Vale enfatizar que ao início do programa, o visor de nossa calculadora começa apenas com o número ZERO, sem a vírgula. Dessa forma devemos inicializar a variável blnVirgula como FALSE, no evento Form_load de nossa aplicação. Observe que já temos uma codificação nesse evento, e devemos adicionar a seguinte linha de código:</span></span></strong></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">blnVirgula = false</span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Vamos então programar? Segue abaixo a codificação do botão <em>cmdVirgula:</em></span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><em><span style="font-size:small;font-family:Calibri;"> </span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">Private Sub cmdVirgula_Click()</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>If blnvirgula = False Then <span>       </span>‘Se não existir vírgula no número</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>txtvisor.Text = txtvisor.Text &amp; &#8220;.&#8221;<span>    </span>‘Coloca-se a vírgula</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>blnvirgula = True<span>                     </span>‘alterando o valor da variável para TRUE</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>End If</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">End Sub</span></span></em></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>A programação do botão ZERO também é simples. Basta saber em quais condições o Zero pode ser colocado junto ao número desejado.</span></span></p>
<p class="MsoNormal" style="text-indent:-18pt;text-align:justify;margin:0 0 0 53.25pt;"><span style="font-family:Symbol;"><span><span style="font-size:small;">·</span><span style="font:7pt &quot;">         </span></span></span><span style="font-size:small;font-family:Calibri;">Antecedido por um número qualquer diferente de Zero;</span></p>
<p class="MsoNormal" style="text-indent:-18pt;text-align:justify;margin:0 0 0 53.25pt;"><span style="font-family:Symbol;"><span><span style="font-size:small;">·</span><span style="font:7pt &quot;">         </span></span></span><span style="font-size:small;font-family:Calibri;">Caso a vírgula já exista.</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 35.25pt;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 35.25pt;"><span style="font-size:small;font-family:Calibri;">A estrutura de decisão IF&#8230;ELSE&#8230;END IF, é suficiente para resolvermos tal problema:</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0 0 0 35.25pt;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">Private Sub cmdZero_Click()</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>If txtvisor.Text = &#8220;0&#8243; Then</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>Exit Sub</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>Else</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span lang="EN-US"><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>If txtvisor.Text &lt;&gt; &#8220;0&#8243; Or blnvirgula = TRUE <span> </span>Then</span></span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span lang="EN-US"><span>            </span></span>txtvisor.Text = txtvisor.Text &amp; &#8220;0&#8243;</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>        </span>End If</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;"><span>    </span>End If</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;"><span style="font-family:Calibri;">End Sub</span></span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><em><span style="font-size:small;font-family:Calibri;"> </span></em></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">As duas condições citadas acima podem ser colocadas na mesma cláusula IF, utilizando o operador lógico <strong>OR</strong>, que será estudado mais adiante. Vamos traduzir a linha do IF, presente na codificação acima:</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;">“Se <strong>o conteúdo do visor for diferente de zero</strong> OU <strong>existir vírgula </strong>então&#8230;”</span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Observe que dentro da cláusula ELSE, abrimos outra condição IF. Se o conteúdo do visor não for igual a zero, fazemos outra verificação, a fim de saber se a vírgula já existe.</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Por hoje é só, e na próxima aula implementaremos as operações matemáticas e o botão Igual(=).</span></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Abraços!</span></span></p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/29/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/29/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/29/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/29/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/29/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=29&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/05/26/tecnicas-de-desenvolvimento-de-aplicativos-calculadora-parte-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>
	</item>
		<item>
		<title>Técnicas de Desenvolvimento de Aplicativos &#8211; Calculadora</title>
		<link>http://joaoortiz.wordpress.com/2008/05/26/tecnicas-de-desenvolvimento-de-aplicativos-calculadora/</link>
		<comments>http://joaoortiz.wordpress.com/2008/05/26/tecnicas-de-desenvolvimento-de-aplicativos-calculadora/#comments</comments>
		<pubDate>Mon, 26 May 2008 06:10:15 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[Curso Técnico]]></category>
		<category><![CDATA[Técnicas de Desenvolvimento de Aplicativos]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=27</guid>
		<description><![CDATA[

                Olá caros alunos.
                Hoje, em nossa aula de laboratório, iremos desenvolver uma Calculadora. O desenvolvimento desta aplicação nos ajudará muito a compreender algumas aplicações de conceitos vistos em sala de aula.
 
Aplicação: Calculadora
 
Objetivos: 
Uso de variáveis e tipos;
Criação de rotinas em seus respectivos eventos;
Armazenamento de valores;
Concatenação de String;
Operações Matemáticas.
 
Etapas:
Desenvolvimento da Interface Gráfica
 
Consiste na criação da [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=27&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><div></div>
<p><span style="font-family:Calibri;"></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span>                </span>Olá caros alunos.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span>                </span>Hoje, em nossa aula de laboratório, iremos desenvolver uma Calculadora. O desenvolvimento desta aplicação nos ajudará muito a compreender algumas aplicações de conceitos vistos em sala de aula.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;">Aplicação: Calculadora</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;">Objetivos: </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;">Uso de variáveis e tipos;</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;">Criação de rotinas em seus respectivos eventos;</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;">Armazenamento de valores;</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;">Concatenação de String;</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;">Operações Matemáticas.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;">Etapas:</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;">Desenvolvimento da Interface Gráfica</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;">Consiste na criação da tela do programa. Deve-se levar em consideração aspectos fundamentais tais como cores utilizadas, alinhamento dos objetos e clareza. Uma Interface amigável e intuitiva é a chave para o bom uso de um software. </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;">As funcionalidades do aplicativo interferem de maneira direta na tela do programa. Abaixo, um exemplo de Interface para uma calculadora com as 4 operações matemáticas básicas.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span>                </span>Na construção de sua tela, lembre-se de alterar a propriedade NAME dos objetos, utilizando a nomenclatura definida.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span>                </span>Altere a propriedade CAPTION para mudar o conteúdo escrito no rótulo dos botões e na barra de títulos de seu formulário.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span>                </span>Observe que os botões são separados por um quadro, chamado FRAME. Você pode criar um objeto Frame na sua aplicação, localizado na Barra de Ferramentas. </span></p>
<div></div>
<p><span style="font-family:Calibri;"><font face="Calibri"><font face="Calibri"></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p></font></font></span><font face="Calibri"></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> </p>
<p></font></span></p>
<p class="MsoNormal" style="text-align:justify;margin:0;"> <span style="font-size:small;font-family:Calibri;"><img class="aligncenter" src="http://www.santarita.g12.br/Aulas/Imagens/calc.jpg" alt="" width="242" height="301" /></span></p>
<p class="MsoNormal" style="text-indent:35.25pt;text-align:justify;margin:0;"> </p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">A Interface descrita acima trata-se apenas de uma sugestão. Sinta-se livre para adicionar funcionalidades como potenciação, radiciação, etc.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">Estado Inicial do Programa</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">O estado inicial da aplicação na maioria das vezes, é definido no evento Form_Load(), Em uma calculadora, o estado inicial é simples. </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;">Você já deve ter notado que ao ligar uma calculadora convencional, o número zero fica explícito no visor. Em nosso caso, além de exibir o valor padrão (zero), temos que bloquear a caixa de texto para impedir que o usuário digite algum valor. A codificação é mais simples do que parece.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;">Private Sub Form_Load()</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">txtVisor.text = “0” <span>         </span><span> </span>‘estabelecendo o valor inicial 0(zero) na caixa de texto</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">txtvisor.Enabled = false<span>                               </span>‘bloqueando caixa de texto</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;">End sub</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">Observe que o número Zero encontra-se entre aspas. Isso, porque estamos inserindo na caixa de texto o caractere ‘0’, que será convertido em um número no momento da operação matemática. Verifique o nome correto de sua TextBox. No exemplo acima, a propriedade Name foi alterada para txtVisor.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;">Ativação dos Números</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">A programação dos botões referentes aos números pode também, de certa forma,<span>  </span>ser considerada simples. No entanto, alguns cuidados devem ser tomados.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">Imagine que o usuário clique no botão referente ao número ‘5’ e em seguida no botão ‘8’:</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;">Ao primeiro clique, o antigo valor ‘0’ dá lugar ao novo número ‘5’. No momento do segundo clique o valor ‘8’ deve se juntar ao ‘5’, dando origem ao número ‘58’.</span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">Mas como desenvolver tal solução para este ‘micro-problema’?</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;">Ao clicar pela primeira vez, o valor ‘Zero’, colocado por padrão, será substituído pelo novo valor. Porém, no segundo clique, a caixa de texto deve receber o novo número, antecedido pelo valor clicado anteriormente. Dessa forma, devemos fazer uma verificação para distinguir o primeiro algarismo, dos demais. Confuso não? </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Lembre-se que o primeiro passo para o desenvolvimento de um programa, é entender a lógica de seu funcionamento.</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Uma vez a lógica raciocinada, cabe a nós somente traduzi-la para a Linguagem de Programação. Segue abaixo a rotina para o botão ‘5’. </span></span></p>
<p class="MsoNormal" style="margin:0;"><span><span style="font-size:small;font-family:Calibri;">                </span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">Public cmdCinco_click()</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                               </span>If txtVisor.text = 0 then<span>                               </span>‘Verificação Primeiro clique = verdadeiro</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                                               </span>txtVisor.text = “5”<span>          </span>‘adicionando valor 5 ao visor</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                               </span>else<span>                                                      </span>‘Primeiro clique = falso</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                                               </span>txtVisor.text = txtVisor.text &amp; “5”<span>   </span>‘Juntando valor 5 ao conteúdo do visor</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                               </span>end IF</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>End Sub</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Sempre que é necessário verificar uma condição no programa, utilizamos a estrutura IF&#8230;ELSE&#8230;END IF. Essa estrutura nos permite executar comandos diferentes caso uma condição seja verdadeira, dando caminhos alternativos à execução do aplicativo.</span></span></p>
<p class="MsoNormal" style="text-indent:35.4pt;margin:0;"><span style="font-size:small;font-family:Calibri;">Note que verificamos se o valor do visor é ‘Zero’, já que esse é o número padrão do estado inicial da calculadora. Caso algum valor já exista, significando que algum número já foi clicado, juntamos o novo valor, ao valor já existente no visor. A essa técnica, damos o nome de Concatenação.</span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>A Concatenação é utilizada, quando desejamos juntar dois ou mais textos, utilizando o operador de Concatenação ‘&amp;’. Ex: “1” &amp; “1” = “11”.<span>               </span></span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Essa mesma lógica é utilizada para os botões ‘1’ ao ‘9’. Vamos tentar?</span></span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;font-family:Calibri;"> </span></p>
<p class="MsoNormal" style="margin:0;"><span style="font-size:small;"><span style="font-family:Calibri;"><span>                </span>Ficamos por aqui hoje e daremos continuidade semana que vem. Um grande abraço a todos.</span></span></p>
<p class="MsoNormal" style="text-indent:35.25pt;text-align:justify;margin:0;"> </p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/27/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/27/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/27/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/27/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/27/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=27&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/05/26/tecnicas-de-desenvolvimento-de-aplicativos-calculadora/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>

		<media:content url="http://www.santarita.g12.br/Aulas/Imagens/calc.jpg" medium="image" />
	</item>
		<item>
		<title>Técnica de Desenvolvimento de Aplicativos</title>
		<link>http://joaoortiz.wordpress.com/2008/04/01/tecnica-de-desenvolvimento-de-aplicativos/</link>
		<comments>http://joaoortiz.wordpress.com/2008/04/01/tecnica-de-desenvolvimento-de-aplicativos/#comments</comments>
		<pubDate>Tue, 01 Apr 2008 02:38:25 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[Curso Técnico]]></category>
		<category><![CDATA[Técnicas de Desenvolvimento de Aplicativos]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=26</guid>
		<description><![CDATA[&#8221; &#8216;Bom Dia&#8217; Primeiro Ano !&#8221; Como estão vocês?
Antes de mais nada, gostaria de pedir desculpas pela demora em postar nossa aula e agradecer aos trabalhos que foram entregues.
Vamos então à nossa aula de hoje?
Trabalharemos hoje com um novo controle do Visual Basic: a Listbox, e algumas de suas propriedades. Para isso vamos ler o [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=26&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>&#8221; &#8216;Bom Dia&#8217; Primeiro Ano !&#8221; Como estão vocês?<br />
Antes de mais nada, gostaria de pedir desculpas pela demora em postar nossa aula e agradecer aos trabalhos que foram entregues.</p>
<p>Vamos então à nossa aula de hoje?</p>
<p>Trabalharemos hoje com um novo controle do Visual Basic: a Listbox, e algumas de suas propriedades. Para isso vamos ler o enunciado de nossa aplicação.</p>
<p>- Um aplicativo que receba informações de um livro(título, autor, editora) e a partir de um &#8220;clique&#8221; no botão &#8216;Adicionar&#8217;, cadastre as informações na lista no seguinte formato:<br />
<i>TÍTULO &#8211; AUTOR &#8211; EDITORA</i><br />
Ex:<br />
<i>O Senhor dos Anéis- J. R. Tolkien &#8211; ImFe</i></p>
<p>A aplicação conta também com um botão &#8216;Remover&#8217;, responsável por eliminar o item da lista que estiver selecionado.<br />
Segue abaixo, a interface de nosso programa.</p>
<p><img src="http://www.santarita.g12.br/Aulas/Imagens/imgLivros1.jpg" alt="Livros" /></p>
<p>Já perceberam que será simples de desenvolver não é mesmo? Afinal, teremos apenas rotinas desenvolvidas para o botão Adicionar e Remover.</p>
<p>Então, mãos na massa.</p>
<p>A partir da IHM descrita acima, desenvolva sua interface de acordo com os objetos utilizados. Pretendo, daqui pra frente deixar a critério de vocês a nomenclatura dos objetos. No entanto, vou explicar o novo controle a ser utilizado: a LISTBOX.</p>
<p><img src="http://www.santarita.g12.br/Aulas/Imagens/imgLivros2.jpg" alt="Livros" /></p>
<p>A Listbox, é um controle que nos permite adicionar valores(no formato Texto), separados por linha. Graças a ela, poderemos então ter a nossa primeira idéia de banco de dados, e observar realmente como as disciplinas de nosso curso vão se relacionando mais ainda com o decorrer das aulas. Quanto à sua nomenclatura, vamos nomeá-la com o prefixo &#8216;LST&#8217;. Ex: <em>lstLivros</em></p>
<p>Lembram-se do conceito de campo? Então, podemos dizer que cada informação a ser preenchida sobre o livro, pode ser considerada como um campo: TITULO, AUTOR, EDITORA.<br />
Melhorando ainda mais o nosso raciocínio, podemos afirmar que se a idéia fosse montar um banco de dados relacionado à nossa aplicação, esses campos fariam parte de uma tabela LIVROS.</p>
<p>Uma vez, pronta a interface, vamos à programação:</p>
<p>Está bem claro pra nós, o que deve acontecer quando clicarmos no Botão Adicionar: <strong>Os dados do livro devem ser cadastrados na lista.</strong> Mas ainda há um detalhe: o enunciado do programa exige um formato de cadastro para esses dados: <strong>Titulo &#8211; Autor &#8211; Editora</strong>.<br />
Talvez isso seja um problema, já que teremos as informações separadas em cada TextBox. Mas lembrem-se: temos o famoso recurso de Concatenação de variáveis (Ch &amp; X). Graças a isso, nosso problema está resolvido mais rápido do que pensamos.</p>
<p>Vamos então à programação do Botão Adicionar.</p>
<p><em>Private Sub cmdAdd_Click()<br />
Dim sTitulo, sAutor, sEditora, sDados</em><em>sTitulo = txtTitulo.Text<br />
sAutor = txtAutor.Text<br />
sEditora = txtEditora.Text</em><em>sDados = sTitulo &amp; &#8221; &#8211; &#8221; &amp; sAutor &amp; &#8221; &#8211; &#8221; &amp; sEditora</p>
<p>lstLivros.AddItem sDados</p>
<p>End Sub</p>
<p>Analisando a codificação acima, temos três variáveis: sTitulo, sAutor, sEditora &#8211; responsáveis por armazenar as informações das respectivas caixas de texto, além da variável sDados, que irá guardar a string completa a ser adicionada posteriormente na lista. Observe o recurso de concatenação utilizado para juntar as variáveis:</p>
<p></em><em>sDados = sTitulo &amp; &#8221; &#8211; &#8221; &amp; sAutor &amp; &#8221; &#8211; &#8221; &amp; sEditora</em></p>
<p>Temos agora um comando novo:</p>
<p><em>lstLivros.AddItem sDados</em></p>
<p>Já sabemos que lstLivros é a nossa ListBox. As ListBoxs possuem a propriedade <em>AddItem</em> que adiciona uma string à lista. No nosso caso, a string a ser adicionada é o conteúdo da variável sDados.<br />
Ao executar o programa, preenchendo as caixas de texto e adicionando as informações, podemos observar que a cada adição, os itens são cadastrados em uma nova linha da lista.</p>
<p><img src="http://www.santarita.g12.br/Aulas/Imagens/imgLivros3.jpg" alt="Livros" /></p>
<p>Vamos agora ao botão &#8216;Remover&#8217;.</p>
<p>A idéia é remover da lista, o item cuja linha estiver selecionada. A propriedade ListIndex, retorna um valor inteiro referente a linha que estiver selecionada.</p>
<p>-1 &#8211; Nenhuma linha selecionada<br />
0 &#8211; Primeira linha<br />
1 &#8211; Segunda linha<br />
2- Terceira linha<br />
3 &#8211; Quarta linha, e assim sucessivamente.</p>
<p>Isto significa que quando nenhuma linha estiver selecionada, ou seja, quando a propriedade ListIndex da lista for igual a -1, devemos exibir uma mensagem de erro e não podemos remover nenhum item.</p>
<p>Vamos desenvolver a lógica:</p>
<p>SE ITEM_SELECIONADO = -1 ENTÃO<br />
EXIBIR &#8220;Selecione um item.&#8221;<br />
SE NÃO<br />
REMOVER ITEM SELECIONADO<br />
FIM SE</p>
<p>Simples não é? Passaremos agora então nossa lógica para a linguagem do Visual Basic.</p>
<p><em>Private Sub cmdRem_Click()<br />
If lstLivros.ListIndex = -1 Then<br />
MsgBox &#8220;Selecione um item.&#8221;, vbCritical, &#8220;Erro.&#8221;<br />
Else<br />
lstLivros.RemoveItem lstLivros.ListIndex<br />
End If<br />
End Sub</em></p>
<p><img src="http://www.santarita.g12.br/Aulas/Imagens/imgLivros4.jpg" alt="Livros" /></p>
<p>Observando a rotina, podemos encontrar uma outra propriedade da ListBox: <em>RemoveItem</em>. Ao contrário da propriedade AddItem, a propriedade RemoveItem como o próprio nome já diz, retira um determinado elemento da lista. Mas não é somente isso que essas duas propriedades tem de diferente:</p>
<p><em>lstLivros.AddItem sDados</em> | <em>lstLivros.RemoveItem lstLivros.ListIndex </em></p>
<p>Enquanto a propriedade <em>AddItem</em> recebe uma string a ser adicionada na lista, a propriedade <em>RemoveItem</em>, recebe um valor inteiro, a partir da propriedade ListIndex, que faz referência ao número da linha cujo item estiver selecionado, como dito anteriormente.</p>
<p>Fácil, fácil, fácil.<br />
Espero que todos tenham aproveitado.<br />
Abraços a todos.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=26&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/04/01/tecnica-de-desenvolvimento-de-aplicativos/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>

		<media:content url="http://www.santarita.g12.br/Aulas/Imagens/imgLivros1.jpg" medium="image">
			<media:title type="html">Livros</media:title>
		</media:content>

		<media:content url="http://www.santarita.g12.br/Aulas/Imagens/imgLivros2.jpg" medium="image">
			<media:title type="html">Livros</media:title>
		</media:content>

		<media:content url="http://www.santarita.g12.br/Aulas/Imagens/imgLivros3.jpg" medium="image">
			<media:title type="html">Livros</media:title>
		</media:content>

		<media:content url="http://www.santarita.g12.br/Aulas/Imagens/imgLivros4.jpg" medium="image">
			<media:title type="html">Livros</media:title>
		</media:content>
	</item>
		<item>
		<title>Sql Server 2005 Express Edition</title>
		<link>http://joaoortiz.wordpress.com/2008/03/18/sql-server-2005-express-edition/</link>
		<comments>http://joaoortiz.wordpress.com/2008/03/18/sql-server-2005-express-edition/#comments</comments>
		<pubDate>Tue, 18 Mar 2008 18:17:50 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[Curso Técnico]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=21</guid>
		<description><![CDATA[Olá alunos. Estarei disponibilizando aqui no meu blog, o link para o download do SQL Server.  Não esqueçam de baixar primeiro o SQL Server 2005 Express Edition, e em seguida, o SQL Server Management Studio. Cabe a vocês decidir, qual SGBD  será utilizado no projeto. Creio que o Access já esteja meio ultrapassado.
A [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=21&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Olá alunos. Estarei disponibilizando aqui no meu blog, o link para o download do SQL Server.  Não esqueçam de baixar primeiro o SQL Server 2005 Express Edition, e em seguida, o SQL Server Management Studio. Cabe a vocês decidir, qual SGBD  será utilizado no projeto. Creio que o Access já esteja meio ultrapassado.</p>
<p>A Microsoft disponibiliza no site dela também os links para download da versão Express do Visual Studio 2008. Seria interessante já baixar, para o desenvolvimento do TFA. Para a instalação do Visual Studio, recomenda-se utilizar a seguinte ordem de instalação:</p>
<p>- Sistema  Operacional</p>
<p>- IIS</p>
<p>- .NET Framework</p>
<p>- Visual Studio</p>
<p>Seguem abaixo, os links para download:</p>
<p>Sql Server 2005 Express Edition and Tools:  <a href="http://msdn2.microsoft.com/pt-br/express/bb410792(en-us).aspx" target="_blank">http://msdn2.microsoft.com/pt-br/express/bb410792(en-us).aspx</a></p>
<p>Microsoft Visual Studio Express Edition:</p>
<p><a href="http://www.microsoft.com/brasil/msdn/visualstudio/2008/express.aspx" target="_blank"> http://www.microsoft.com/brasil/msdn/visualstudio/2008/express.aspx</a></p>
<p>Espero ter ajudado.</p>
<p>Abraços a todos.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/21/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/21/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=21&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/03/18/sql-server-2005-express-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>
	</item>
		<item>
		<title>Técnicas de Animação Digital</title>
		<link>http://joaoortiz.wordpress.com/2008/03/09/tecnicas-de-animacao-digital/</link>
		<comments>http://joaoortiz.wordpress.com/2008/03/09/tecnicas-de-animacao-digital/#comments</comments>
		<pubDate>Sun, 09 Mar 2008 04:47:17 +0000</pubDate>
		<dc:creator>joaoortiz</dc:creator>
				<category><![CDATA[Curso Técnico]]></category>

		<guid isPermaLink="false">http://joaoortiz.wordpress.com/?p=20</guid>
		<description><![CDATA[Olá alunos do 1º Ano.
Da mesma forma que postei detalhadamente nossa aula de Desenvolvimento de Aplicativos, estarei também postando um material de apoio à aula de Animação Digital.
Em nossa aula, aprendemos a técnica de vetorização manual de imagens, utilizando o Macromedia Flash. Estarei disponibilizando o software na versão Trial para que possam se familiarizar com [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=20&subd=joaoortiz&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Olá alunos do 1º Ano.</p>
<p>Da mesma forma que postei detalhadamente nossa aula de Desenvolvimento de Aplicativos, estarei também postando um material de apoio à aula de Animação Digital.</p>
<p>Em nossa aula, aprendemos a técnica de vetorização manual de imagens, utilizando o <strong>Macromedia Flash</strong>. Estarei disponibilizando o software na versão Trial para que possam se familiarizar com a ferramenta. Segue abaixo o link para download.</p>
<p><a target="_blank" href="http://www.4shared.com/file/7918862/87d3c62c/Flash_MX_BR.html?s=1">http://www.4shared.com/file/7918862/87d3c62c/Flash_MX_BR.html?s=1</a></p>
<p>O link acima redireciona para um site de compartilhamento de arquivos. Esse sites, têm se tornado muito úteis, pois é uma das maneiras máis práticas de compartilhar arquivos. Basta acessar <a target="_blank" href="http://www.4shared.com/">http://www.4shared.com</a> e fazer upload do seu arquivo. Ao término do upload, o sistema gera uma URL, que será o local para download do seu arquivo enviado. Uma maneira certamente muito prática.</p>
<p><strong><u>Instruções para download:</u></strong></p>
<p>Ao acessar o link, aguarde aproximadamente 30 segundos. Uma tabela será exibida com os dados do arquivo, e logo abaixo, o link para download (&#8220;Download File&#8221;). Basta clicar e salvar o arquivo no local desejado.<br />
O arquivo vem compactado, portanto, utilize um arquivo de compactação como o Winzip, Winrar, entre outros.</p>
<p>Espero ajudá-los e, em caso de qualquer dúvida, não hesitem em questionar.</p>
<p>Abraços a todos.</p>
<img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/joaoortiz.wordpress.com/20/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/joaoortiz.wordpress.com/20/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/joaoortiz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/joaoortiz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/joaoortiz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/joaoortiz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/joaoortiz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/joaoortiz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/joaoortiz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/joaoortiz.wordpress.com/20/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/joaoortiz.wordpress.com/20/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/joaoortiz.wordpress.com/20/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=joaoortiz.wordpress.com&blog=1075258&post=20&subd=joaoortiz&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://joaoortiz.wordpress.com/2008/03/09/tecnicas-de-animacao-digital/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/f6137d3cd920ee24d8f68ae3ee49d765?s=96&#38;d=http%3A%2F%2F1.gravatar.com%2Favatar%2Fad516503a11cd5ca435acc9bb6523536%3Fs%3D96" medium="image">
			<media:title type="html">joaoortiz</media:title>
		</media:content>
	</item>
	</channel>
</rss>