Tudo sobre Visual Basic

Tudo sobre Visual Basic

(Parte 3 de 7)

Para exemplificar o uso das TextBoxes, vamos elaborar o projeto de uma calculadora simples: 1.Inicie um novo projeto;

2. Dimensione o formulário e insira os controles necessários de modo a ficar parecido com o modelo da próxima página;

Microsoft Visual Basic 619

3.Altere as propriedades dos objetos:

ObjetoNomeOutras Propriedades = Valor

Formulário frmCalculadora Caption = Calculadora

BorderStyle = 1 – Fixed Single StartUpPosition = 2 – Center Screen

Caixa de TextotxtNum1Text = “” (em branco)

MaxLenght = 10

Caixa de TextotxtNum2Text = “”

MaxLenght = 10

Caixa de TextotxtResultadoText = “” LabellblMultiplicaçãoCaption = X (maiúsculo)

Font = Arial, Negrito, tamanho 16

Botão de ComandocmdIgualStyle = 1 – Graphical

Picture = Misc\MISC22.ICO Botão de ComandocmdLimparCaption = &Limpar

Nesse projeto, digitaremos um número em txtNum1 e outro em txtNum2. Quando clicarmos em cmdIgual, o resultado da multiplicação aparecerá em txtResultado. Para limpar as caixas de texto, clicaremos em cmd- Limpar. O projeto irá trabalhar, portanto, basicamente com dois eventos:

Click em cmdIgual (=) Click em cmdLimpar (Limpar)

Não se preocupe com o cálculo agora, pois voltaremos a esse assunto na próxima lição. Vamos então escrever a codificação do nosso programa:

1.Dê um duplo click no botão cmdIgual e entre com o seguinte código:

Private Sub cmdIgual_Click() vValor1 = Val(txtNum1.Text) vValor2 = Val(txtNum2.Text) txtResultado.Text = vValor1 * vValor2 End Sub

2.Alterne para a procedure cmdLimpar_Click e digite os comandos a seguir:

Private Sub cmdLimpar_Click() txtResultado.Text = Empty txtNum1.Text = Empty txtNum2.Text = Empty End Sub

3. Execute o projeto. Para testar, entre com um número qualquer em txtNum1, outro em txtNum2, dê um click no botão “=”, e o resultado da multiplicação aparecerá em txtResultado;

4.Grave o formulário como frmCalc e o projeto como Calc.

Obs.: você deve ter percebido que na codificação foram usados alguns recursos novos: por enquanto, o que nos interessa é que “vValor1” e “vValor2” são variáveis, e “Val” é uma função de conversão.

Saída de Dados

Você já usou na lição anterior um dos principais meios de exibição de dados do VB: o controle Label. Ele tem, nesse caso, uma vantagem muito grande sobre as caixas de texto, fácil de perceber: execute novamente

Microsoft Visual Basic 620 o programa Calc, faça um cálculo qualquer e clique com o mouse sobre a caixa de texto txtResultado. Agora escreva alguma coisa: a digitação é aceita, o que, convenhamos, não é lá muito recomendável para a exibição de dados. Já um label não permite digitação, resolvendo esse problema. Vamos então alterar nosso programa:

1.Apague do formulário a caixa txtResultado;

2.Inclua um label em seu lugar, e altere suas propriedades para:

Name = lblResultado Caption = “” (em branco) Alignment = 2 – Center BorderStyle = 0 – None BackStyle = 1 – Opaque BackColor = (clique nas reticências e escolha a cor branca)

3.Altere a última linha da procedure cmdIgual_Click para: lblResultado.Caption = vValor1 * vValor2

4.Altere a primeira linha da procedure cmdLimpar_Click para: lblResultado.Caption = Empty

5. Execute o programa, faça um cálculo qualquer e tente alterar o resultado: como o label não permite digitação, isso não é mais possível.

Saída Formatada

É muito comum a necessidade de se aplicar máscaras para a exibição dos dados. Isso fica claro quando, em nossa calculadora, um cálculo resulta em um valor alto, pois não existem separadores de milhar ou decimal. O VB possui algumas funções específicas para a formatação de dados de saída:

