﻿<?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:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
><channel><title>Guanabara.info &#187; VB</title> <atom:link href="http://www.guanabara.info/category/colunas/vb-colunas/feed/" rel="self" type="application/rss+xml" /><link>http://www.guanabara.info</link> <description>Podcast, vídeo aulas, PHP, HTML, SEO, Humor e Notícias todo dia</description> <lastBuildDate>Fri, 10 Feb 2012 15:41:25 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.2</generator> <language>pt-br</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /><itunes:summary>Podcast, vídeo aulas, PHP, HTML, SEO, Humor e Notícias todo dia</itunes:summary> <itunes:author>Gustavo Guanabara</itunes:author> <itunes:explicit>no</itunes:explicit> <itunes:image href="http://www.guanabara.info/podcast/images/guanacast-logo.jpg" /> <itunes:owner> <itunes:name>Gustavo Guanabara</itunes:name> <itunes:email>contato@guanabara.info</itunes:email> </itunes:owner> <managingEditor>contato@guanabara.info (Gustavo Guanabara)</managingEditor> <copyright>2006-2007</copyright> <itunes:subtitle>GuanaCast o Melhor Podcast de Tecnologia</itunes:subtitle> <itunes:keywords>podcast, tecnologia, seo, hardware, como funciona</itunes:keywords> <image><title>Guanabara.info &#187; VB</title> <url>http://www.guanabara.info/podcast/images/PodTunesPeq.jpg</url><link>http://www.guanabara.info/category/colunas/vb-colunas/</link> </image> <itunes:category text="Technology"> <itunes:category text="Podcasting" /> <itunes:category text="Software How-To" /> </itunes:category> <item><title>[VB] Parte VIII &#8211; Procedimentos/ Funções</title><link>http://www.guanabara.info/2008/11/vb-parte-viii-procedimentos/</link> <comments>http://www.guanabara.info/2008/11/vb-parte-viii-procedimentos/#comments</comments> <pubDate>Thu, 06 Nov 2008 15:14:16 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Algoritmos]]></category> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Aulas]]></category> <category><![CDATA[Desenvolvimento]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[.NET]]></category> <category><![CDATA[Colunas]]></category> <category><![CDATA[Programação]]></category> <category><![CDATA[Visual Basic]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4699</guid> <description><![CDATA[Olá amantes da programação. Eu sei que dei uma longa sumida, mas aqui estou eu novamente e vamos continuar com as postagens a respeito do VB.NET .Já estamos na oitava postagem do assunto, aqui estão os links das anteriores:
[Parte I] &#8211; Olá mundo -&#62; características da linguagem, declaração de variáveis, Consoles Applications e o &#8220;Olá Mundo&#8221;.
[Parte II] &#8211; Variáveis -&#62; tipos de variáveis, operadores, strings e valores lógicos.
[Parte III] &#8211; Estruturas Condicionais -&#62; operadores lógicos, estruturas &#8220;If&#8221; e &#8220;Select Case&#8221;.
[Parte IV] &#8211; Windows Forms Applications -&#62; ambiente de desenvolvimento gráfico, controles, propriedades, métodos, eventos e a instrução Handles.
[Parte V] &#8211; Estruturas de Repetição -&#62; instrução Option Explicit, estruturas de repetição &#8220;Do&#8221;, &#8220;While&#8221; e &#8220;For&#8221;. Usando a função Trim().
[Parte VI] &#8211; Vetores -&#62; declaração, funções e o laço &#8220;For Each&#8221;.
[Parte VII] &#8211; Strings e conversões de tipos -&#62; instrução Option Strict, funções de strings e conversões entre tipos diferentes de variáveis.
Começando com procedimentos e funções. Consoles Applications e vamos em frente.Procedimentos
Um procedimento (ou sub-rotina) é um bloco de comandos refenciado por um nome. Então, toda vez que eu quiser executar os comandos que estão dentro de um procedimento, é só chamá-lo pelo nome, como se fosse um comando da linguagem. Esse tipo de código não retorna valores.
A definição simples de um procedimento é:
Sub &#60;nome&#62; ([lista de parâmetros])
&#60;bloco de comandos&#62;
End Sub
&#60;nome&#62; segue os mesmos requisitos para os nomes de variáveis, e [lista de parâmetros] é opcional, algo que veremos mais adiante.
O Sub Main() criado por padrão pelas Console Applications é um exemplo de procedimento.
Quando ocorre a chamada de um procedimento, o Visual Basic entrará na execução do procedimento, e quando terminar continuará na linha seguinte, onde aconteceu a chamada. Para forçar a saída do procedimento, o comando usado é Exit Sub.
Parâmetros
Parâmetros são valores de variáveis que são informados à sub-rotina para que [...]]]></description> <content:encoded><![CDATA[<p
align="justify"><span
style="color: #ff0000;">Olá amantes da programação</span>. Eu sei que dei uma <span
style="text-decoration: line-through;">longa</span> sumida, mas aqui estou eu novamente e vamos continuar com as postagens a respeito do VB.NET .</p><p
align="center"><img
class="alignnone" title="VB" src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg" alt="" width="490" height="127" /></p><p
align="justify"><span
id="more-4699"></span></p><p><img
src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg'&gt;&lt;/p&gt; &lt;p align=" alt="" />Já estamos na oitava postagem do assunto, aqui estão os links das anteriores:</p><p
align="justify"><a
href="http://www.guanabara.info/?p=3276">[Parte I] &#8211; Olá mundo</a> -&gt; <em>características da linguagem, declaração de variáveis, Consoles Applications e o &#8220;Olá Mundo&#8221;.</em><br
/> <a
href="http://www.guanabara.info/?p=3953">[Parte II] &#8211; Variáveis</a> -&gt; <em>tipos de variáveis, operadores, strings e valores lógicos.</em><br
/> <a
href="http://www.guanabara.info/?p=4024">[Parte III] &#8211; Estruturas Condicionais</a> -&gt; <em>operadores lógicos, estruturas &#8220;If&#8221; e &#8220;Select Case&#8221;.</em><br
/> <a
href="http://www.guanabara.info/?p=4224">[Parte IV] &#8211; Windows Forms Applications</a> -&gt; <em>ambiente de desenvolvimento gráfico, controles, propriedades, métodos, eventos e a instrução Handles.</em><br
/> <a
href="http://www.guanabara.info/?p=4326">[Parte V] &#8211; Estruturas de Repetição</a> -&gt; <em>instrução Option Explicit, estruturas de repetição &#8220;Do&#8221;, &#8220;While&#8221; e &#8220;For&#8221;. Usando a função Trim().</em><br
/> <a
href="http://www.guanabara.info/?p=4459">[Parte VI] &#8211; Vetores </a>-&gt; <em>declaração, funções e o laço &#8220;For Each&#8221;.</em><br
/> <a
href="http://www.guanabara.info/?p=4631">[Parte VII] &#8211; Strings e conversões de tipos</a> -&gt;<em> instrução Option Strict, funções de strings e conversões entre tipos diferentes de variáveis.</em></p><p
align="justify">Começando com procedimentos e funções. Consoles Applications e vamos em frente.</p><p></p><h2>Procedimentos</h2><p
align="justify">Um <strong>procedimento</strong> (ou sub-rotina) <em>é um bloco de comandos refenciado por um nome</em>. Então, toda vez que eu quiser executar os comandos que estão dentro de um procedimento, <em>é só chamá-lo pelo nome, como se fosse um comando da linguagem</em>. Esse tipo de código não retorna valores.</p><p>A definição simples de um procedimento é:</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Sub</span> <em>&lt;nome&gt;</em> (<em>[lista de parâmetros]</em>)</p><p
style="padding-left: 60px;"><em>&lt;bloco de comandos&gt;</em></p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">End Sub</span></p><p><em>&lt;nome&gt; </em>segue os mesmos requisitos para os nomes de variáveis, e <em>[lista de parâmetros]</em> é opcional, algo que veremos mais adiante.</p><p
align="justify">O <span
style="color: #0000ff;"><em>Sub Main()</em></span> criado por padrão pelas Console Applications é um exemplo de procedimento.</p><p
align="justify">Quando ocorre a chamada de um procedimento, o Visual Basic entrará na execução do procedimento, e quando terminar continuará na linha seguinte, onde aconteceu a chamada. Para forçar a saída do procedimento, o comando usado é <span
style="color: #0000ff;">Exit Sub</span>.</p><h2>Parâmetros</h2><p
align="justify"><strong>Parâmetros</strong> são valores de variáveis que são informados à sub-rotina para que ela possa trabalhar com eles. Existe a <strong>passagem por valor</strong>, que é a padrão do Visual Basic (<span
style="color: #0000ff;">ByVal</span>), onde a Sub vai receber uma cópia do valor original. Então, se mudamos dentro da Sub o valor do parâmetro, a variável original não se altera.</p><p
align="justify">A<strong> passagem por referência</strong> (<span
style="color: #0000ff;">ByRef</span>) faz com que seja passado um ponteiro para a variável original, ou seja, se o valor do parâmetro muda dentro da Sub, a variável original também muda.</p><p
align="justify">Escopo de variáveis é a abrangência que uma variável tem na aplicação. As <em>Subs podem ter variáveis declaradas dentro delas</em>. Mas v<em>ariáveis declaradas dentro das Subs só valem lá dentro</em>, depois que a execução sai delas, as variáveis não serão mais consideradas. Veja o exemplo abaixo:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/11/print1.jpg"><img
class="alignnone size-medium wp-image-5131" title="Subs 1" src="http://www.guanabara.info/wp-content/uploads/2008/11/print1.jpg" alt="" /></a></p><p
align="justify">Criei duas <em>Subs</em> que recebem um parâmetro. Na chamada do procedimento, o valor da variável &#8220;numero&#8221; é passado para &#8220;Param1&#8243;.</p><p
align="justify">Dentro de cada Sub existe uma variável &#8220;fator&#8221;, que só existe lá dentro (a variável &#8220;fator&#8221; dentro de PassValor não é a mesma dentro de PassRef, e não podem ser &#8220;enxergadas&#8221; fora dos procedimentos).</p><p
align="justify">Acompanhe a ordem das saídas na tela e veja que depois que a variável &#8220;numero&#8221; é passada por referência, o valor dela  muda.</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/11/print2.jpg"><img
class="alignnone size-medium wp-image-5132" title="Subs 2" src="http://www.guanabara.info/wp-content/uploads/2008/11/print2.jpg" alt="" /></a></p><p
align="justify"><h2>Funções</h2><p
align="justify">As <strong>funções</strong> também são blocos de comandos, mas diferente dos procedimentos sempre vão retornar algum valor. Imagine uma função que faz a soma de dois números: as parcelas seriam os parâmetros, e o retorno seria o total.</p><p>A declaração fica:</p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">Function</span> <em>&lt;nome&gt; ([lista de parâmetros])</em> <span
style="color: #0000ff;">As</span> <em>&lt;tipo&gt;</em><br
/> <em><br
/> &lt;bloco de comandos&gt;<br
/> </em><br
/> <span
style="color: #0000ff;">End Function</span></p><p
align="justify">As formas de passagem de valores são as mesmas. Para o retorno da função, usamos o comando <span
style="color: #0000ff;">Return,</span> seguido do valor retornado. Quando o <span
style="color: #0000ff;">Return</span> é executado, a função termina. Dessa forma, poderíamos por exemplo associar uma variável ao resultado da função. Veja abaixo:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/11/print3.jpg"><img
class="alignnone size-medium wp-image-5133" title="Function 1" src="http://www.guanabara.info/wp-content/uploads/2008/11/print3.jpg" alt="" /></a></p><p
align="justify">A função acima tem dois parâmetros, sendo que Param2 é opcional, indicado pela palavra-chave <span
style="color: #0000ff;">Optional.</span> Caso na chamada da função esse parâmetro não seja informado, o valor atribuído será o <em>default,</em> indicado na declaração do parâmetro na função (no caso, 3).</p><p
align="justify">No nosso caso, de acordo com o valor de Param1 a função vai retornar a soma ou o produto com Param2. O Visual Studio sempre vai alertar caso o seu código tenha deixado alguma possibilidade de não haver retorno por causa das condicionais.</p><p>O mais simples foi isso. Até a próxima.<br
/> <em>.NET do it better</em></p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/11/vb-parte-viii-procedimentos/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>Vídeo aula 5- Visual Basic &#8211; Criando uma calculadora</title><link>http://www.guanabara.info/2008/10/video-aula-5-visual-basic-criando-uma-calculadora/</link> <comments>http://www.guanabara.info/2008/10/video-aula-5-visual-basic-criando-uma-calculadora/#comments</comments> <pubDate>Fri, 24 Oct 2008 11:00:43 +0000</pubDate> <dc:creator>Gustavo Guanabara</dc:creator> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Aulas]]></category> <category><![CDATA[Colunas]]></category> <category><![CDATA[Geral]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[Como criar uma calculadora no visual basic]]></category> <category><![CDATA[Curso de visual basic]]></category> <category><![CDATA[Vídeo aula de visual basic]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4885</guid> <description><![CDATA[Fala Galera do Guanaba.info. Aqui é Philipe Cardoso para mais uma super vídeo aula de Visual Basic para o Mxmasters e também Guanabara.info, demorou mas estamos aqui com mais uma aula.Calcular é uma coisa que fazemos todos os dias.Neste capítulo irei mostrar como criar uma calculadora simples, trabalhar com variáveis globais e estruturas de condição.
Além da calculadora, iremos aprender a trabalhar com bordas em nossos formulários, deixando-os mais estilizados.
Bom aprendizado.]]></description> <content:encoded><![CDATA[<p
style="text-align: justify;"><img
class="alignnone size-full wp-image-580 alignleft" style="float: left;" title="vb" src="http://www.mxmasters.com.br/wp-content/uploads/2008/09/vb.jpg" alt="" />Fala Galera do <strong>Guanaba.info</strong>. Aqui é <strong>Philipe Cardoso</strong> para mais uma super vídeo aula de Visual Basic para o <strong>Mxmasters</strong> e também <strong>Guanabara.info,</strong> demorou mas estamos aqui com mais uma aula.</p><p
style="text-align: justify;"><p
style="text-align: justify;">Calcular é uma coisa que fazemos todos os dias.</p><p
style="text-align: justify;"> Neste capítulo irei mostrar como criar uma calculadora simples, trabalhar com variáveis globais e estruturas de condição.</p><p
style="text-align: justify;">Além da calculadora, iremos aprender a trabalhar com bordas em nossos formulários, deixando-os mais estilizados.</p><p
style="text-align: justify;">Bom aprendizado.</p><p><span
id="more-4885"></span></p><p
style="text-align: center;"><object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="511" height="383" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param
name="src" value="http://www.videolog.tv/ajax/codigoPlayer.php?id_video=373725&amp;relacionados=N&amp;default=N&amp;cor_fundo=000000&amp;swf=1&amp;width=511&amp;height=383" /><embed
type="application/x-shockwave-flash" width="511" height="383" src="http://www.videolog.tv/ajax/codigoPlayer.php?id_video=373725&amp;relacionados=N&amp;default=N&amp;cor_fundo=000000&amp;swf=1&amp;width=511&amp;height=383"></embed></object></p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/10/video-aula-5-visual-basic-criando-uma-calculadora/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>Vídeo aula 4- Visual Basic &#8211; Usando MDI Form e criando menus</title><link>http://www.guanabara.info/2008/09/video-aula-4-visual-basic-usando-mdi-form-e-criando-menus/</link> <comments>http://www.guanabara.info/2008/09/video-aula-4-visual-basic-usando-mdi-form-e-criando-menus/#comments</comments> <pubDate>Sun, 21 Sep 2008 11:00:00 +0000</pubDate> <dc:creator>Gustavo Guanabara</dc:creator> <category><![CDATA[Aulas]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[curso visual basic]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4680</guid> <description><![CDATA[Olá rapaziada do Guanabara.info. Aqui é o Philipe Cardoso de volta com mais uma vídeo aula de VB para vocês. Nesta 4ª aula iremos aprender como criar e utilizar um formulário MDI e criar menus em seus projetos.
Importantíssimo assistirem&#8230;
Espero que todos gostem.
Bom aprendizado!]]></description> <content:encoded><![CDATA[<p><img
class="alignnone size-full wp-image-580 alignleft" style="float: left;" title="vb" src="http://www.mxmasters.com.br/wp-content/uploads/2008/09/vb.jpg" alt="" />Olá rapaziada do Guanabara.info. Aqui é o Philipe Cardoso de volta com mais uma vídeo aula de VB para vocês. Nesta 4ª aula iremos aprender como criar e utilizar um formulário MDI e criar menus em seus projetos.<br
/> Importantíssimo assistirem&#8230;</p><p>Espero que todos gostem.</p><p>Bom aprendizado!</p><p><span
id="more-4680"></span></p><p
style="text-align: center;"><object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="511" height="383" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param
name="src" value="http://www.videolog.tv/ajax/codigoPlayer.php?id_video=367554&amp;relacionados=N&amp;default=N&amp;cor_fundo=000000&amp;swf=1&amp;width=511&amp;height=383" /><embed
type="application/x-shockwave-flash" width="511" height="383" src="http://www.videolog.tv/ajax/codigoPlayer.php?id_video=367554&amp;relacionados=N&amp;default=N&amp;cor_fundo=000000&amp;swf=1&amp;width=511&amp;height=383"></embed></object></p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/09/video-aula-4-visual-basic-usando-mdi-form-e-criando-menus/feed/</wfw:commentRss> <slash:comments>7</slash:comments> </item> <item><title>[VB] Parte VII &#8211; Strings e conversões de tipos</title><link>http://www.guanabara.info/2008/09/vb-parte-vi-strings-e-conversoes-de-tipos/</link> <comments>http://www.guanabara.info/2008/09/vb-parte-vi-strings-e-conversoes-de-tipos/#comments</comments> <pubDate>Fri, 19 Sep 2008 14:08:27 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Aulas]]></category> <category><![CDATA[Colunas]]></category> <category><![CDATA[Geral]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[.NET]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4631</guid> <description><![CDATA[Fala rapaziada (como diz o pessoal do MXMasters). Mais um post sobre Visual Basic.NET.Hoje, vamos ver as funções existentes para manipulação de valores do tipo string, além de funções de conversão entre dados. Mas antes, vamos ver o comportament de algumas declarações importantes.
Criem suas Consoles Applications e mão na massa.Option Strict
A gente já conhece o Option Explicit, que impede que você use uma variável sem declará-la. Para habilitá-la, o comando Option Explicit On pode ser escrito no início do código, antes de qualquer outra declaração. O comando Option Explicit Off desativa a declaração obrigatória, sendo que o default é obrigar a declaração.
Agora, veja o código abaixo, que à primeira vista tem um problema:
Dim ValorReal As Double = 4.56
Dim ValorInteiro As Integer
ValorInteiro = ValorReal
Se você não identificou o &#8220;problema&#8221; do código acima, clique aqui e leia o post sobre variáveis.
A princípio, a atribuição que foi feita é inválida, mas na verdade ela não é. O que acontece é que o VB automaticamente faz a conversão do tipo Double para o tipo Integer, e o que vai ser armazenado na variável ValorInteiro é o arredondamento de ValorReal.
O VB arredonda para mais quando o valor da primeira casa decimal foi maior ou igual a cinco, e arredonda para menos se for menor ou igual a quatro.
Veja que a parte fracionária é perdida. Mas você pode desabilitar essa conversão.
Isso é feito com a declaração Option Strict. Quando declarada como Option Strict On, ela impede que conversões implícitas que possam resultar em perda de dados sejam feitas, e declarada como Option Strict Off, deixa que você tente essas conversões (se der certo, que bom, senão&#8230;)
Option Strict On
Dim ValorReal As Double = 4.56
Dim ValorInteiro As Integer
ValorInteiro = ValorReal
A atribuição passa a ser inválida, porque você vai perder a parte fracionária da variável. Isso também impede atribuições [...]]]></description> <content:encoded><![CDATA[<p
align="justify">Fala rapaziada (como diz o pessoal do MXMasters). Mais um post sobre Visual Basic.NET.</p><p
align="center"><img
src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg" alt="" width="490" height="127" /></p><p
align="justify">Hoje, vamos ver as funções existentes para manipulação de valores do tipo <strong>string</strong>, além de funções de conversão entre dados. Mas antes, vamos ver o comportament de algumas declarações importantes.</p><p
align="justify">Criem suas Consoles Applications e mão na massa.</p><p><span
id="more-4631"></span></p><h3>Option Strict</h3><p
align="justify">A gente já conhece o <span
style="color: #0000ff;">Option Explicit</span>, que impede que você use uma variável sem declará-la. Para habilitá-la, o comando<span
style="color: #0000ff;"> Option Explicit On</span> pode ser escrito no início do código, antes de qualquer outra declaração. O comando<span
style="color: #0000ff;"> Option Explicit Off </span>desativa a declaração obrigatória, sendo que o <em>default</em> é obrigar a declaração.</p><p
align="justify">Agora, veja o código abaixo, que à primeira vista tem um problema:</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> ValorReal <span
style="color: #0000ff;">As Double</span> = 4.56</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> ValorInteiro <span
style="color: #0000ff;">As Integer</span></p><p
style="padding-left: 30px;">ValorInteiro = ValorReal</p><p
align="justify">Se você não identificou o &#8220;problema&#8221; do código acima, clique <a
href="http://www.guanabara.info/?p=3953">aqui</a> e leia o post sobre variáveis.</p><p
align="justify">A princípio, a atribuição que foi feita é inválida, mas na verdade ela não é. O que acontece é que o VB automaticamente faz a conversão do tipo <span
style="color: #0000ff;">Double</span> para o tipo <span
style="color: #0000ff;">Integer</span>, e o que vai ser armazenado na variável <em>ValorInteiro</em> é o arredondamento de <em>ValorReal</em>.</p><p
align="justify">O VB arredonda para mais quando o valor da primeira casa decimal foi maior ou igual a cinco, e arredonda para menos se for menor ou igual a quatro.</p><p
align="justify">Veja que a parte fracionária é perdida. Mas você pode desabilitar essa conversão.</p><p
align="justify">Isso é feito com a declaração <span
style="color: #0000ff;">Option Strict</span>. Quando declarada como <span
style="color: #0000ff;">Option Strict On</span>, ela impede que conversões implícitas que possam resultar em perda de dados sejam feitas, e declarada como <span
style="color: #0000ff;">Option Strict Off</span>, deixa que você tente essas conversões (se der certo, que bom, senão&#8230;)</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Option Strict On</span></p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> ValorReal <span
style="color: #0000ff;">As Double</span> = 4.56</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> ValorInteiro <span
style="color: #0000ff;">As Integer</span></p><p
style="padding-left: 30px;"><span
style="color: #ff0000;"><span
style="text-decoration: underline;">ValorInteiro = ValorReal</span></span></p><p
align="justify">A atribuição passa a ser inválida, porque você vai perder a parte fracionária da variável. Isso também impede atribuições de String para valores numéricos, pois também é um processo que implicaria em perda de informações. Simples, não é ?</p><p
align="justify">O Visual Studio vai te avisar na hora que a atribuição acima causaria um erro. Você escolhe.</p><p
align="justify">Ah, o <em>default</em> é a permissão das atribuições, ou seja, <span
style="color: #0000ff;">Option Strict</span> por padrão vem como <span
style="color: #0000ff;">Off</span>.</p><h3>Manipulando Strings</h3><p>Existem muitas funções relacionadas à classe System.String:</p><p>- <span
style="color: #0000ff;">System.String.Concat(args As Object) As String</span><br
/> <em><span
style="color: #808080;">Dim Nome = String.Concat(&#8220;Guanabara&#8221;,&#8221;.Info&#8221;) &#8216;Retorna Guanabara.Info<br
/> </span></em></p><p>Concatena (junta) os valores passados como parâmetro.</p><p>- <span
style="color: #0000ff;">Contains(value As String) As Boolean</span><br
/> <span
style="color: #808080;"><em>If (VariavelString.Contains(&#8220;Guanabara&#8221;) Then Console.WriteLine(&#8220;Contém Guanabara&#8221;)<br
/> </em></span></p><p>Verifica se a variável possui a string <em>value</em> em seu interior. Retorna True ou False.</p><p>- <span
style="color: #0000ff;">EndsWith(value As String) As Boolean</span><br
/> <span
style="color: #808080;"><em>If (VariavelString.EndsWith(&#8220;#&#8221;) Then Console.WriteLine(&#8220;Pode ser que seja C#&#8221;)</em><em><br
/> </em></span></p><p>Verifica se a varíavel possui a string <em>value</em> em seu interior, sendo que <em>value</em> deve ser o fim do conteúdo da variável.</p><p>- <span
style="color: #0000ff;">StartsWith(value As String) As Boolean</span><br
/> <span
style="color: #808080;"><em>If (VariavelString.StartsWith(&#8220;Visual&#8221;) Then Console.WriteLine(&#8220;Pode ser que seja Visual Basic&#8221;)</em><em><br
/> </em></span></p><p>Verifica se a varíavel possui a string <em>value</em> em seu interior, sendo que <em>value</em> deve ser o início do conteúdo da variável.</p><p>- <span
style="color: #0000ff;">Replace(oldChar As Char, NewChar) As String</span><br
/> <span
style="color: #808080;"><em>Console.WriteLine(Variavel.Replace(&#8220;,&#8221;,&#8221;.&#8221;))</em><em><br
/> </em></span></p><p>Substitui todas as ocorrências de <em>oldChar</em> por <em>NewChar</em> na string.</p><p>- <span
style="color: #0000ff;">Remove(startIndex As Integer, count As Integer) As String</span><br
/> <span
style="color: #808080;"><em>Dim NovaVariavel As String = VariavelString.Insert(4,2)</em></span></p><p>Remove a partir da posição <em>startIndex</em> um número <em>count</em> de caracteres da string.</p><p>- <span
style="color: #0000ff;">Insert(index As Integer, value As String) As String</span><br
/> <span
style="color: #808080;"><em>Dim NovaVariavel As String = VariavelString.Insert(4,&#8221;VB&#8221;)</em><em><br
/> </em></span></p><p>Insere no índice especificado da varíavel a string <em>value</em> passada como parâmetro.</p><p>- <span
style="color: #0000ff;">System.String.</span><span
style="color: #0000ff;">Join(separator As String, value() As String) As String</span><br
/> <span
style="color: #808080;"><em>Dim NovaVariavel = Join(&#8220;\&#8221;, ArrayValores)</em><em><br
/> </em></span></p><p>Concatena em uma string os valores de um array de strings <em>value</em>, separando os elementos dos índices com o valor passado em <em>separator</em>.</p><p>- <span
style="color: #0000ff;">ToLower/ ToUpper() As String</span><br
/> <span
style="color: #808080;"><em>Dim NovaVariavel = VariavelString.ToLower</em><em><br
/> </em></span></p><p>Retorna uma string com todos os caracteres da variável transformados em minúsculos (Lower Case) ou todos transformados em maiúsculos (Upper Case).</p><p><span
style="color: #0000ff;">- Trim() As String</span><br
/> <span
style="color: #808080;"><em>Dim NovaVariavel = VariavelString.Trim</em><em><br
/> </em></span></p><p
align="justify">Retorna uma string onde os espaços em branco existentes no início e no fim do conteúdo da variável são removidos. Útil para desconsiderar strings cujo conteúdo seja somente composto por espaços.</p><p>- <span
style="color: #0000ff;">SubString(startIndex As Integer, length As Integer)</span><br
/> <span
style="color: #808080;"><em>Dim NovaVariavel = VariavelString.SuBString(2, 3)</em><em><br
/> </em></span></p><p>Retorna uma string cujo valor será o conteúdo da varíavel, a partir da posição <em>startIndex</em>, contando <em>length</em> caracteres.</p><h3>Conversões de Tipos</h3><p
align="justify">Algumas vezes, vamos necessitar realizar conversões de um tipo de varíavel para outro tipo, explicitamente. Antigamente, no VB existiam funções como CStr para converter para strings, CInt para converter para Integer, e muitos outros. No Visual Basic.NET, pode ser feito usando métodos das próprias classes.</p><p
align="justify">A conversão para o tipo String pode ser feita com o método ToString:</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> MeuNumero <span
style="color: #0000ff;">As Double</span> = 5.67</p><p
style="padding-left: 30px;">Console.WriteLine( MeuNumero.<span
style="color: #0000ff;">ToString()</span> )</p><p>Quando a conversão desejada é feita para um tipo numérico, podemos usar os métodos <span
style="color: #0000ff;">Parse</span> e <span
style="color: #0000ff;">TryParse</span> das classes. O método <span
style="color: #0000ff;">Parse</span> faz a conversão, e em caso de erro uma <em>exception</em> será disparada (em outras palavras, vai causar um erro). Se você usar a função <span
style="color: #0000ff;">TryParse</span>, será feita uma tentativa de conversão, e em caso de erro o retorno será <span
style="color: #0000ff;">False</span>.</p><p>- <span
style="color: #0000ff;">&lt;classe&gt;.Parse (s As String) As &lt;classe&gt;</span><br
/> <em><span
style="color: #808080;">Dim X As Byte = Byte.Parse(&#8220;3&#8243;)</span></em><br
/> <em><span
style="color: #808080;">Dim Y As Long = Long.Parse(&#8220;2424&#8243;)</span></em></p><p>ou</p><p>- <span
style="color: #0000ff;">&lt;classe&gt;.TryParse (s As String, ByRef result As &lt;classe&gt;) As Boolean</span><br
/> <em><span
style="color: #808080;">Byte.TryParse(&#8220;3&#8243;, X)</span></em><br
/> <em><span
style="color: #808080;">Long.TryParse(&#8220;2424&#8243;, Y)</span></em></p><p>Veja um exemplo de como seria essa conversão:</p><p><strong>- Usando o Parse</strong></p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> NumeroReal <span
style="color: #0000ff;">As Double</span></p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> NumeroInteiro<span
style="color: #0000ff;"> As Integer</span> = 7</p><p
style="padding-left: 30px;">NumeroReal = <span
style="color: #0000ff;">Double.Parse</span>(NumeroInteiro.<span
style="color: #0000ff;">ToString()</span>)</p><p><strong>- Usando o TryParse</strong></p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> NumeroReal <span
style="color: #0000ff;">As Double</span></p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> NumeroInteiro <span
style="color: #0000ff;">As Integer</span> = 7</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">If Double</span>.<span
style="color: #0000ff;">TryParse</span>(NumeroInteiro.ToString(), NumeroReal) = <span
style="color: #0000ff;">False</span> Then</p><p
style="padding-left: 60px;">Console.WriteLine(<span
style="color: #800000;">&#8220;A conversão resultou em erro&#8221;</span>)</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">End If</span></p><p>Seguindo esse modelo, é possível fazer conversões usando os demais tipos, como SByte, Decimal, Short, e etc.</p><p>Por hoje foi <span
style="text-decoration: line-through;">só</span> isso. No próximo post, o assunto vai ser sobre uma classe que eu já mencionei várias vezes: <strong>Exception</strong>. Até lá.</p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/09/vb-parte-vi-strings-e-conversoes-de-tipos/feed/</wfw:commentRss> <slash:comments>12</slash:comments> </item> <item><title>Visual Basic &#8211; Aula 3 &#8211; Passagem de valores</title><link>http://www.guanabara.info/2008/09/visual-basic-aula-3-passagem-de-valores/</link> <comments>http://www.guanabara.info/2008/09/visual-basic-aula-3-passagem-de-valores/#comments</comments> <pubDate>Sun, 14 Sep 2008 12:00:28 +0000</pubDate> <dc:creator>Gustavo Guanabara</dc:creator> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Aulas]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[Passagem de valores]]></category> <category><![CDATA[Visual Basic]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4577</guid> <description><![CDATA[E ai rapaziada. Aqui é Philipe Cardoso trazendo uma novidade junto com o pessoal do Mxmasters e são vídeo aulas de Visual Basic. Nas aulas, irei mostrar basicamente como realizar procedimentos simples para quem não sabe utilizar o programa VB6 do pacote visual studio da Microsoft, está é a minha primeira aula pelo Ginfo e também Mxmasters e antes de mais nada informo que é fundamental vocês assistirem as duas primeiras vídeo aulas de VB.
Aula 2 &#8211; Alterando cores / Aula 1 &#8211; Introdução ao Visual basic
Nesta aula veremos como passar os valores de uma caixa de texto para outra em um formulários diferentes.
Espero que todos gostem!
Bom aprendizado!]]></description> <content:encoded><![CDATA[<p><img
class="alignnone size-full wp-image-580 alignleft" style="float: left; " title="vb" src="http://www.mxmasters.com.br/wp-content/uploads/2008/09/vb.jpg" alt="" />E ai rapaziada. Aqui é Philipe Cardoso trazendo uma novidade junto com o pessoal do Mxmasters e são vídeo aulas de Visual Basic. Nas aulas, irei mostrar basicamente como realizar procedimentos simples para quem não sabe utilizar o programa VB6 do pacote visual studio da Microsoft, está é a minha primeira aula pelo Ginfo e também Mxmasters e antes de mais nada informo que é fundamental vocês assistirem as duas primeiras vídeo aulas de VB.</p><p><a
href="http://www.zoomdigital.org/2008/08/25/curso-visual-basic-aula-2-alterando-cores/" target="_blank">Aula 2 &#8211; Alterando cores</a> / <a
href="http://www.zoomdigital.org/2008/08/18/curso-visual-basic-aula-1-introducao-ao-vb/" target="_blank">Aula 1 &#8211; Introdução ao Visual basic </a></p><p>Nesta aula veremos como passar os valores de uma caixa de texto para outra em um formulários diferentes.</p><p>Espero que todos gostem!</p><p>Bom aprendizado!</p><p><span
id="more-4577"></span></p><p
style="text-align: center;"><object
classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="511" height="383" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param
name="src" value="http://www.videolog.tv/ajax/codigoPlayer.php?id_video=366378&amp;relacionados=N&amp;default=N&amp;cor_fundo=000000&amp;swf=1&amp;width=511&amp;height=383" /><embed
type="application/x-shockwave-flash" width="511" height="383" src="http://www.videolog.tv/ajax/codigoPlayer.php?id_video=366378&amp;relacionados=N&amp;default=N&amp;cor_fundo=000000&amp;swf=1&amp;width=511&amp;height=383"></embed></object></p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/09/visual-basic-aula-3-passagem-de-valores/feed/</wfw:commentRss> <slash:comments>12</slash:comments> </item> <item><title>[VB] Parte VI &#8211; Vetores</title><link>http://www.guanabara.info/2008/09/vb-parte-vi-vetores/</link> <comments>http://www.guanabara.info/2008/09/vb-parte-vi-vetores/#comments</comments> <pubDate>Sat, 13 Sep 2008 13:00:57 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Aulas]]></category> <category><![CDATA[Colunas]]></category> <category><![CDATA[VB]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4459</guid> <description><![CDATA[
Olá pessoal, vamos dar continuidade às postagens de Visual Basic.NET, só um pouquinho atrasadas&#8230; Infelizmente não vai dar para manter a regularidade de um post por semana.
O assunto é vetores, então, vamos lá.Declaração
Um array é um tipo de dado capaz de armazenar um conjunto de valores, diferente das variáveis que armazenam somente um valor de cada vez. E cada um dos elementos armazenados no array é referenciado por um índice.
É como se fosse um armário com várias gavetas, onde cada gaveta é etiquetada. Os índices são as etiquetas, que usamos para identificar as gavetas, e as gavetas são as posições do array onde guardamos o dado (só um dado por índice).
Ah, os valores armazenados em cada posição do array devem ser do mesmo tipo, a não ser que você declare um array do tipo Object.
Os arrays podem ter uma ou mais dimensões. Vamos ver por enquanto só arrays unidimensionais, que chamamos carinhosamente de vetores. Os arrays de duas dimensões ou mais são conhecidos como matrizes. Uma matriz com duas dimensões é semelhante a uma tabela, com linhas e colunas. A partir de três dimensões, a visualização já fica mais complicada.
A declaração de vetores pode ser feita nas formas:
Dim Vetor(0 To 5) As String
&#8216;ou
Dim Vetor(5) As String
Os índices dos arrays sempre começam com 0 (no VB 6, havia a instrução Option Base para fazer com que o início dos índices fosse igual a 1, mas essa opção não existe mais). Ou seja, o array declarado acima vai de 0 até 5, o que significa que podemos ter as seguintes referências para posições:
Vetor(0) = &#8220;valor qualquer&#8221;
Vetor(1) = &#8220;outro valor&#8221;
Vetor(2) = &#8220;Guanabara&#8221;
Vetor(3) = &#8220;Teste&#8221;
Vetor(4) = &#8220;Olá Mundo&#8221;
Vetor(5) = &#8220;Hostnet&#8221;
Isso nos dá 6 posições para guardar valores somente do tipo String, porque de acordo com a declaração, o array é do tipo String.
Associando valores
Como [...]]]></description> <content:encoded><![CDATA[<p
align="center"><img
src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg" alt="" width="490" height="127" /></p><p
align="justify">Olá pessoal, vamos dar continuidade às postagens de <span
style="color: #0000ff;">Visual Basic.NET</span>, só um pouquinho atrasadas&#8230; Infelizmente não vai dar para manter a regularidade de um post por semana.</p><p
align="justify">O assunto é vetores, então, vamos lá.</p><p
align="justify"><span
id="more-4459"></span></p><h3>Declaração</h3><p
align="justify">Um <em>array</em> é um tipo de dado capaz de armazenar um <em>conjunto de valores</em>, diferente das variáveis que armazenam somente um valor de cada vez. E cada um dos elementos armazenados no array é referenciado por um índice.</p><p
align="justify">É como se fosse um armário com várias gavetas, onde cada gaveta é etiquetada. Os índices são as etiquetas, que usamos para identificar as gavetas, e as gavetas são as posições do array onde guardamos o dado (só um dado por índice).</p><p
align="justify">Ah, os valores armazenados em cada posição do array devem ser do mesmo tipo, a não ser que você declare um array do tipo <em>Object</em>.</p><p
align="justify">Os arrays podem ter uma ou mais dimensões. Vamos ver por enquanto só arrays unidimensionais, que chamamos carinhosamente de <em>vetores</em>. Os arrays de duas dimensões ou mais são conhecidos como <em>matrizes</em>. Uma matriz com duas dimensões é semelhante a uma tabela, com linhas e colunas. A partir de três dimensões, a visualização já fica mais complicada.</p><p
align="justify">A declaração de vetores pode ser feita nas formas:</p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">Dim</span> Vetor(0 <span
style="color: #0000ff;">To</span> 5) <span
style="color: #0000ff;">As String</span></p><p
style="padding-left: 30px;" align="justify"><span
style="color: #008000;">&#8216;ou</span></p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">Dim</span> Vetor(5) <span
style="color: #0000ff;">As String</span></p><p
align="justify">Os índices dos arrays sempre começam com <strong>0</strong> (no VB 6, havia a instrução <span
style="color: #800000;">Option Base</span> para fazer com que o início dos índices fosse igual a 1, mas essa opção não existe mais). Ou seja, o array declarado acima vai de 0 até 5, o que significa que podemos ter as seguintes referências para posições:</p><p
style="padding-left: 30px;" align="justify">Vetor(0) = <span
style="color: #800000;">&#8220;valor qualquer&#8221;</span><br
/> Vetor(1) = <span
style="color: #800000;">&#8220;outro valor</span>&#8221;<br
/> Vetor(2) = <span
style="color: #800000;">&#8220;Guanabara&#8221;</span><br
/> Vetor(3) =<span
style="color: #800000;"> &#8220;Teste&#8221;</span><br
/> Vetor(4) = <span
style="color: #800000;">&#8220;Olá Mundo&#8221;</span><br
/> Vetor(5) = <span
style="color: #800000;">&#8220;Hostnet&#8221;</span></p><p
align="justify">Isso nos dá 6 posições para guardar valores somente do tipo <span
style="color: #0000ff;">String</span>, porque de acordo com a declaração, o array é do tipo <span
style="color: #0000ff;">String</span>.</p><h3>Associando valores</h3><p
align="justify">Como vimos acima, os elementos dos arrays são referenciados por índices, sendo o menor deles sempre zero. Esses índices podem ser usados para ler os valores ou atribuir um valor ao &#8220;endereço&#8221; que desejarmos.</p><p
align="justify">No momento da declaração de um array, os elementos podem ser definidos dessa forma:</p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">Dim</span> Vetor() <span
style="color: #0000ff;">As String</span> = {<span
style="color: #800000;">&#8220;Qualquer coisa&#8221;, &#8220;Outra coisa&#8221;, &#8220;Terceira coisa&#8221;</span>}</p><p
align="justify">No caso acima, automaticamente o array vai ter três posições. É como se declarássemos <span
style="color: #0000ff;">Dim</span> Vetor(2) <span
style="color: #0000ff;">As String</span> (lembrem-se que há a posição zero, não esqueçam!)</p><p
align="justify">A leitura e associação de valores é feita da mesma forma que variáveis comuns, só que precisamos dizer qual é o índice desejado:</p><p
style="padding-left: 30px;" align="justify"><span
style="color: #808080;">Console.WriteLine</span>(Vetor(1)) <span
style="color: #339966;">&#8216;Escrevendo o valor na tela</span></p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">Dim </span>PrimeiroValor <span
style="color: #0000ff;">As String</span> = Vetor(0)</p><p
align="justify">Cuidado para não informar um índice que esteja fora dos limites do array, caso contrário você vai gerar um erro nada legal &#8211; uma exceção, do tipo <span
style="color: #0000ff;">IndexOutOfRangeException.</span></p><h3>Funções de Array</h3><p
align="justify">Quem já trabalhou com arrays no <strong>Visual Basic 6</strong>, sabe que existe uma lista de funções que são úteis para trabalhar com arrays. O <strong>Visual Basic 9</strong> (2008) traz essas funções também, mas eu pessoalmente prefiro não mais trabalhar com elas, pelos seguintes motivos:</p><p
align="justify">1° &#8211; Existem métodos e funções da plataforma .NET que fazem a mesma coisa que essas funções antigas faziam, então é melhor se acostumar com os novos e deixar os antigos para trás. Até porque esses mesmos métodos funcionarão no C#;</p><p
align="justify">2º &#8211; Métodos da plataforma .NET deixam a aplicação mais rápida do que os métodos mantidos por questões de compatibilidade com versões antigas do VB;</p><p
align="justify">3° &#8211; Não me surpreenderia se esses métodos antigos fossem retirados da linguagem em versões futuras.</p><p
align="justify">Vamos aos principais:</p><p
align="justify">- <span
style="color: #0000ff;">GetUpperBound(dimension As Integer) </span>(antigo Ubound)<br
/> <em><span
style="color: #808080;">Console.WriteLine( (Vetor.GetUpperBound).ToString)</span></em><span
style="color: #0000ff;"><br
/> </span></p><p
align="justify">Retorna o maior índice de uma dimensão passada como parâmetro. A primeira dimensão é igual a zero, a segunda igual a um e assim vai.</p><p
align="justify">- <span
style="color: #0000ff;">GetLowerBound(dimension As Integer) </span>(antigo LBound)<br
/> <em><span
style="color: #808080;">Console.WriteLine( (Vetor.GetLowerBound).ToString)</span></em><span
style="color: #0000ff;"><br
/> </span></p><p
align="justify">Parecida com função anterior, retorna o menor índice de uma dimensão passada como parâmetro.</p><p
align="justify">- <span
style="color: #0000ff;">SetValue(value As Object, index As Integer)</span><br
/> <em><span
style="color: #808080;">Vetor.SetValue(&#8220;valor qualquer&#8221;, 1)</span></em></p><p
align="justify">- Armazena um valor em um índice específico do array.</p><p
align="justify">- <span
style="color: #0000ff;">Length() As Integer</span><br
/> <em><span
style="color: #808080;">Console.WriteLine(Vetor.Length.ToString)</span></em></p><p
align="justify">Propriedade que retorna o número total de elementos do array.</p><p
align="justify"><span
style="color: #0000ff;">- Rank() As Integer</span><br
/> <em><span
style="color: #808080;">Console.WriteLine(Vetor.Rank.ToString)</span></em></p><p
align="justify">Propriedade que retorna o número total de dimensões do array.</p><p
align="justify">- <span
style="color: #0000ff;">System.Array.Reverse(array As System.Array)</span><br
/> <em><span
style="color: #808080;">Dim VetorReverso = Array.Reverse(Vetor)</span></em></p><p
align="justify">Inverte os elementos do array</p><p
align="justify">- <span
style="color: #0000ff;">System.Array.Resize(ByRef array As System.Array, newSize As Integer)</span><br
/> <em><span
style="color: #808080;">Array.Resize(Vetor, Vetor.Length + 2)</span></em></p><p
align="justify">Modifica o tamanho do array</p><p
align="justify">- <span
style="color: #0000ff;">System.Array.Sort(array As System.Array)</span><br
/> <em><span
style="color: #808080;">Dim VetorOrdenado = Array.Sort(Vetor)</span></em></p><p
align="justify">Ordena os elementos do array</p><h3>Redimensionando de outra forma</h3><p
align="justify">Além do método <em>Resize</em>, existe uma palavra reservada chamada <span
style="color: #0000ff;">ReDim</span>. Com o uso dela, podemos redimensionar um array, como abaixo:</p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">Dim</span> Vetor()<span
style="color: #0000ff;"> As Integer</span> = {1, 3, 5, 7}</p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">ReDim</span> Vetor(9)</p><p
align="justify">Assim, <em>Vetor </em>vai ter 10 posições (de 0 a 9), e não somente as 4 posições (de 0 a 3) que tinha no momento da declaração.</p><p
align="justify">Mas há um problema: o <span
style="color: #0000ff;">ReDim</span> apaga os valores que já estão armazenados no array.  Ou seja, se você redimensionar um array usando essa declaração,  o array estará todo &#8220;em branco&#8221; depois de ser redimensionado;</p><p
align="justify">Se não quiser que isso aconteça, acrescente a palavra <span
style="color: #0000ff;">Preserve</span> após o <span
style="color: #0000ff;">ReDim</span>. Usando o exemplo acima, fica <span
style="color: #0000ff;">Redim Preserve</span> Vetor(9).</p><h3>O laço For Each</h3><p
align="justify">Essa variação do laço <span
style="color: #0000ff;">For&#8230;Next</span> tradicional pode ser utilizada em arrays, coleções, enumerações e vários outros tipos de dados, que armazenem conjuntos de valores. Ele permite, a cada repetição do laço, trabalharmos com um valor de cada vez que esteja presente no array desejado. A sintaxe é:</p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">For Each</span> <em>&lt;variável&gt;</em> [<span
style="color: #0000ff;">As</span><em> &lt;tipo&gt;</em>] <span
style="color: #0000ff;">In</span> <em>&lt;array&gt;</em></p><p
style="padding-left: 30px;" align="justify"><em>&lt;bloco de comandos&gt;</em></p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">Next</span><em> [&lt;variável&gt;]</em></p><p
align="justify">Veja abaixo um exemplo:</p><p
align="center"><img
class="alignnone size-medium wp-image-4576" title="print21" src="http://www.guanabara.info/wp-content/uploads/2008/09/print21.png" alt="" /></p><p
align="justify">A variável <em>Numero</em> recebe, a cada loop, um valor associado a um índice do array <em>Vetor</em>, começando do índice zero. Veja que a cada loop elevamos ao quadrado cada um dos números existentes no array.</p><p
align="justify">Essa estrutura é útil quando se deseja efetuar certas operações que envolvam os elementos do array, trabalhando um de cada vez, como foi o caso acima.</p><p
align="justify">Galera, acho que deu para deixar algumas coisas sobre arrays.</p><p
align="justify">Eu gostaria de saber a opinião de vocês sobre as postagens. Estão compreendendo o que é escrito ou existem dúvidas sobre o conteúdo? Alguma pergunta a respeito da linguagem?</p><p
align="justify">A única forma de eu saber o quanto vocês estão aprovando ou desaprovando a coluna é lendo a opinião de vocês nos comentários, pois só assim eu posso fazer postagens realmente boas. Tem algo desagradando? Mandem sugestões. Abraços e até a próxima.</p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/09/vb-parte-vi-vetores/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>[VB] &#8211; Extra &#8211; VBScript</title><link>http://www.guanabara.info/2008/08/vb-extra-vbscript/</link> <comments>http://www.guanabara.info/2008/08/vb-extra-vbscript/#comments</comments> <pubDate>Sun, 31 Aug 2008 03:00:57 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Geral]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[VBscript]]></category> <category><![CDATA[windows]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4398</guid> <description><![CDATA[
O VBScript (Visual Basic Scripting Edition) é uma adaptação simplificada feita do Visual Basic para utilização como uma linguagem de scripts. O código pode ser escrito em um editor de texto qualquer (até o nosso velho amigo Bloco de Notas serve muito bem) e gravado em um arquivo de extensão .vbs .  Sites feitos em ASP, por padrão, usam como linguagem o VBScript.Existem algumas diferenças entre o código que usamos no Visual Basic 2008 e no VBScript:
- Como a adaptação foi feita há muitos anos, a sintaxe é semelhante às versões antigas do VB, quando a linguagem nem era orientada a objetos. Por exemplo, os laços de repetição que começam com While terminam em Wend, e não End While.
- As variáveis não têm tipo, então a declaração fica somente Dim &#60;variável&#62;.
- Não existe uma estrutura para tratamento de erros.
É claro que desenvolver um script no Bloco de Notas pode ser extremamente incômodo para alguns, dependendo do que se estiver desenvolvendo. A falta de um ambiente de desenvolvimento incomoda bastante. Então, por que usar VBScript ?
Às vezes, temos a necessidade de executar alguma tarefa de forma automática, sem proceder pelo ambiente gráfico do Windows, ou periodicamente (a cada hora, por exemplo). Um exemplo seria fazer uma consulta a um banco de dados, recuperar algumas informações e criar uma conta de usuário ou um site no IIS em um servidor. E isso pode ser feito com VBScript.
Existem outras linguagens que fazem a mesma coisa, como o PERL e o PowerShell, que podem ser até mais cômodas e poderosas que o VBScript, mas a vantagem principal é que usando VBScript, você não precisa instalar nenhum programa adicional para a execução dos códigos.
Exemplos simples
Para ver o funcionamento da coisa, abra o seu Bloco de Notas e digite o seguinte:
Option Explicit
Dim contador
For contador = 1 To 7
Wscript.Echo &#8220;Uma linguagem [...]]]></description> <content:encoded><![CDATA[<p
align="center"><img
src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg" alt="" width="490" height="127" /></p><p
align="justify">O <strong><span
style="color: #0000ff;">VBScript </span></strong>(<em>Visual Basic Scripting Edition</em>) é uma adaptação simplificada feita do <span
style="color: #000080;">Visual Basic</span> para utilização como uma linguagem de scripts. O código pode ser escrito em um editor de texto qualquer (até o nosso velho amigo <em>Bloco de Notas</em> serve muito bem) e gravado em um arquivo de extensão .<em>vbs</em> .  Sites feitos em ASP, por padrão, usam como linguagem o VBScript.</p><p
align="justify"><span
id="more-4398"></span></p><p
align="justify">Existem algumas diferenças entre o código que usamos no Visual Basic 2008 e no VBScript:</p><p
align="justify">- Como a adaptação foi feita há muitos anos, a sintaxe é semelhante às versões antigas do VB, quando a linguagem nem era orientada a objetos. Por exemplo, os laços de repetição que começam com <span
style="color: #000080;">While </span>terminam em <span
style="color: #000080;">Wend</span>, e não <span
style="color: #000080;">End While</span>.</p><p
align="justify">- As variáveis não têm tipo, então a declaração fica somente <span
style="color: #000080;">Dim </span><em>&lt;variável&gt;</em>.</p><p
align="justify">- Não existe uma estrutura para tratamento de erros.</p><p
align="justify">É claro que desenvolver um script no Bloco de Notas pode ser extremamente incômodo para alguns, dependendo do que se estiver desenvolvendo. A falta de um ambiente de desenvolvimento incomoda bastante. Então, por que usar VBScript ?</p><p
align="justify">Às vezes, temos a necessidade de executar alguma tarefa de forma automática, sem proceder pelo ambiente gráfico do Windows, ou periodicamente (a cada hora, por exemplo). Um exemplo seria fazer uma consulta a um banco de dados, recuperar algumas informações e criar uma conta de usuário ou um site no IIS em um servidor. E isso pode ser feito com VBScript.</p><p
align="justify">Existem outras linguagens que fazem a mesma coisa, como o <em>PERL </em>e o <em>PowerShell</em>, que podem ser até mais cômodas e poderosas que o VBScript, mas a vantagem principal é que usando VBScript, você não precisa instalar nenhum programa adicional para a execução dos códigos.</p><h3>Exemplos simples</h3><p
align="justify">Para ver o funcionamento da coisa, abra o seu Bloco de Notas e digite o seguinte:</p><p
align="justify"><span
style="color: #0000ff;">Option Explicit</span><br
/> <span
style="color: #0000ff;">Dim</span> contador<br
/> <span
style="color: #0000ff;">For</span> contador = 1 <span
style="color: #0000ff;">To</span> 7<br
/> <span
style="color: #0000ff;">Wscript.Echo</span> &#8220;<span
style="color: #800000;">Uma linguagem de script</span>&#8221;<br
/> <span
style="color: #0000ff;">Next</span></p><p
align="justify">Salve esse arquivo como &#8220;teste.vbs&#8221;, onde você desejar. Em seguida, abra o Prompt de Comando, acesse o diretório onde o arquivo se encontra e digite o comando: <em>Cscript teste.vbs.</em></p><p
align="justify">Se você não digitou nada errado, deve aparecer o seguinte:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print1.jpg"><img
class="alignnone size-medium wp-image-4401" title="print1" src="http://www.guanabara.info/wp-content/uploads/2008/08/print1.jpg" alt="" /></a></p><p
align="justify">E é assim que os scripts são executados. Se houver algum erro de código, a mensagem de erro será mostrada na janela do prompt, informando em qual linha o erro ocorreu.</p><p
align="justify">O script também pode ser executado dando-se dois cliques ou digitando <em>&#8220;Wscript teste.vbs&#8221;</em>. O problema é que as mensagens escritas com o comando <em>WScript.Echo</em> seriam mostradas como se fossem caixas de diálogo, e aí você terá que clicar em Ok para que o script prossiga.</p><p
align="justify">Veja abaixo um exemplo mais poderoso. O script criará uma conta de usuário no Windows. As contas de usuário,  para quem não sabe, podem ser vistas em <strong><span
style="color: #808080;">I</span><span
style="color: #808080;">niciar -&gt; Configurações -&gt; Painel de Controle -&gt; Ferramentas Administrativas -&gt; Gerenciamento do Computador -&gt; Usuários e Grupos Locais -&gt; Usuários</span></strong>.</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print2.jpg"><img
class="alignnone size-medium wp-image-4402" title="print2" src="http://www.guanabara.info/wp-content/uploads/2008/08/print2.jpg" alt="" /></a></p><p
align="justify">Depois de executado esse código, o resultado é esse:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print3.jpg"><img
class="alignnone size-medium wp-image-4403" title="print3" src="http://www.guanabara.info/wp-content/uploads/2008/08/print3.jpg" alt="" /></a></p><p
align="justify">Para algumas pessoas, um script com uma função dessas seria bastante útil.</p><p
align="justify">Em matéria de acesso a banco de dados, os objetos <em>&#8220;ADODB.Connection&#8221;</em> e <em>&#8220;ADODB.Recordset&#8221;</em> podem ser usados (esses objetos são conhecidos por quem já trabalhou com banco de dados no VB 6). Para acesso a pastas e arquivos, o componente usado pode ser o <em>&#8220;Scripting.FileSystemObject&#8221;</em>.</p><p
align="justify">Existem muitas outras tarefas que podemos automatizar com o VBScript, desde tarefas simples até tarefas mais complexas, que envolvam consultas e alterações de dados do sistema.</p><p
align="justify">Quem pretende editar arquivos .vbs poderá usar o <a
href="http://www.aptedit.com/">AptEdit Lite</a>. No site, há uma versão free. Outro que pode ajudar um pouco é o editor de textos <a
href="http://notepad-plus.sourceforge.net/br/site.htm">Notepad ++</a>, um ótimo editor de textos que além de VBScript reconhece uma lista enorme de códigos.</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/aptedit-lite.jpg"><img
class="alignnone size-medium wp-image-4404" title="Tela do Apt-Edit Lite" src="http://www.guanabara.info/wp-content/uploads/2008/08/aptedit-lite.jpg" alt="" /></a></p><p
align="justify"><em>Tela do Apt-Edit Lite</em></p><p
align="justify">O nosso foco é VB.NET, mas se a galera gostar, de vez em quando eu posto alguma coisa sobre VBScript. É só deixar pedidos nos comentários. Pedidos e idéias para as postagens são sempre bem-vindos. Abraços e até a próxima.</p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/08/vb-extra-vbscript/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>[VB] Parte V &#8211; Estruturas de Repetição</title><link>http://www.guanabara.info/2008/08/vb-parte-v-estruturas-de-repeticao-i/</link> <comments>http://www.guanabara.info/2008/08/vb-parte-v-estruturas-de-repeticao-i/#comments</comments> <pubDate>Thu, 28 Aug 2008 14:08:02 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Colunas]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[.NET]]></category> <category><![CDATA[Visual Basic]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4326</guid> <description><![CDATA[Pessoal, hoje vamos voltar às antigas Consoles Applications para vermos as muitas formas de repetição que o Visual Basic nos oferece.Abram o Visual Basic 2008 Express Edition, e vamos começar. Agora vai ser mais rápido!O Option Explicit
Antes de começar as repetições, vamos ver mais um comando da linguagem.
Por padrão, o VB 2008 não deixa que o usuário use uma variável sem declará-la, já que é uma boa prática de programação sempre definir nome e tipo das variáveis. Porém, isso pode ser desabilitado usando-se o Option Explicit.
Essa instrução deve vir antes de qualquer outro comando, na primeira linha de código e pode ser declarada com o parâmetro On ou Off. Se estiver com On, quer dizer que a declaração é obrigatória (padrão). Se estiver com Off, a declaração não é mais obrigatória. Por exemplo, o código abaixo é válido:Mas esse aqui não é válido:Como acima não declaramos Option Explicit Off, o Visual Studio avisará que a variável não foi definida.
Existem outras declarações, como Option Strict e Option Infer, mas não se preocupe com elas agora.
Let&#8217;s continue&#8230;
While &#8230; End While
A sintaxe dessa &#8220;estrutulha&#8221; é a seguinte:
While &#60;condição&#62;
&#60;bloco de comandos&#62;
End While
Enquanto a condição que especificamos na estrutura for verdadeira, o bloco de comandos será executado até o final e em seguida será executado novamente, até que a condição não seja mais verdadeira.
Veja o exemplo:No VB 6 e no VBScript, o End While terminava com a instrução Wend. Não havia como interromper o laço de repetição, a única forma de sair era a condição tornar-se falsa. No VB 2008, temos a instrução Exit While para forçar a saída.
Veja abaixo:Do&#8230; Loop
Somente com as instruções acima, criamos uma repetição bem simples. Os comandos são executados repetidamente, e se não for incluída uma instrução que force a saída do laço, o loop não terminará.
A sintaxe é:
Do
&#60;bloco [...]]]></description> <content:encoded><![CDATA[<p
align="justify">Pessoal, hoje vamos voltar às antigas<em> Consoles Applications</em> para vermos as muitas formas de repetição que o <span
style="color: #0000ff;">Visual Basic</span> nos oferece.</p><p
align="center"><img
src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg" alt="" width="490" height="127" /></p><p
align="justify">Abram o <strong><span
style="color: #0000ff;">Visual Basic 2008 Express Edition</span></strong>, e vamos começar. Agora vai ser mais rápido!</p><p
align="justify"><span
id="more-4326"></span></p><h3>O Option Explicit</h3><p
align="justify">Antes de começar as repetições, vamos ver mais um comando da linguagem.</p><p
align="justify">Por padrão, o VB 2008 não deixa que o usuário use uma variável <em>sem declará-la</em>, já que é uma boa prática de programação sempre definir nome e tipo das variáveis. Porém, isso pode ser desabilitado usando-se o <span
style="color: #0000ff;">Option Explicit</span>.</p><p
align="justify">Essa instrução deve vir antes de qualquer outro comando, na primeira linha de código e pode ser declarada com o parâmetro <span
style="color: #0000ff;">On</span> ou <span
style="color: #0000ff;">Off</span>. Se estiver com <span
style="color: #0000ff;">On</span>, quer dizer que a declaração é obrigatória (<em>padrão</em>). Se estiver com <span
style="color: #0000ff;">Off</span>, a declaração não é mais obrigatória. Por exemplo, o código abaixo é válido:</p><p
style="text-align: center;"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print7.png"><img
class="alignnone size-medium wp-image-4378" title="print7" src="http://www.guanabara.info/wp-content/uploads/2008/08/print7.png" alt="" /></a></p><p
align="justify">Mas esse aqui não é válido:</p><p
style="text-align: center;"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print6.png"><img
class="alignnone size-medium wp-image-4377" title="print6" src="http://www.guanabara.info/wp-content/uploads/2008/08/print6.png" alt="" /></a></p><p
align="justify">Como acima não declaramos <span
style="color: #0000ff;">Option Explicit Off</span>, o <strong>Visual Studio</strong> avisará que a variável não foi definida.</p><p
align="justify">Existem outras declarações, como <span
style="color: #0000ff;">Option Strict</span> e <span
style="color: #0000ff;">Option Infer</span>, mas não se preocupe com elas agora.</p><p
align="justify">Let&#8217;s continue&#8230;</p><h3>While &#8230; End While</h3><p>A sintaxe dessa &#8220;estrutulha&#8221; é a seguinte:</p><p><span
style="color: #0000ff;">While</span> <em>&lt;condição&gt;</em><br
/> <em> &lt;bloco de comandos&gt;</em><br
/> <span
style="color: #0000ff;">End While</span></p><p
align="justify">Enquanto a condição que especificamos na estrutura for verdadeira, o bloco de comandos será executado até o final e em seguida será executado novamente, até que a condição não seja mais verdadeira.</p><p
align="justify">Veja o exemplo:</p><p
style="text-align: center;"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print8.png"><img
class="alignnone size-medium wp-image-4379" title="print8" src="http://www.guanabara.info/wp-content/uploads/2008/08/print8.png" alt="" /></a></p><p
align="justify">No VB 6 e no VBScript, o <span
style="color: #0000ff;">End While</span> terminava com a instrução <span
style="color: #0000ff;">Wend</span>. Não havia como interromper o laço de repetição, a única forma de sair era a condição tornar-se falsa. No VB 2008, temos a instrução <span
style="color: #0000ff;">Exit While</span> para forçar a saída.</p><p
align="justify">Veja abaixo:</p><p
style="text-align: center;"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print9.png"><img
class="alignnone size-medium wp-image-4380" title="print9" src="http://www.guanabara.info/wp-content/uploads/2008/08/print9.png" alt="" /></a></p><h3>Do&#8230; Loop</h3><p
align="justify">Somente com as instruções acima, criamos uma repetição bem simples. Os comandos são executados repetidamente, e se não for incluída uma instrução que force a saída do laço, o loop não terminará.</p><p
align="justify">A sintaxe é:</p><p
align="justify"><span
style="color: #0000ff;">Do</span><br
/> <em>&lt;bloco de comandos&gt;</em><br
/> <span
style="color: #0000ff;">Loop</span></p><p
align="justify">Simples e perigoso. Loops infinitos podem travar a aplicação, então tenha certeza de não permitir que isso aconteça.</p><p
align="justify">Para criarmos uma condição de saída para a repetição, podemos fazer de duas formas. A primeira é criar uma &#8220;estrutulha&#8221; condicional dentro do bloco, dizendo que dentro de uma certa condição, a repetição termina. Isso é feito com a instrução <span
style="color: #0000ff;">Exit Do</span>.</p><p
style="text-align: center;"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print11.png"><img
class="alignnone size-medium wp-image-4383" title="print11" src="http://www.guanabara.info/wp-content/uploads/2008/08/print11.png" alt="" /></a></p><p
align="justify">No bloco acima, usamos a função <span
style="color: #0000ff;">InputBox</span> que abre uma janela solicitando ao usuário que digite alguma informação, que é armazenada na variável Valor. Dentro do laço de repetição, escrevemos o valor, incrementamos o valor da variável e testamos se ela é maior que 5, se for a aplicação sai da repetição.</p><p
align="justify">-&gt; <span
style="color: #0000ff;">InputBox</span>(<span
style="color: #800000;">&#8220;Mensagem exibida&#8221;</span>, <span
style="color: #800000;">&#8220;Título da Janela&#8221;</span>, <span
style="color: #800000;">&#8220;Valor default&#8221;</span>)</p><p
align="justify">Se não tivéssemos esse teste lógico, se dependesse da aplicação o loop ficaria rodando eternamente.</p><p
align="justify">A outra forma é usando os modificadores <span
style="color: #0000ff;">While</span> e <span
style="color: #0000ff;">Until</span>. Esses comandos têm a seguinte finalidade:</p><p
align="justify"><strong><span
style="color: #0000ff;">While</span> <em>&lt;condição&gt;</em> -&gt;</strong> faz um teste com uma condição, e o loopse repete enquanto a condição for verdadeira</p><p
align="justify"><strong><span
style="color: #0000ff;">Until</span> <em>&lt;condição&gt;</em></strong> <strong>-&gt;</strong> faz um teste com uma condição, e o loop se encerra quando a condição tornar-se verdadeira.</p><p
align="justify">Esses comandos podem acompanhar ou o <span
style="color: #0000ff;">Do</span> ou o <span
style="color: #0000ff;">Loop</span>, não acompanham os dois no mesmo bloco. Ou seja, podemos ter repetições em que usamos <span
style="color: #0000ff;">Do While</span>&#8230;<span
style="color: #0000ff;">Loop</span>, <span
style="color: #0000ff;">Do Until</span>&#8230;<span
style="color: #0000ff;">Loop</span>, <span
style="color: #0000ff;">Do</span>&#8230;<span
style="color: #0000ff;">Loop While</span> ou <span
style="color: #0000ff;">Do</span>&#8230;<span
style="color: #0000ff;">Loop Until</span>.</p><p
align="justify">Qual é a diferença entre usarmos os comandos no início e usarmos no fim do bloco de repetição? Quando colocamos os comandos no <em>final</em>, estamos garantindo que o bloco será executado pelo menos uma vez, pois <em>o teste da condição é feito no final</em>. Se colocarmos no <em>início</em>, o teste será feito <em>antes de entrar no loop</em>, então se a condição que estabelecemos implicar na saída da repetição, ela não é executada nenhuma vez.</p><p
align="justify">Leia-se:</p><p
align="justify"><span
style="color: #0000ff;">Do While</span>&#8230; <span
style="color: #0000ff;">Loop</span> -&gt;<em> enquanto isso for verdadeiro, repita</em></p><p
align="justify"><span
style="color: #0000ff;">Do Until</span>&#8230; <span
style="color: #0000ff;">Loop</span> -&gt; <em>até que isso seja verdadeiro, repita</em></p><p
align="justify"><span
style="color: #0000ff;">Do</span>&#8230; <span
style="color: #0000ff;">Loop While</span> -&gt; <em>repita enquanto isso for verdadeiro</em></p><p
align="justify"><span
style="color: #0000ff;">Do</span>&#8230;<span
style="color: #0000ff;"> Loop Until</span> -&gt;<em> repita até que isso seja verdadeiro<br
/> </em></p><p
align="justify">Você pode usar o <span
style="color: #0000ff;">While</span> ou o <span
style="color: #0000ff;">Until</span> dependendo da forma que você usa a condição. Veja um exemplo abaixo com dois loops que executam a mesma coisa, mas usando os comandos diferentes:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print10.png"><img
class="alignnone size-medium wp-image-4382" title="print10" src="http://www.guanabara.info/wp-content/uploads/2008/08/print10.png" alt="" /></a></p><p
align="justify">O primeiro loop <em>enquanto Repetir for menor ou igual a 5, repete escrever Guanabara.INFO</em>, e o segundo <em>até que Repetir maior que 5 </em><em>repete escrever Guanabara.INFO</em><em>.</em></p><p
align="justify">Lembrando que podemos testar mais de uma condição nos loops, usando os conhecidos <span
style="color: #0000ff;">And</span>, <span
style="color: #0000ff;">Or</span>, <span
style="color: #0000ff;">Not</span>, <span
style="color: #0000ff;">AndAlso</span> e <span
style="color: #0000ff;">OrElse</span>.</p><p
align="justify"><h3>For&#8230; Next</h3><p
align="justify">Esse é o nosso &#8220;para&#8221;. Usamos esse laço quando tivermos uma variável contadora para auxiliar na repetição. A sinxate completa é:</p><p><span
style="color: #0000ff;">For</span> <em>&lt;variável&gt;</em> <span
style="color: #0000ff;">As</span> <em>&lt;tipo&gt; = &lt;início&gt;</em> <span
style="color: #0000ff;">To</span> <em>&lt;fim&gt;</em> <span
style="color: #0000ff;">Step</span> <em>&lt;incremento&gt;</em><br
/> <em>&lt;bloco de comandos&gt;</em><br
/> <span
style="color: #0000ff;">Next</span> <em>&lt;variável&gt;</em></p><p
align="justify">Funciona da seguinte forma: declaramos uma variável com um tipo numérico, atribuindo um valor a ela que será o valor inicial, definimos um valor máximo ao qual ela pode chegar e um incremento. A cada vez que a repetição terminar e voltar ao início, o valor de variável será incrementado, e caso seja maior ou igual ao valor máximo, o loop se encerra. Veja um exemplo:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print12.png"><img
class="alignnone size-medium wp-image-4384" title="print12" src="http://www.guanabara.info/wp-content/uploads/2008/08/print12.png" alt="" /></a></p><p
align="justify">No exemplo acima, eu não precisei escrever a estrutura completa porque declarei a variável antes do loop, o valor padrão do incremento <span
style="color: #0000ff;">Step</span> é igual a 1 e o <span
style="color: #0000ff;">Next</span> não me obriga a repetir o nome da variável ao lado dele.</p><p
align="justify">Também existe a instrução <span
style="color: #0000ff;">Exit For</span>.</p><p
align="justify">Recebi do nosso visitante veterano Garu um código sobre o último post, quem não viu <a
href="http://www.guanabara.info/?p=4224">clique aqui</a> e veja o que foi pedido. O código que ele enviou foi o seguinte:</p><p
align="justify"><span
style="color: #0000ff;"> Private Sub</span> Button1_Click(<span
style="color: #0000ff;">ByVal</span> sender <span
style="color: #0000ff;">As System.Object</span>, <span
style="color: #0000ff;">ByVal</span> e As <span
style="color: #0000ff;">System.EventArgs</span>) <span
style="color: #0000ff;">Handles</span> btnMostra.Click</p><p
style="padding-left: 30px;" align="justify"><span
style="color: #0000ff;">Dim</span> msg <span
style="color: #0000ff;">As String</span><br
/> msg = txtValor.Text</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">If</span> txtValor.Text &lt;&gt; &#8220;&#8221; <span
style="color: #0000ff;">Then</span></p><p
style="padding-left: 60px;">btnMostra.Enabled = <span
style="color: #0000ff;">False</span><br
/> <span
style="color: #0000ff;">MsgBox</span>(msg, <span
style="color: #0000ff;">MsgBoxStyle.OkOnly</span>, &#8220;&#8221;)<br
/> Label1.Text = <span
style="color: #800000;">&#8220;Parebns! Sua mensagem ser exibida!&#8221;</span><br
/> <span
style="color: #0000ff;">Else</span><br
/> Label1.Text =<span
style="color: #800000;"> &#8220;Erro! Nenhuma mensagem foi digitada!&#8221;</span></p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">End If</span></p><p><span
style="color: #0000ff;">End Sub</span></p><p
align="justify">Isso mesmo, tá certo! <img
src='http://www.guanabara.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /></p><p
align="justify">O programa faz um teste verificando se o conteúdo da caixa de texto é vazio, se for ele avisa que não foi digitado nada. Mas aí temos um problema, o usuário pode digitar um espaço e clicar em OK. Aí o conteúdo deixa de ser vazio. Para contornarmos esse problema, podemos usar a função Trim.</p><p
align="justify">A função retira os espaços em branco do início e do final da string. Assim, se o usuário digitare só espaços, sem outros caracteres, esses espaços são removidos. Podemos usar a propriedade Length, depois de retirar os espaços, e verificar se o tamanho da string é igual a zero:</p><p
align="justify"><span
style="color: #0000ff;">If</span> (msg.<span
style="color: #0000ff;">Trim()</span>.Length) = 0 <span
style="color: #0000ff;">Then</span></p><p
style="padding-left: 30px;" align="justify">Console.WriteLine(<span
style="color: #800000;">&#8220;Está vazia, sua mula!&#8221;</span>)</p><p
align="justify"><span
style="color: #0000ff;">End If</span></p><p
align="justify">Aproveita a dica, Garu, junto com os outros visitantes do site. Semana que vem, vetores! Pessoal que vai participar da OAH, estudem <strong>MUITO</strong> vetores. Até a próxima.</p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/08/vb-parte-v-estruturas-de-repeticao-i/feed/</wfw:commentRss> <slash:comments>14</slash:comments> </item> <item><title>[VB] Parte IV &#8211; Windows Forms Applications</title><link>http://www.guanabara.info/2008/08/vb-parte-iv-windows-forms-applications/</link> <comments>http://www.guanabara.info/2008/08/vb-parte-iv-windows-forms-applications/#comments</comments> <pubDate>Thu, 21 Aug 2008 13:00:32 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Colunas]]></category> <category><![CDATA[Geral]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[.NET]]></category> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Curso]]></category> <category><![CDATA[Microsoft]]></category><guid
isPermaLink="false">http://guanabara.web21.f3.k8.com.br/?p=4224</guid> <description><![CDATA[
Olá galera. Para tirar o atraso do último post, resolvi colocar a parte IV com algumas diferenças. Me pediram uma super-postagem, então toma!    Vamos usar o Visual Basic para criar um tipo diferente de aplicação.
Até o momento, só trabalhamos com Consoles Applications (sem um ambiente gráfico). Agora, abram o seu Visual Basic Express e criem uma nova Windows Forms Application.Mudanças no Ambiente de Desenvolvimento
Windows Forms Applications permitem o desenvolvimento de aplicativos com um ambiente gráfico. Você poderá criar as janelas do seu programa (forms), criar botões, colocar imagens, e muitos outros itens, como os programas para Windows. Esses componentes gráficos ficam na Toolbox, no lado esquerdo da tela. Expanda a seção &#8220;All Windows Forms&#8221; dessa barra para ver a lista de todos os controles que você tem a disposição (mas nem todos são visíveis em tempo de execução).Aos poucos, vamos usando o objetos e descobrindo para quê eles servem. Vamos começar com algo bem simples.
Propriedades e Eventos
No centro da tela, você vê um quadrado cinza, que é o seu primeiro formulário. Você pode acrescentar outros, mas só precisaremos de um por enquanto. Os controles da Toolbox podem ser arrastados para essa área. Experimente com o controle Label, clicando sobre o item e arrastando-o para o interior do formulário.
Será criado na tela um controle Label, com o nome Label1. Uma label é um rótulo, ou seja, esse controle serve para exibir informações diretamente no formulário.Agora vamos falar das outras barras. A Solution Explorer vai mostrar os itens que estão presentes no seu projeto até o momento (formulários, conexões com banco de dados, etc). Até agora, temos só um formulário, que é o Form1.vb .
Abaixo dessa tela, existe a Properties Window. Essa tela é muito importante, pois através dela podemos definir as propriedades dos controles que estão na nossa aplicação [...]]]></description> <content:encoded><![CDATA[<p
align="center"><img
src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg" alt="" width="490" height="127" /></p><p
align="justify"><span
style="color: #ff0000;">Olá galera</span>. Para tirar o atraso do último post, resolvi colocar a parte IV com algumas diferenças. Me pediram uma super-postagem, então toma!  <img
src='http://www.guanabara.info/wp-includes/images/smilies/icon_twisted.gif' alt=':twisted:' class='wp-smiley' /> Vamos usar o <span
style="color: #ff0000;">Visual Basic</span> para criar um tipo diferente de aplicação.</p><p
align="justify">Até o momento, só trabalhamos com <em>Consoles Applications</em> (sem um ambiente gráfico). Agora, abram o seu <strong><span
style="color: #0000ff;">Visual Basic Express</span> </strong>e criem uma nova <strong>Windows Forms Application</strong>.</p><p><span
id="more-4224"></span></p><h3>Mudanças no Ambiente de Desenvolvimento</h3><p
align="justify"><strong>Windows Forms Applications</strong> permitem o desenvolvimento de aplicativos com um ambiente gráfico. Você poderá criar as janelas do seu programa (<em>forms</em>), criar botões, colocar imagens, e muitos outros itens, como os programas para Windows. Esses componentes gráficos ficam na <em>Toolbox</em>, no lado esquerdo da tela. Expanda a seção &#8220;<em>All Windows Forms&#8221;</em> dessa barra para ver a lista de todos os controles que você tem a disposição (mas nem todos são visíveis em tempo de execução).</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print1.png"><img
class="alignnone size-medium wp-image-4226" title="print1" src="http://www.guanabara.info/wp-content/uploads/2008/08/print1.png" alt="" width="640" height="424" /></a></p><p
align="justify">Aos poucos, vamos usando o objetos e descobrindo para quê eles servem. Vamos começar com algo bem simples.</p><h3>Propriedades e Eventos</h3><p
align="justify">No centro da tela, você vê um quadrado cinza, que é o seu primeiro formulário. Você pode acrescentar outros, mas só precisaremos de um por enquanto. Os controles da Toolbox podem ser arrastados para essa área. Experimente com o controle <strong>Label</strong>, clicando sobre o item e arrastando-o para o interior do formulário.</p><p
align="justify">Será criado na tela um controle <strong>Label</strong>, com o nome <em>Label1</em>. Uma label é um rótulo, ou seja, esse controle serve para exibir informações diretamente no formulário.</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print2.png"><img
class="alignnone size-medium wp-image-4229" title="print2" src="http://www.guanabara.info/wp-content/uploads/2008/08/print2.png" alt="" /></a></p><p
align="justify">Agora vamos falar das outras barras. A <em>Solution Explorer</em> vai mostrar os itens que estão presentes no seu projeto até o momento (formulários, conexões com banco de dados, etc). Até agora, temos só um formulário, que é o <em>Form1.vb</em> .</p><p
align="justify">Abaixo dessa tela, existe a <em>Properties Window</em>. Essa tela é muito importante, pois através dela podemos definir as <span
style="text-decoration: underline;">propriedades</span> dos controles que estão na nossa aplicação em tempo de desenvolvimento.</p><p
align="justify">As propriedades definem as <strong>características</strong> do controle, e variam de controle para controle. Vamos ver o exemplo da <strong>Label</strong>. Clique sobre o <em>Label1</em> que foi inserido no formulário e dê uma olhada na Properties Window:</p><p
align="justify"><span
style="color: #0000ff;">Name</span> &#8211; define o nome do controle. Através desse nome, podemos fazer referência a esse controle por meio do código. É sempre bom colocarmos três caracteres inicias ao nome para que possamos lembrar no código que tipo de controle ele é. No nosso caso, como é uma Label, dê um nome a ela bem intuitivo: lblMensagem .</p><p
align="justify"><span
style="color: #0000ff;">BorderStyle</span> &#8211; define a borda que o controle terá. Por padrão, ele não tem borda, mas podemos definir um tipo para ele, mudando essa propriedade.</p><p
align="justify"><span
style="color: #0000ff;">ForeColor<span
style="color: #000000;"> &#8211; define a cor da letra da Label.</span></span></p><p
align="justify"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print3.png"><img
class="alignleft alignnone size-medium wp-image-4227" style="float: left; margin-left: 7px; margin-right: 7px;" title="print3" src="http://www.guanabara.info/wp-content/uploads/2008/08/print3.png" alt="" /></a></p><p
align="justify"><span
style="color: #0000ff;">Text</span> &#8211; define a mensagem que a Label terá. Altere essa propriedade para &#8220;Nossa mensagem de hoje é:&#8221;.</p><p
align="justify"><span
style="color: #0000ff;">Visible</span> &#8211; define se a Label estará visível no formulário (True) ou invisível (False).</p><p
align="justify"><span
style="color: #0000ff;">Enabled </span>- define se a Label estará ativada (True) ou desativada (False). Um controle desativado fica com a cor mais clara. É mais útil no caso de botões, pois quando estão nesse estado não recebem cliques.</p><p
align="justify">Existem outras propriedades, mas não vamos mexer nelas agora. Quando estivermos no código, essas propriedades podem ser acessadas ou modificadas na forma:</p><p
align="justify"><em>&lt;nome do controle&gt;.&lt;nome da propriedade&gt; = valor<br
/> </em></p><p
align="justify"><p
align="justify"><p
align="justify"><p
align="justify">Exemplo:</p><p
align="justify"><em>Label1.Text</em> = <span
style="color: #800000;">&#8220;Mensagem da Label&#8221;</span> <span
style="color: #339966;">&#8216;A label mostrará o conteúdo da string passado como valor</span></p><p
align="justify"><em>Label1.Visible</em> = <span
style="color: #0000ff;">False <span
style="color: #339966;">&#8216;A label ficará invisível</span></span></p><p
align="justify"><em>Console.WriteLine(Label1.Text) </em><span
style="color: #0000ff;"><span
style="color: #339966;">&#8216;Escreve a mensagem da label<br
/> </span></span></p><p
align="justify">Existem também os <em>eventos</em>, que são ações às quais os controles respondem em tempo de execução. Imagine que um <strong>carro</strong> seja um objeto. Teríamos algumas <em>propriedades</em> como &#8220;Número de Rodas&#8221;, &#8220;Cor&#8221;, &#8220;Tipo de Combustível&#8221; e <em>eventos</em> poderíamos ter &#8220;Ligação&#8221; ou &#8220;Aceleração&#8221;.</p><p
align="justify">Os controles podem responder a eventos como <em>clique de botão</em>, <em>passagem do ponteiro</em> sobre o controle, e muitos outros. Existem eventos que são específicos para alguns controles. Você pode conferir os eventos disponíveis de um controle clicando sobre o mesmo, indo até a <em>Properties Window</em> e clicando no botão &#8220;<em>Events</em>&#8220;, que possui a figura de um raio. A finalidade dos eventos pode ser deduzida pelo nome, em alguns casos, e sempre há uma descrição do evento selecionado abaixo da lista.</p><p
align="justify">Também podemos ver os eventos através da área de código, como você vê abaixo:</p><p
align="justify"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/events.jpg"><img
class="alignnone size-medium wp-image-4293" title="events" src="http://www.guanabara.info/wp-content/uploads/2008/08/events.jpg" alt="" width="691" height="398" /></a></p><p
align="justify">Para termos uma noção melhor, arraste um controle <strong>Button</strong> para a tela, mude o nome dele para &#8220;btnMensagem&#8221; (propriedade <em>Name</em>), o texto mostrado para &#8220;Clique aqui&#8221; (propriedade <em>Text</em>) e dê um duplo clique no controle.</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print5.png"><img
class="alignnone size-medium wp-image-4228" title="print5" src="http://www.guanabara.info/wp-content/uploads/2008/08/print5.png" alt="" /></a></p><p
align="justify">Você será levado à área de edição do código, onde o Visual Basic terá criado um procedimento padrão que responderá ao evento clique do botão:</p><p
align="justify"><span
style="color: #0000ff;">Private Sub</span> btnMensagem_Click(<span
style="color: #0000ff;">ByVal</span> sender <span
style="color: #0000ff;">As System.Objec</span>t, <span
style="color: #0000ff;">ByVal</span> e <span
style="color: #0000ff;">As System.EventArgs</span>) <span
style="color: #0000ff;">Handles</span> btnMensagem.Click</p><p><span
style="color: #0000ff;">End Sub</span></p><p
align="justify">O comando <span
style="color: #0000ff;">Handles</span> é responsável por apontar o código do procedimento ao evento clique do botão.  Sempre que quisermos fazer a referência entre um evento de um controle ou objeto e um procedimento, usamos o <span
style="color: #0000ff;">Handles</span>. O nome do procedimento (no caso <span
style="color: #0000ff;">Private Sub</span> btnMensagem_Click) não importa para que funcione &#8211; o que importa é o evento ao qual ele se prende (<span
style="color: #0000ff;">Handles</span> btnMensagem.Click)</p><p
align="justify">Dentro do bloco criado, digite o seguinte trecho de código:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/print4.png"><img
class="alignnone size-medium wp-image-4230" title="print4" src="http://www.guanabara.info/wp-content/uploads/2008/08/print4.png" alt="" /></a></p><p
align="justify"><p
align="justify">A função <span
style="color: #0000ff;">MsgBox</span>() exibe uma caixa de diálogo na tela. O primeiro parâmetro é o valor da mensagem, o segundo representa os tipos de botões que serão exibidos, e o terceiro o título da janela. Observe que passamos strings no primeiro e no terceiro parâmetros (nesse caso, uma string vazia). O segundo parêmetro é um valor da enumeração MsgBoxStyle. Você pode conferir todos os valores possível no <em>IntelliSense</em>, no nosso caso ele só mostrará o botão &#8220;OK&#8221;.</p><p
align="justify">Compilem, pressionando F5, e vejam como fica o formulário durante a execução. Agora cliquem no botão e vejam o que o programa acha do Luiz. <img
src='http://www.guanabara.info/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' /> .</p><p
align="justify">Talvez o post tenha explicado muita coisa em pouco espaço, mas em resumo significa: programando com Windows Applications, temos a possibilidade de trabalhar com formulários e inserir controles nele , desde botões e rótulos até grids com tabelas de bancos de dados e imagens. E esses controles têm eventos, que são ações que acontecem, como clique do mouse, pressionamento de uma tecla, etc.</p><p
align="justify">Agora quero ver quem é que está estudando e lendo o post com atenção. Atendendo a pedidos, vou lançar dois pequenos desafios:</p><p
align="justify">1 &#8211; Já vimos que a propriedade <span
style="color: #0000ff;">Text </span>dos controles representa o valor de texto que ele tem, como em <strong>Labels </strong>e <strong>Buttons</strong>. O controle <strong>TextBox </strong>cria uma caixa de texto comum, e com essa propriedade podemos definir e recuperar o valor que foi digitado nela.</p><p
align="justify"><a
href="http://www.guanabara.info/wp-content/uploads/2008/08/text.jpg"><img
class="alignleft" style="margin-left: 7px; margin-right: 7px;" title="text" src="http://www.guanabara.info/wp-content/uploads/2008/08/text.jpg" alt="" /></a></p><p
align="justify">Crie uma caixa de texto, com o nome txtValor. Depois crie um controle <strong>Button </strong>e dê o nome btnMostra.</p><p
align="justify">Agora vem a parte trabalhosa. Por meio de código, faça o evento <span
style="color: #0000ff;">Click </span>do botão fazer o seguinte: mostrar uma mensagem com a função <span
style="color: #0000ff;">MsgBox</span>() contendo o que foi escrito na caixa de texto.</p><p
align="justify">2 &#8211; Usando o mesmo exemplo acima, faça com que o botão só mostre a mensagem se houver algum conteúdo na caixa de texto. E, depois de mostrar a mensagem, o botão deve ser <em>desabilitado </em>e a caixa de texto deve ficar <em>invisível</em>.</p><p
align="justify">Exercite a mente! Enviem os códigos para <em>marcelo@guanabara.info</em>, com seu nome, idade e de onde é. No próximo post, vou publicar os nomes daqueles que acertaram, apontar os erros daqueles que errarem indicando a solução, mostrar outros códigos e tirar as dúvidas. Não deixem de comentar.  Comentários, elogios e críticas dão um gás na nossa disposição de escrever esses posts. Até a próxima.</p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/08/vb-parte-iv-windows-forms-applications/feed/</wfw:commentRss> <slash:comments>10</slash:comments> </item> <item><title>[VB] &#8211; Não teremos postagem amanhã</title><link>http://www.guanabara.info/2008/08/vb-nao-teremos-postagem-amanha/</link> <comments>http://www.guanabara.info/2008/08/vb-nao-teremos-postagem-amanha/#comments</comments> <pubDate>Wed, 13 Aug 2008 21:03:08 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Colunas]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[.NET]]></category> <category><![CDATA[Programação]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4201</guid> <description><![CDATA[Olá developers. Como vocês devem ter lido no título desse post, não teremos a costumeira postagem de Visual Basic de toda quinta-feira.Motivo: essa semana comecei minha faculdade, e a coisa está feia. Estou com 60% de mim cansado (e a semana está só na metade), 10% de mau humor e 30% com disposição de trabalhar. Como eu não estava conseguindo preparar o post do jeito que eu queria, resolvi deixar esse comunicado e quando tiver mais tempo, preparar a próxima postagem (que amanhã seria de estruturas de repetição).
Peço desculpas por não ter preparado o post dessa semana, mas deixem sugestões ou dúvidas nos comentários desse aviso. Mestre Guanabara, desculpe. Abraços a todos e até a próxima.
]]></description> <content:encoded><![CDATA[<p
align="justify">Olá developers. Como vocês devem ter lido no título desse post, não teremos a costumeira postagem de Visual Basic de toda quinta-feira.</p><p
align="center"><img
title="Não teremos postagem amanhã" src="http://www.guanabara.info/wp-content/uploads/2008/08/ops.jpg" alt="" /></p><p
align="justify"><em>Motivo</em>: essa semana comecei minha faculdade, e a coisa está feia. Estou com 60% de mim cansado (e a semana está só na metade), 10% de mau humor e 30% com disposição de trabalhar. Como eu não estava conseguindo preparar o post do jeito que eu queria, resolvi deixar esse comunicado e quando tiver mais tempo, preparar a próxima postagem (que amanhã seria de estruturas de repetição).</p><p
align="justify">Peço desculpas por não ter preparado o post dessa semana, mas deixem sugestões ou dúvidas nos comentários desse aviso. Mestre Guanabara, desculpe. Abraços a todos e até a próxima.</p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/08/vb-nao-teremos-postagem-amanha/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>[VB] Parte III &#8211; Estruturas Condicionais</title><link>http://www.guanabara.info/2008/08/vb-parte-iii-ifs-e-selects-case/</link> <comments>http://www.guanabara.info/2008/08/vb-parte-iii-ifs-e-selects-case/#comments</comments> <pubDate>Thu, 07 Aug 2008 11:30:06 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Aulas]]></category> <category><![CDATA[Colunas]]></category> <category><![CDATA[Geral]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[Curso]]></category> <category><![CDATA[Visual Basic]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=4024</guid> <description><![CDATA[
Olá amantes da tecnologia. Aqui é Marcelo Vieira, e hoje vamos ver as estruturas condicionais e operadores lógicos. Preparem-se porque vem bastante coisa.
&#8220;Continue lendo&#8230;&#8221; e vamos começar.Estruturas Condicionais &#8211; If
Podemos usar expressões lógicas ou variáveis do tipo Boolean para testar determinadas condições, através de seu valor de retorno True ou False. A estrutura usada para isso é o If, conforme o exemplo abaixo:A forma da condicional segue o tipo:
If &#60;condição&#62; Then
&#60;comandos para verdadeiro&#62;
Else
&#60;comandos para falso&#62;
End If
ou
If &#60;condição&#62; Then
&#60;comandos para primeira condição&#62;
ElseIf &#60;outra condição&#62; Then
&#60;comandos para segunda condição&#62;
Else
&#60;comandos para falso em todas as condições&#62;
End If
Na &#8220;estrutulha&#8221; da imagem acima, será impresso na tela a mensagem &#8220;É maior que 25&#8243;
Não somos obrigados a informar uma instrução Else. A estrutura pode ser montada somente com If&#8230;Then&#8230;End If.
Operadores Lógicos
Usados nos testes condicionais, são os seguintes:
And &#8211; retorna True se as duas condições forem verdadeiras e False se ambas forem falsas.
Or &#8211; retorna True se pelo menos uma das condições for verdadeira e False se as duas forem falsas.
Xor &#8211; retorna True se somente uma condição é verdadeira e False se as duas forem True ou False.
Not &#8211; retorna True se o valor da condição for False e False se o valor for True (&#8220;inverte&#8221; o sentido da verificação)
O Visual Basic, em comparações de duas expressões lógicas, faz os testes com as duas antes de definir o valor dela, se usamos o And ou o Or. Podemos fazer com que o compilador faça essa verificação de maneira diferente, usando os operadores AndAlso e OrElse. Com esses operadores, somente a primeira condição é testada, e caso ela seja falsa, nem se preocupa em testar a segunda.
AndAlso &#8211; similar ao And, mas se a primeira condição for falsa, ele não verificar a  outra.
OrElse &#8211; similar ao Or, mas se a primeira condição for verdadeira, ele não testa [...]]]></description> <content:encoded><![CDATA[<p
align="center"><img
style="vertical-align: middle;" src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg" alt="" width="490" height="127" /></p><p
align="justify"><span
style="color: #ff0000;">Olá amantes da tecnologia</span>. Aqui é <span
style="color: #0000ff;">Marcelo Vieira</span>, e hoje vamos ver as estruturas condicionais e operadores lógicos. Preparem-se porque vem bastante coisa.</p><p>&#8220;<em>Continue lendo&#8230;</em>&#8221; e vamos começar.</p><p><span
id="more-4024"></span></p><h3>Estruturas Condicionais &#8211; If</h3><p
align="justify">Podemos usar expressões lógicas ou variáveis do tipo Boolean para testar determinadas condições, através de seu valor de retorno <span
style="color: #0000ff;">True</span> ou <span
style="color: #0000ff;">False</span>. A estrutura usada para isso é o <span
style="color: #0000ff;">If</span>, conforme o exemplo abaixo:<br
/> <a
href="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot8.png"><img
class="aligncenter size-medium wp-image-4026" title="snapshot8" src="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot8.png" alt="" /></a></p><p
align="justify">A forma da condicional segue o tipo:</p><p
align="justify"><span
style="color: #0000ff;">If</span> <em>&lt;condição&gt;</em> <span
style="color: #0000ff;">Then</span><br
/> <em>&lt;comandos para verdadeiro&gt;</em><br
/> <span
style="color: #0000ff;">Else</span><br
/> <em>&lt;comandos para falso&gt;</em><br
/> <span
style="color: #0000ff;">End If</span></p><p
align="justify"><strong>ou</strong></p><p
align="justify"><span
style="color: #0000ff;">If</span> <em>&lt;condição&gt;</em> <span
style="color: #0000ff;">Then</span><br
/> <em>&lt;comandos para primeira condição&gt;</em><br
/> <span
style="color: #0000ff;">ElseIf <em><span
style="color: #000000;">&lt;outra condição&gt;</span></em> Then</span><br
/> <em>&lt;comandos para segunda condição&gt;</em><br
/> <span
style="color: #0000ff;">Else</span><br
/> <em>&lt;comandos para falso em todas as condições&gt;</em><br
/> <span
style="color: #0000ff;">End If</span></p><p
align="justify">Na &#8220;estrutulha&#8221; da imagem acima, será impresso na tela a mensagem &#8220;É maior que 25&#8243;</p><p
align="justify">Não somos obrigados a informar uma instrução <span
style="color: #0000ff;">Else</span>. A estrutura pode ser montada somente com <span
style="color: #0000ff;">If&#8230;Then&#8230;End If</span>.</p><h3>Operadores Lógicos</h3><p
align="justify">Usados nos testes condicionais, são os seguintes:</p><p
align="justify"><strong>And</strong> &#8211; retorna <em>True</em> se as duas condições forem verdadeiras e <em>False</em> se ambas forem falsas.<br
/> <strong>Or</strong> &#8211; retorna <em>True</em> se pelo menos uma das condições for verdadeira e <em>False</em> se as duas forem falsas.<br
/> <strong>Xor</strong> &#8211; retorna <em>True</em> se somente <em>uma</em> condição é verdadeira e <em>False</em> se as duas forem <em>True</em> ou <em>False</em>.<br
/> <strong>Not</strong> &#8211; retorna <em>True</em> se o valor da condição for <em>False</em> e <em>False</em> se o valor for <em>True</em> (&#8220;inverte&#8221; o sentido da verificação)</p><p
align="justify">O Visual Basic, em comparações de duas expressões lógicas, faz os testes com as duas antes de definir o valor dela, se usamos o <span
style="color: #0000ff;">And</span> ou o <span
style="color: #0000ff;">Or</span>. Podemos fazer com que o compilador faça essa verificação de maneira diferente, usando os operadores <span
style="color: #0000ff;">AndAlso</span> e <span
style="color: #0000ff;">OrElse</span>. Com esses operadores, somente a primeira condição é testada, e caso ela seja falsa, nem se preocupa em testar a segunda.</p><p
align="justify"><strong>AndAlso</strong> &#8211; similar ao <span
style="color: #0000ff;">And</span>, mas se a primeira condição for falsa, ele não verificar a  outra.<br
/> <strong>OrElse</strong> &#8211; similar ao <span
style="color: #0000ff;">Or</span>, mas se a primeira condição for verdadeira, ele não testa a outra.</p><p
align="justify">Vamos fazer um teste: digite um código similar ao que você vê abaixo:</p><p
align="justify"><a
href="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot91.png"><img
class="aligncenter size-medium wp-image-4031" title="snapshot91" src="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot91.png" alt="" /></a></p><p
align="justify">É um teste lógico bobo, mas que demonstra como funciona. A primeira condição é verdadeira e a segunda é falsa, mas há um problema com a segunda. Não podemos comparar uma string com um número, então isso gerará uma <em>exception</em> assim que você compilar e executar.</p><p
align="justify">Se você substituir o <span
style="color: #0000ff;">Or</span> por <span
style="color: #0000ff;">OrElse</span>, o código acima compilará. Isso porque o <span
style="color: #0000ff;">OrElse</span> testa só a primeira condição, e verificando que ela é verdadeira, não verifica a outra. O <span
style="color: #0000ff;">Or</span> faz a verificação das duas, logo ocorre a <em>exception</em>.</p><p
align="justify">Se estivermos fazendo comparações, temos os operadores:</p><p
align="justify"><span
style="color: #0000ff;"><strong>&lt;</strong></span> &#8211; menor<br
/> <span
style="color: #0000ff;"><strong>&gt;</strong></span> &#8211; maior<br
/> <span
style="color: #0000ff;"><strong>&lt;=</strong></span> &#8211; menor ou igual<br
/> <span
style="color: #0000ff;"><strong>&gt;=</strong></span> &#8211; maior ou igual<br
/> <span
style="color: #0000ff;">=</span> &#8211; igual<br
/> <span
style="color: #0000ff;"><strong>&lt;&gt;</strong></span> &#8211; diferente</p><h3>Outras formas de usar o If</h3><p>Podemos colocar um bloco de instruções entre o <span
style="color: #0000ff;">If</span> e a próxima instrução (<span
style="color: #0000ff;">Else</span>, <span
style="color: #0000ff;">ElseIf</span> ou <span
style="color: #0000ff;">End If</span>). Mas se tivermos um só comando a ser executado, ele pode ser colocado do lado do <span
style="color: #0000ff;">Then</span>. Essa regra vale também para o comando que segue o <span
style="color: #0000ff;">Else</span> e o <span
style="color: #0000ff;">ElseIf</span>. Assim:</p><p><span
style="color: #0000ff;">Dim</span> <span
style="color: #808080;">Numero</span> <span
style="color: #0000ff;">As Byte</span> = 5<br
/> <span
style="color: #0000ff;">If</span> <span
style="color: #808080;">(Numero &lt; 3)</span> <span
style="color: #0000ff;">Then</span> <span
style="color: #808080;">Console.WriteLine</span> (<span
style="color: #800000;">&#8220;É menor que três&#8221;</span>)<br
/> <span
style="color: #0000ff;">Else</span> <span
style="color: #808080;">Console.WriteLine</span>(<span
style="color: #800000;">&#8220;Não é menor que três&#8221;</span>)</p><p><span
style="color: #808080;"><br
/> </span>Existe também o If <em>inline</em>, que é um teste lógico feito em uma linha. O comando segue abaixo:</p><p><span
style="color: #0000ff;">IIf</span> (<em>&lt;condição&gt;</em>, <em>&lt;comando para verdadeiro&gt;</em>, <em>&lt;comando para falso&gt;</em>)</p><p>O <span
style="color: #0000ff;">IIf</span> pode ser usado quando temos apenas um comando para verdadeiro e um para falso.</p><h3>Estrutura Condicional &#8211; Select Case</h3><p
align="justify">Existe um outro tipo de estrutura condicional, o <span
style="color: #0000ff;">Select Case</span>&#8230; <span
style="color: #0000ff;">End Select</span>. Ela é útil quando temos um valor exato a comparar. É utilizado da seguinte maneira:</p><p
align="justify"><span
style="color: #0000ff;">Select</span> <span
style="color: #0000ff;">Case</span> <em>&lt;variável&gt;</em><br
/> <span
style="color: #0000ff;">Case</span> <em>&lt;valor 1&gt;</em><br
/> <em>&lt;comandos para valor1&gt;</em><br
/> <span
style="color: #0000ff;">Case</span> <em>&lt;valor 2&gt;</em><br
/> <em>&lt;comandos para valor 2&gt;</em><br
/> <span
style="color: #0000ff;">Case Else</span><br
/> <em>&lt;comandos para nenhum dos anteriores&gt;</em><br
/> <span
style="color: #0000ff;">End Select</span></p><p
align="justify">Veja um exemplo:</p><p
align="justify"><a
href="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot11.png"><img
class="aligncenter size-medium wp-image-4032" title="snapshot11" src="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot11.png" alt="" /></a></p><p
align="justify">No exemplo acima, usamos a instrução <span
style="color: #0000ff;">Select Case</span> para selecionar uma variável, e trabalhar com possíveis valores para ela. E cada um desses valores é acompanhado de uma instrução <span
style="color: #0000ff;">Case</span>. Testamos as condições de o valor ser igual a 1, 2 ou 3, e há uma instrução <span
style="color: #0000ff;">Case Else</span> que ocorre caso não seja nenhuma das anteriores.</p><p
align="justify">No próximo post, vamos ver as diferentes formas de fazer <em>loops</em> (laços de repetição). Aí, vamos praticar com a frase já conhecida &#8220;Luis é uma mula&#8221;. Qualquer dúvida, contato, crítica ou sugestão, e-mails para <em>marcelo@guanabara.info</em>. Abraços a todos e até mais.</p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/08/vb-parte-iii-ifs-e-selects-case/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> <item><title>[VB] Parte II &#8211; Variáveis</title><link>http://www.guanabara.info/2008/07/vb-parte-ii-variaveis/</link> <comments>http://www.guanabara.info/2008/07/vb-parte-ii-variaveis/#comments</comments> <pubDate>Thu, 31 Jul 2008 13:00:23 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Aulas]]></category> <category><![CDATA[Colunas]]></category> <category><![CDATA[Geral]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[.NET]]></category> <category><![CDATA[Programação]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=3953</guid> <description><![CDATA[Olá amantes da tecnologia e da programação! Sou Marcelo Vieira, e como prometido, estamos com mais uma postagem do curso de Visual Basic aqui no Guanabara.info.Hoje, vamos ver os tipos de variáveis do Framework, com ênfase no grupo de variáveis numéricas. Abra o Microsoft Visual Basic 2008 Express Edition, cria um novo projeto do tipo Console Application e clique em &#8220;Continue lendo&#8230;&#8221;. Espero que gostem.Tipos de VariáveisString &#8211; armazena cadeias de caracteres (letras);
Boolean &#8211; armazena valores lógicos (True ou False/ Verdadeiro ou Falso);
Char &#8211; armazena apenas um caractere;
Object (antigo Variant) &#8211; tipo indefinido, pode armazenar dados compatíveis com todos os outros tipos.
Tipos numéricos &#8211; armazenam valores numéricos, usados para realizar cálculos. O .NET Framework fornece diversos tipos numéricos, com capacidade de armazenamento variadas.
Existem tipos inteiros e os tipos de ponto flutuante (armazenam valores fracionários). Cada tipo inteiro tem uma variação signed (com sinal) e unsigned (sem sinal). Veja a lista abaixo:
Byte – inteiro de 8 bits, tem uma faixa de abrangência de 0 a 255.
SByte – inteiro de 8 bits, vai de -128 a 127.
UShort – inteiro de 16 bits, vai de 0 a 65535.
Short – inteiro de 16 bits, vai de -32768 a 32767.
UInteger – inteiro de 32 bits, vai de 0 a 4294967295.
Integer – inteiro de 32 bits, vai de –2147483648 a 2147483647
ULong – inteiro de 64 bits, vai de 0 até 18446744073709551615.
Long – inteiro de 64 bits, vai de –9223372036854775808 a 9223372036854775807.
Single – ponto flutuante de 32 bits, vai de -3,4 x 1038 até 3,4 x 1038 com 7 casas decimais de precisão.
Double – ponto flutuante de 64 bits, vai de -1,7 x 10308 até 1,7 x 10308 com 15 casas decimais de precisão.
Decimal (antigo Currency) – tipo especial de ponto flutuante com 128 bits, o menor valor é 1,0 x 10-28 e o maior valor é [...]]]></description> <content:encoded><![CDATA[<p><span
style="color: #ff0000;">Olá amantes da tecnologia e da programação!</span> Sou<span
style="color: #0000ff;"> Marcelo Vieira</span>, e como prometido, estamos com mais uma postagem do curso de <span
style="color: #000080;">Visual Basic</span> aqui no Guanabara.info.</p><p
align="center"><img
style="vertical-align: middle;" src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg" alt="" width="490" height="127" /></p><p
align="justify">Hoje, vamos ver os tipos de variáveis do Framework, com ênfase no grupo de variáveis numéricas. Abra o <em>Microsoft Visual Basic 2008 Express Edition</em>, cria um novo projeto do tipo <em>Console Application</em> e clique em &#8220;<em>Continue lendo</em>&#8230;&#8221;. Espero que gostem.</p><p><span
id="more-3953"></span></p><h2>Tipos de Variáveis</h2><p
align="justify"><p
align="justify"><strong>String</strong> &#8211; armazena cadeias de caracteres (letras);<br
/> <strong>B</strong><strong>oolean</strong> &#8211; armazena valores lógicos (<em>True</em> ou <em>False</em>/ Verdadeiro ou Falso);<br
/> <strong>Char</strong> &#8211; armazena apenas um caractere;<br
/> <strong>Object</strong> (antigo <em>Variant</em>) &#8211; tipo indefinido, pode armazenar dados compatíveis com todos os outros tipos.<br
/> <strong>Tipos numéricos</strong> &#8211; armazenam valores numéricos, usados para realizar cálculos. O .NET Framework fornece diversos tipos numéricos, com capacidade de armazenamento variadas.</p><p
align="justify">Existem tipos <em>inteiros</em> e os tipos de <em>ponto flutuante</em> (armazenam valores fracionários). Cada tipo inteiro tem uma variação <em>signed (com sinal)</em> e <em>unsigned (sem sinal)</em>. Veja a lista abaixo:</p><p><strong>Byte</strong> – inteiro de 8 bits, tem uma faixa de abrangência de 0 a 255.<br
/> <strong>SByte</strong> – inteiro de 8 bits, vai de -128 a 127.<br
/> <strong>UShort</strong> – inteiro de 16 bits, vai de 0 a 65535.<br
/> <strong>Short</strong> – inteiro de 16 bits, vai de -32768 a 32767.<br
/> <strong>UInteger</strong> – inteiro de 32 bits, vai de 0 a 4294967295.<br
/> <strong>Integer</strong> – inteiro de 32 bits, vai de –2147483648 a 2147483647<br
/> <strong>ULong</strong> – inteiro de 64 bits, vai de 0 até 18446744073709551615.<br
/> <strong>Long</strong> – inteiro de 64 bits, vai de –9223372036854775808 a 9223372036854775807.<br
/> <strong>Single</strong> – ponto flutuante de 32 bits, vai de -3,4 x 1038 até 3,4 x 1038 com 7 casas decimais de precisão.<br
/> <strong>Double</strong> – ponto flutuante de 64 bits, vai de -1,7 x 10308 até 1,7 x 10308 com 15 casas decimais de precisão.<br
/> <strong>Decimal</strong> (antigo <em>Currency</em>) – tipo especial de ponto flutuante com 128 bits, o menor valor é 1,0 x 10-28 e o maior valor é 1,0 x 1028, com 28 dígitos de precisão. Usado para cálculos monetários.</p><p
align="justify">Não entendeu a relação de <strong><em>número de bits</em></strong> com os tipos de variáveis? Lembre-se que a forma que as pessoas usam para contar números não é a mesma forma que os computares usam. Nós estamos acostumados a usar algarismos que vão de 0 a 9, mas o computador só conta em <strong><em>binário</em></strong> (zeros e uns, os bits).</p><p
align="justify">O número 255, por exemplo: para nós, ele aparece com um número decimal, mas o computador o enxerga como um <strong>binário (11111111)</strong>. Repare que são exatos <em>oito bits</em>, ou um <em>byte</em>, o maior valor aceito pelo tipo <strong>Byte</strong>. Se quisermos armazenar um número maior, como 256, vamos precisar de um bit a mais, logo o tipo <em>Byte</em> não pode receber esse valor.</p><p
align="justify">Lembrando que o Visual Basic não é <em>case-sensitive.</em></p><h3>- Operadores Aritméticos</h3><p>Podemos usar os seguintes operadores:<br
/> <strong><span
style="color: #0000ff;">+</span> (Adição)</strong><br
/> <strong><span
style="color: #0000ff;">-</span> (Subtração)</strong><br
/> <strong><span
style="color: #0000ff;">* </span>(Multiplicação)</strong><br
/> <strong><span
style="color: #0000ff;">/</span> (Divisão)</strong><br
/> <strong><span
style="color: #0000ff;">^</span> (Exponenciação)</strong><br
/> <span
style="color: #0000ff;"><span
style="color: #000000;"><strong><span
style="color: #0000ff;">Mod</span> (Resto da Divisão)</strong></span></span></p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot1.png"><img
class="aligncenter size-medium wp-image-4005" title="snapshot1" src="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot1.png" alt="" /></a></p><p
align="justify">No exemplo acima, teremos as variáveis declaradas com os valores 8, 4, 18 e 2, respectivamente.</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot3.png"><img
class="aligncenter size-medium wp-image-4008" title="snapshot3" src="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot3.png" alt="" /></a></p><p
align="justify">Acima, será impresso o valor 1 na tela (o resto da divisão de 5 por 2). Note que usamos a função <em>.ToString</em> para fazer uma conversão de um valor numérico para string, a fim de escrevê-lo com o método <em>Console.WriteLine</em>.</p><p
align="justify">Assim como na matemática, multiplicação e divisão têm prioridade de cálculo sobre as demais operações. Se quisermos interferir na ordem, podemos usar parêntestes:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot21.png"><img
class="aligncenter size-medium wp-image-4007" title="snapshot21" src="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot21.png" alt="" /></a></p><p
align="justify">No exemplo acima, será impresso na tela o valor 15.</p><p
align="justify">Aqui vai uma dica: imagine que desejamos atribuir a uma variável o seu valor atual somado a outro valor. É uma situação bem simples.</p><p
align="justify">Mas saiba que existe uma forma “abreviada” de fazer isso. Podemos nos livrar do incômodo de ter que repetir o nome da variável se usarmos o operador += , dessa forma:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot4.png"><img
class="aligncenter size-medium wp-image-4009" title="snapshot4" src="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot4.png" alt="" /></a></p><p
align="justify">De acordo com o código acima, será escrito na tela o valor 11. A variável receberá o valor que ela já tinha mais 5.</p><p
align="justify">Essa mesma notação vale para os outros operadores. Temos então outros operadores que seguem a mesma lógica, que são<strong> -=</strong>,<strong> *=</strong>,<strong> /= </strong>e<strong> ^=</strong>.</p><h3>- Strings</h3><p
align="justify">Variáveis do tipo string recebem os seus valores informados entre aspas duplas:</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot5.png"><img
class="aligncenter size-medium wp-image-4010" title="snapshot5" src="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot5.png" alt="" /></a></p><p
align="justify">Para concatenar (juntar) duas ou mais strings, usamos o operador <strong>&amp;</strong> <em>(E comercial)</em>.</p><h3>- Valores lógicos</h3><p
align="justify">Variáveis do tipo Boolean armazenam somente dois valores: <em>True</em> (verdadeiro) ou <em>False</em> (falso). Podemos usar essas variáveis para testar condições.</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot7.png"><img
class="aligncenter size-medium wp-image-4012" title="snapshot7" src="http://www.guanabara.info/wp-content/uploads/2008/07/snapshot7.png" alt="" /></a></p><p>Por enquanto é só isso pessoal. No próximo artigo, vamos usar valores lógicos em estruturas condicionais, e algumas funções muito úteis, entre elas para conversões entre tipos diferentes de variáveis além da função <em>ToString</em>. Como a lista de funções é grande, talvez tenhamos uma postagem antes da próxima quinta-feira. Dúvidas, sugestões, críticas e contato, mandem e-mails para <em>marcelo@guanabara.info</em>. Até lá <img
src='http://www.guanabara.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> .</p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/07/vb-parte-ii-variaveis/feed/</wfw:commentRss> <slash:comments>24</slash:comments> </item> <item><title>[VB] Olá, Mundo!</title><link>http://www.guanabara.info/2008/07/vb-ola-mundo/</link> <comments>http://www.guanabara.info/2008/07/vb-ola-mundo/#comments</comments> <pubDate>Thu, 24 Jul 2008 15:07:21 +0000</pubDate> <dc:creator>Marcelo Vieira</dc:creator> <category><![CDATA[Aprenda]]></category> <category><![CDATA[Aulas]]></category> <category><![CDATA[Colunas]]></category> <category><![CDATA[VB]]></category> <category><![CDATA[.NET]]></category> <category><![CDATA[Programação]]></category> <category><![CDATA[Visual Basic]]></category><guid
isPermaLink="false">http://www.guanabara.info/?p=3276</guid> <description><![CDATA[
Olá amantes da tecnologia. Aqui é Marcelo Vieira, e hoje começamos com mais uma iniciativa diretamente ligada à programação, aqui no Guanabara.INFO: a primeira de muitas postagens (se vocês visitantes assíduos gostarem, é claro) sobre mais uma linguagem .NET: O Visual Basic.Se você é novo na área e deseja aprender programação, recomendo que ouça antes os seguintes podcasts:
- Episódio 19 &#8211; Construindo Algoritmos (Parte I)
- Episódio 21 &#8211; Construindo Algoritmos (Parte II)
- Episódio 25 &#8211; Construindo Algoritmos (Parte III)
- Episódio 29 &#8211; Construindo Algoritmos (Parte IV)
Recomendo também que leia o post [C#]: Olá Mundo , publicado por Renan e Luiz, que além de ensinarem a linguagem C#, explicam como funciona a integração da linguagem com o .NET Framework.
Espero que todos gostem desta primeira postagem, pratiquem e anseiem pelas próximas, e farei o possível para seguir o nível de qualidade que temos no site. Se você gosta de programar e quer aprender VB, não deixe de nos visitar, e clique em &#8220;Continue Lendo&#8230;&#8221; &#8211; vamos começar.A Evolução do Visual Basic
Vamos começar com um resumo da história da linguagem:
No início da década de 60, foi criada uma linguagem chamada BASIC (Beginners All-Purpose Symbolic Instruction Code) com o propósito de facilitar o ensino dos conceitos lógicos de programação naquela época. Só que mesmo depois de introduzida pela Microsoft, ainda era uma linguagem muito simples, indicada apenas para prática de principiantes.
O aperfeiçoamento do BASIC, que incluía uma interface gráfica de desenvolvimento, foi conhecido como “Visual Basic”. A versão mais atual da linguagem é a versão 9, e até o momento algumas variações surgiram:
- VBScript: usada por padrão em Active Server Pages (ASP) e em desenvolvimento de scripts para ambiente Windows;
- VBA: usada para a criação de módulos com integração aos componentes da família Microsoft Office.
Antes da integração da linguagem com a plataforma .NET, a [...]]]></description> <content:encoded><![CDATA[<p
style="text-align: center;" align="justify"><a
href="http://www.guanabara.info/?cat=643"><img
class="alignnone size-medium wp-image-3911 aligncenter" title="Curso de VB - by Marcelo Vieira" src="http://www.guanabara.info/wp-content/uploads/2008/07/cursovb.jpg" alt="" /></a></p><p
align="justify"><span
style="color: #ff0000;"><strong>Olá amantes da tecnologia</strong></span>. Aqui é <em><span
style="color: #000080;">Marcelo Vieira</span></em>, e hoje começamos com mais uma iniciativa diretamente ligada à programação, aqui no Guanabara.INFO: a primeira de muitas postagens (se vocês visitantes assíduos gostarem, é claro) sobre mais uma linguagem .NET: <strong><span
style="color: #ff0000;">O Visual Basic</span></strong>.</p><p
align="center"><a
href="http://www.guanabara.info/wp-content/uploads/2008/07/visual2bbasic.jpg"><img
title="Visual Basic" src="http://www.guanabara.info/wp-content/uploads/2008/07/visual2bbasic.jpg" alt="" width="335" height="53" /></a></p><p
align="justify">Se você é novo na área e deseja aprender programação, recomendo que ouça antes os seguintes podcasts:</p><p><strong>- <a
href="http://www.guanabara.info/?p=1922">Episódio 19 &#8211; Construindo Algoritmos (Parte I)</a><br
/> - <a
href="http://www.guanabara.info/?p=2299">Episódio 21 &#8211; Construindo Algoritmos (Parte II)</a></strong><br
/> <strong><a
href="http://www.guanabara.info/?p=2852">- Episódio 25 &#8211; Construindo Algoritmos (Parte III)</a></strong><br
/> <a
href="http://www.guanabara.info/?p=3393"><strong>- Episódio 29 &#8211; Construindo Algoritmos (Parte IV)</strong></a></p><p
align="justify">Recomendo também que leia o post <a
href="http://www.guanabara.info/?p=2757#more-2757">[C#]: Olá Mundo</a> , publicado por Renan e Luiz, que além de ensinarem a linguagem C#, explicam como funciona a integração da linguagem com o <strong>.NET Framework</strong>.</p><p
align="justify">Espero que todos gostem desta primeira postagem, pratiquem e anseiem pelas próximas, e farei o possível para seguir o nível de qualidade que temos no site. Se você gosta de programar e quer aprender VB, não deixe de nos visitar, e clique em <em>&#8220;Continue Lendo&#8230;</em>&#8221; &#8211; vamos começar.</p><p><span
id="more-3276"></span></p><h2>A Evolução do Visual Basic</h2><p
align="justify">Vamos começar com um resumo da história da linguagem:</p><p
align="justify">No início da década de 60, foi criada uma linguagem chamada BASIC (Beginners All-Purpose Symbolic Instruction Code) com o propósito de facilitar o ensino dos conceitos lógicos de programação naquela época. Só que mesmo depois de introduzida pela Microsoft, ainda era uma linguagem muito simples, indicada apenas para prática de principiantes.</p><p
align="justify">O aperfeiçoamento do BASIC, que incluía uma interface gráfica de desenvolvimento, foi conhecido como “Visual Basic”. A versão mais atual da linguagem é a versão 9, e até o momento algumas variações surgiram:</p><p
align="justify">- <em>VBScript:</em> usada por padrão em Active Server Pages (ASP) e em desenvolvimento de scripts para ambiente Windows;</p><p
align="justify">- <em>VBA:</em> usada para a criação de módulos com integração aos componentes da família Microsoft Office.</p><p
align="justify">Antes da integração da linguagem com a plataforma .NET, a versão 6 era a mais utilizada. Os códigos eram desenvolvidos seguindo uma base de orientação a eventos (event driver).<br
/> Quando a linguagem foi integrada ao Framework, os recursos que uma boa linguagem orientada a objetos deve ter foram implementados, sempre tendo a preocupação de manter a sintaxe com a intenção de que quem estivesse familiarizado com as versões anteriores não tivesse problemas para se adaptar. Foi rebatizada de VB.NET.</p><h2>A Linguagem</h2><p>- Não é case sensitive, ou seja, variáveis com os nomes “Info”, &#8220;info” e “iNfO” seriam consideradas iguais;<br
/> - O caracter terminador de linha de comando é a quebra de linha, não precisamos colocar ponto-e-vírgula;<br
/> - É uma linguagem simples. Como o C# oferece um controle maior das ações, pode ser um pouco complicado para quem é iniciante.<br
/> - É totalmente orientada a objetos;<br
/> - Possui um grande número de palavras reservadas, a maioria com nomes intuitivos.<br
/> - Como diria o Rafael, as “estrutulhas”, como funções, condicionais e de repetição, são delimitadas por palavras reservadas (e não por chaves, como no C#). Por exemplo, uma &#8220;estrutulha&#8221; condicional <span
style="color: #0000ff;">If</span> termina com um <span
style="color: #0000ff;">End If</span>.<br
/> - Blocos de Comandos: existem as <em>Subs</em> (procedimentos, não têm valor de retorno) e as <em>Functions</em> (sempre retornam um valor). Os dois tipos aceitam passagem de parâmetros.<br
/> - Pode ser usada para o desenvolvimento de aplicações para a Web com <strong>ASP.NET</strong>, assim como o C#.</p><p
align="justify"><strong>OBS:</strong> Para quem leu o post sobre C#, percebeu que a sintaxe do VB tem muitas diferenças. Não se preocupe quanto a isso agora: a sintaxe do VB é simples e direta, e o Visual Studio ajuda muito nos momentos de &#8220;branco&#8221; dos comandos com seu <em>IntelliSense.</em></p><p><strong><span
style="color: #808080;">- Declaração de variáveis</span></strong></p><p><strong></strong>Para declararmos uma variável, usamos o comando:</p><p
style="margin-bottom: 0cm; widows: 2; orphans: 2; padding-left: 30px;" lang="pt-BR"><span
style="color: #0000ff;">Dim</span> &lt;<em>variável</em>&gt; <span
style="color: #0000ff;">As</span> <em>&lt;tipo&gt;</em></p><p>Exemplos:</p><p
style="padding-left: 30px;"><span
style="color: #0000ff;">Dim</span> contador <span
style="color: #0000ff;">As</span> <span
style="color: #0000ff;">Integer</span> <span
style="color: #339966;">&#8216;variável “contador” do tipo inteiro</span><br
/> <span
style="color: #0000ff;">Dim</span> nome, sobnome <span
style="color: #0000ff;">As String</span> <span
style="color: #339966;">&#8216;duas variáveis do tipo String (caracter)</span></p><p>Uma variável pode receber um valor no momento de sua declaração:</p><p
style="margin-bottom: 0cm; widows: 2; orphans: 2; padding-left: 30px;" lang="pt-BR"><span
style="color: #0000ff;">Dim</span> Nome <span
style="color: #0000ff;">As</span> <span
style="color: #0000ff;">String</span> = “Gustavo Guanabara”</p><p>Observe que o operador “=” é o operador de atribuição. No exemplo acima, declaramos a variável <em>Nome</em>, automaticamente atribuindo o valor <em>&#8220;Gustavo Guanabara&#8221;</em> à mesma.</p><p><span
style="color: #808080;"><strong>- Comentários</strong></span></p><p
align="justify">Um comentário é uma instrução que não é executada. Serve para descrever trechos de código ou a função de uma variável, por exemplo. Podem ser feitos iniciando a linha com uma aspa simples ou a palavra REM (herdada da época do BASIC):</p><p><span
style="color: #339966;">‘Só estou comentando</span><br
/> <span
style="color: #339966;">REM Mais um comentário</span></p><h3>A maldição do Olá Mundo</h3><p
align="justify">Para desenvolvermos em Visual Basic.NET, você precisará dos seguintes itens, que podem ser baixados gratuitamente:</p><p>- <a
href="http://www.microsoft.com/express/download/"><strong>Microsoft Visual Studio 2008 Express Edition</strong></a><br
/> - <strong><a
href="http://www.microsoft.com/downloads/details.aspx?FamilyId=333325FD-AE52-4E35-B531-508D977D32A6&amp;displaylang=en">Microsoft .NET Framework 3.5</a></strong></p><p
align="justify">Como alguns já devem saber, existe uma maldição comprovada de que o primeiro programa a ser feito com uma linguagem nova é o “Olá Mundo”. Então, faremos esse para ficarmos livres!</p><p
align="justify">Abra o Visual Studio e crie um novo Projeto, do tipo <strong>Console Application</strong>. Uma Console Application é uma aplicação que roda em ambiente de linha de comando, sem interface gráfica.</p><p><span
style="color: #808080;"><strong>- O método Main ()</strong></span></p><p
align="justify">O método <em>Main()</em>, entre as linhas <span
style="color: #0000ff;">Sub Main() </span>e <span
style="color: #0000ff;">End Sub</span>, define o bloco de comandos principal da aplicação.</p><p>Para o nosso &#8220;Olá Mundo&#8221;, digite o código que você vê abaixo entre as linhas do método <em>Main()</em>:</p><p
align="center"><img
style="vertical-align: middle;" src="http://www.guanabara.info/wp-content/uploads/2008/06/vb_olamundo.jpg" alt="Olá Mundo em VB.NET" width="312" height="197" /></p><p
align="justify">A classe <em>System.</em><em>Console</em> nos permite interagir com o ambiente onde a aplicação é executada. Os métodos/ funções abaixo são os mais utilizados:</p><p><strong>- Console.WriteLine()</strong> – procedimento que escreve uma mensagem na tela e quebra a linha. Se não for informado um parâmetro, será escrita uma linha em branco</p><p><strong>- Console.ReadLine()</strong> – função que guarda informações digitadas pelo usuário na tela do Console. Aguarda o pressionamento da tecla ENTER para continuar a execução.</p><p><strong>- Console.ReadKey()</strong> – função que recebe o valor de apenas uma tecla pressionada pelo usuário.</p><p><strong>- Console.Clear()</strong> &#8211; procedimento que efetua a limpeza da tela.</p><p>Após digitar o código, pressione a tecla F5 para compilar e executar a aplicação, e veja o resultado na tela:</p><p
align="center"><img
src="http://www.guanabara.info/wp-content/uploads/2008/06/vb_olamundo_running.jpg" alt="Livres da Maldição!" width="334" height="202" /></p><p
align="justify">Devido à instrução<em> Console.ReadLine()</em>, o programa aguardará o pressionamento da tecla ENTER pra continuar.</p><p
align="justify">Bom, por hoje é só isso. Espero que tenham gostado. Agora vocês podem criar programas que escrevam &#8220;Renan, não olhe pra luz!!&#8221;. Qualquer elogio, dúvida, crítica ou sugestão, podem mandar mensagens para <em>marcelo@guanabara.info</em> ou comentarem. O próximo post deverá sair na próxima quinta-feira. Até lá <img
src='http://www.guanabara.info/wp-includes/images/smilies/icon_biggrin.gif' alt=':-D' class='wp-smiley' /> .</p> ]]></content:encoded> <wfw:commentRss>http://www.guanabara.info/2008/07/vb-ola-mundo/feed/</wfw:commentRss> <slash:comments>29</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)

Served from: www.guanabara.info @ 2012-02-12 15:53:37 -->