Função Format

A função Format é usada na aplicação de máscaras em dados numéricos ou datas. Sua sintaxe é a seguinte: Format(<expressão>,<formato>)

Onde Expressão é o dado a ser formatado e Formato é a máscara que será aplicada a ele, e o resultado será uma string correspondente à expressão formatada com a máscara. Veja alguns exemplos:

Em “formato” o número 0 será mostrado ou trocado pelo caractere em sua posição, já o sustenido (#) não será mostrado. Podemos usar símbolos na máscara, como no exemplo: $ , % e E (que representa exponenciação). Note que a separação de milhares e decimais na máscara deve ser feita no padrão americano, ou seja, “,” para separação de milhares e “.” para decimais, mas o resultado vai seguir as configurações feitas na opção Internacional do Painel de Controle do Windows. Format também pode ser usada para formatação de data e hora:

Microsoft Visual Basic 621

Funções UCase e LCase Essas funções são usadas na conversão de textos em letras maiúsculas (UCase) ou minúsculas (LCase).

Função StrConv

A função StrConv também é usada na formatação de strings, mas é mais flexível que UCase e LCase, pois recebe um parâmetro que indica como deve ser feita a conversão de maiúsculas para minúsculas e viceversa. Esse parâmetro pode ser:

1 – vbUpperCase: converte a string em caracteres maiúsculos. O mesmo que UCase; 2 – vbLowerCase: converte a string em caracteres minúsculos. O mesmo que LCase;

3 – vbProperCase: converte em letra maiúscula a primeira letra de cada palavra na seqüência de caracteres, e as demais em minúsculas.

Por exemplo:

Função Exibição

UCase(“MICROSOFT Visual basic”) ou

StrConv(“MICROSOFT Visual basic”, vbUpperCase) MICROSOFT VISUAL BASIC

LCase(“MICROSOFT Visual basic”) ou

StrConv(“MICROSOFT Visual basic”, vbLowerCase) microsoft visual basic

StrConv(“MICROSOFT Visual basic”, vbProperCase)Microsoft Visual Basic

Vamos alterar a exibição do resultado na calculadora: 1.Abra a janela Código no evento Click do botão cmdIgual;

2.Altere a última linha da procedure como segue: lblResultado.Caption = Format(vValor1 * vValor2, “###,##0.0”)

3.Execute o programa e teste a alteração; 4.Grave seu trabalho. Guarde-o com cuidado, pois esse projeto será usado novamente na próxima lição.

Microsoft Visual Basic 622

Lição 3: Fundamentos da Linguagem

Como já foi dito anteriormente, a programação em VB é feita através de uma versão da linguagem Basic estruturada. É essa linguagem que começaremos a estudar a partir de agora. Nessa lição, veremos a criação e o uso de variáveis e constantes, e a razão da existência dos computadores: cálculos. Estudaremos também um conceito muito importante em programação visual: o foco.

Variáveis

Variável é uma área da memória que identificamos com um nome e onde podem ser guardados dados com possibilidade de alteração em tempo de execução. O nome de uma variável pode ter até 255 caracteres, deve começar com uma letra e tem que ser único. O nome pode conter números e sublinhados, e não pode ser uma palavra reservada. Nesse texto adotaremos como padrão iniciar todos os nomes de variáveis com a letra “v”. Por exemplo: para uma variável que identifica uma quantidade poderemos adotar o nome vQuantidade.

Existem vários tipos de variáveis, dependendo do dado que queremos que ela armazene:

TipoTamanho (Bytes)SufixoFaixa de Dados

Currency 8 @ -922.337.203.685.477,5808 a 922.337.203.685.477,5807 String variável $ Qualquer dado alfanumérico Variant variável nenhum Qualquer tipo de dado: será assumido o tipo e tamanho mais apropriado ao dado a ela atribuído

A coluna Sufixo contém caracteres que servem para indicar o tipo da variável desejada, quando a usamos pela primeira vez. Por exemplo: para iniciar uma variável de nome vTroco e declará-la como sendo do tipo Currency, poderemos usar a linha de comando:

vTroco@ = 0

Uma observação: internamente, o tipo Date é um número do tipo Long que representa uma data, sendo que a parte inteira desse número indica a data propriamente dita, e a parte decimal a hora.

Declaração de Variáveis

Declarar uma variável é indicar ao VB que deve ser reservada uma área na memória para o armazenamento de um dado, e de que tipo será esse dado. Existem três maneiras de declarar variáveis:

1. Inicializar a variável onde ela for necessária. Como o VB não obriga a declaração de variáveis, podemos simplesmente atribuir um valor a ela e a variável assumirá o tipo mais adequado para o dado que está sendo armazenado: é o que chamamos de declaração implícita;

2. Usar o mesmo método acima, porém indicando o tipo da variável através dos sufixos, na primeira vez em que a utilizarmos;

3. Usar os comandos Dim, Static, Private ou Public para alocar o espaço na memória para a variável e indicar seu tipo. A sintaxe é a mesma para todos os comandos:

<comando> Variável1, Variável2, Variável3,, VariávelN As <tipo>

Também podemos obrigar a declaração de todas as variáveis de uma aplicação, o que é muito interessante, pois declarar variáveis é uma prática de programação altamente recomendável. Para isso usamos o comando Option Explicit na seção Declarations do formulário ou módulo de programação.

Microsoft Visual Basic 623

Escopo das Variáveis

Escopo são os pontos da aplicação de onde podemos acessar a variável. O escopo de uma variável é determinado pelo comando usado em sua declaração (Dim, Static, Private ou Public):

Variáveis Locais: são reconhecidas apenas pela procedure na qual foram declaradas. Diferentes procedures podem ter variáveis locais com o mesmo nome sem que isso cause conflitos, pois quando uma procedure é encerrada o conteúdo de suas variáveis locais será perdido. A declaração de variáveis locais é feita com os comandos Dim ou Private. Importante: variáveis com declaração implícita serão sempre locais;

Variáveis Estáticas: são variáveis locais cujo conteúdo será retido ao término da procedure. Nesse caso, quando a procedure que contém uma variável estática for executada novamente, a variável não será reinicializada e seu conteúdo será o mesmo que ela continha quando a procedure foi encerrada da última vez. Para declarar uma variável como estática usa-se o comando Static;

Variáveis Privadas: compartilham informações entre todas as procedures em um módulo de programação ou formulário, mas não para outros módulos ou formulários. A declaração de variáveis privadas é feita com os comandos Dim ou Private na seção Declarations de um formulário ou módulo de programação;

Variáveis Públicas: estão disponíveis para todos os módulos de programação e formulários do aplicativo. Para a declaração de variáveis públicas usamos o comando Public.

Obs.: por uma questão de compatibilidade com versões anteriores do VB, também pode ser usado o comando Global para declaração de variáveis públicas.

Inicialização de Variáveis

De modo geral, para inicializar uma variável basta atribuir um conteúdo a ela. Obviamente, esse conteúdo deve ser compatível com o tipo usado na declaração da variável.

Para dados numéricos basta indicar o valor desejado: vSalárioBase = 1200

Valores reais devem usar o ponto para separação da parte decimal, jamais a vírgula, mesmo que a configuração do Painel de Controle do Windows indique o contrário:

Dados tipo String devem vir entre aspas: vNomeEscola = “CEMEP”

Dados tipo Date são identificados pelo caracter “#” (sustenido) no seu início e fim. Por exemplo: para armazenar a data 15/07/1998 em uma variável, podemos usar o comando:

Constantes

Constantes também são posições de memória que têm as mesmas características das variáveis e podem ser dos mesmos tipos, mas, como o próprio nome indica, não podem ter seu valor alterado durante a execução do programa. São úteis para guardar parâmetros e valores que serão usados em várias procedures do sistema, pois com elas podemos centralizar a atribuição desses valores em alguns poucos locais, o que facilita muito a programação. Por exemplo: quando um cliente compra um sistema, obviamente pretende que o nome de sua empresa apareça nos relatórios emitidos por ele. Se você incluir o nome da empresa em cada programa de relatório, e depois vender esse sistema para outro cliente, terá que rastreá-lo todo a procura dessas ocorrências e fazer as alterações necessárias. Mas, se você definir uma constante pública no início do sistema contendo o nome da empresa, só terá que fazer uma alteração. Constantes só podem ser declaradas com os comandos Public (constantes públicas) ou Private (constantes privadas ou locais). A sintaxe usada na sua criação é:

<escopo> Const NomeDaConstante As <tipo> = <valor>

Por exemplo: Public Const Pi As Single = 3.1415926535

Microsoft Visual Basic 624

Constantes de Sistema

O VB possui diversas constantes pré-definidas, chamadas de Constantes de Sistema, que podem ser usadas a qualquer momento pelo programador. A principal vantagem de seu uso é a clareza da codificação e a conseqüente facilidade de manutenção. Um bom exemplo do uso desse tipo de constante é o de uma aplicação que trate com dias da semana. Se a comparação do número do dia da semana de uma data com 1 for verdadeira, saberemos que esse dia é um domingo, pois o VB identifica um domingo pelo valor 1. Existe uma constante de sistema, de nome vbSunday, cujo valor é 1, que foi criada justamente para ser usada em casos como esse: ao invés do programador comparar o dia da semana com 1 e ter que se lembrar a toda hora que 1 é domingo, pode comparar com vbSunday, e seu código ficará muito mais legível. A lista completa das constantes de dias da semana é a seguinte:

ConstanteValorDia da semana vbSunday 1 Domingo vbMonday 2 Segunda vbTuesday 3 Terça vbWednesday 4 Quarta vbThursday 5 Quinta vbFriday 6 Sexta vbSaturday 7 Sábado

Um observação importante é que uma constante de sistema é facilmente identificável, pois seu nome geralmente começa com “vb” – repare na tabela acima. Você também já viu algumas delas na lição anterior, quando estudamos a função StrConv: os valores vbUpperCase, vbLowerCase e vbProperCase são constantes de sistema cujos valores são, respectivamente, 1, 2 e 3. Estudaremos mais algumas delas durante o curso.

Funções de Conversão

Como já vimos anteriormente, a entrada de dados é feita pelas caixas de texto, obrigando o uso de conversores quando houver necessidade do dado ser numérico ou data. Os conversores são funções que recebem dados de um tipo e os convertem em outro. Cada tipo de conversão tem uma função correspondente. Por exemplo: não podemos usar um conversor de string para Byte se sabemos que o texto representa um valor maior que 255, pois esse é o valor limite do tipo Byte: o tamanho do dado não será suportado na conversão.

A tabela a seguir mostra as funções para conversão de dados tipo String em numéricos. Considere que a variá-vel vPi contém um texto correspondente ao valor de (“3.1415926535”):

Função/SintaxeExemploTipo ResultanteResultado da conversão

Observação: as funções Val e CLng diferem-se na conversão de um dado não numérico: Val é a única função que consegue tratar um dado String que não represente um valor. Nesse caso, ela retornará zero. As outras funções, inclusive CLng, geram um erro de execução se forem usadas para esse tipo de conversão.

A conversão de um dado tipo String em uma data é feita pela função CDate. Essa função também gera um erro de execução se o texto a ser convertido não representar uma data válida. Veja sua sintaxe e um exemplo de utilização:

' Define a data: vDia = "12/02/1969" ' Converte vDia para vDataNasc, do tipo Date. vDataNasc = CDate(vDia)

Obs.: as linhas iniciadas com o apóstrofo (') são comentários.

Microsoft Visual Basic 625

O VB também possui uma função para conversão de expressões numérica ou data em dados tipo String: é a função Str, cuja sintaxe é:

(Parte 3 de 7)

Comentários