View
222
Download
0
Category
Preview:
Citation preview
COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES”
CTI - UNIVAP
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Sumário
1º Bimestre:
1 - Conceitos Iniciais ................................................................ 3 2 - IDE ................................................................ 3 3 - Conhecendo as janelas do IDE ................................................................ 6
3.1 - Janela de Toolbox ................................................................ 6 3.2 - Janela Solution Explorer ................................................................ 8 3.3 - Janela Properties ................................................................ 11 3.4 - Janela Task List/Error List ................................................................ 14 3.5 - Janela do Form Designer ................................................................ 15
4 - Barra de Ferramentas VB.Net ................................................................ 15 5 - Variáveis ................................................................ 17
5.1 - Variáveis Locais e Globais ................................................................ 20 5.2 - Variáveis Globais do Projeto ................................................................ 21
6 - Operadores Aritméticos ................................................................ 23 7- Comando/Função MSGBOX ................................................................ 23 8 - Objeto TextBox ................................................................ 27 9 - Objeto Label ................................................................ 28 10 - Objeto Button ................................................................ 29 11 - Programando com propriedades ................................................................ 31 12 - O PROJETO SOMA ................................................................ 32 13 - Adicionando formulário no Projeto ................................................................ 34 14 - Métodos Show(), Hide() e Close() ................................................................ 36 15 - Operadores Lógicos e Relacionais ................................................................ 38 16 - Controles de fluxo: If / Select Case ................................................................ 39 2º Bimestre: 17 – Estruturas de Repetições: For / While / Repeat............................................. 45 18 - Objeto Timer ................................................................ 50 19 - O PROJETO RELÓGIO ................................................................ 51 20 - Objetos ListBox / ComboBox ................................................................ 53 21 - Objeto CheckBox ................................................................ 62 22 - Objeto RadioButton ................................................................ 65 23 - Objeto GroupBox ................................................................ 68 24 - Objeto PictureBox ................................................................ 70 25 - Objeto TabControl ................................................................ 73 26 - Objeto MaskedTextBox ................................................................ 77 27 - Classe String: Manipuladores de String.......................................................... 81 28 - Manipulando Datase Horas ................................................................ 83 29 - Classe MATH: Funções Trigonométricas, Logaritmicas e Matemáticas......... 88 30 - Geração de Números Aleatórios ................................................................ 90 31 - Variáveis Indexadas: Vetor e Matrizes......................................................... 93
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
1º BIMESTRE
1 – CONCEITOS INICIAIS
Antes de falarmos propriamente do Visual Basic.net ou Vb.net, devemos ter em mente alguns
conceitos importantes, normalmente citados quando estudamos o Visual Studio. São eles:
• Plataforma Framework .Net : permite que os programadores .Net desenvolvam programas comuns
para diferentes plataformas. Para isso, basta ter uma versão do framework instalado. Outra
importante tarefa disponível é a reutilização de códigos prontos, criados em outras linguagens
compatíveis com a plataforma. Portanto, se, por exemplo, você desenvolveu uma tela de login em
Vb.Net e deseja utilizá-la em um software que está sendo construído em C#, ou ASP.NET, ou
Jscript.NET, isso será possível.
• CLR (COMMON LANGUAGE RINTIME) : é a alma do .Net. O CLR é o responsável pela
interoperabilidade entre as linguagens suportadas pela plataforma .Net, ou seja, ele realiza a
tradução das classes compiladas para que possam ser executadas.
Vale ressaltar que Vb.net 2008 é uma linguagem orientada a objetos, porém o enfoque deste curso
não é este, ou seja, não é programar orientado a objeto.
2 – IDE (Integrated Development Environment - Ambiente Integrado de Desenvolvimento) VB.NET 2008
Para programarmos em VB.NET, torna-se necessário carregarmos o ambiente do Visual Studio
.Net, para isso, siga os passos ilustrados abaixo:
Figura 1
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Desta forma, o Visual Studio .NET será carregado e exibida a seguinte tela:
Figura 2
O ambiente acima ainda não corresponde ao IDE do VB.NET. Como já mencionado, estamos no
ambiente de desenvolvimento do Visual Studio. Agora devemos indicar qual a linguagem iremos
desenvolver nossos aplicativos.
Para definirmos a linguagem que queremos programar, devemos seguir os seguintes passos:
Figura 3
Surgirá a seguinte janela:
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Figura 4
Na janela “New Project”, mostrada acima, veja a lista “Project Types”. Nesta estão disponíveis a
relação das linguagens que podem ser usadas para desenvolvimento de programas no Visual Studio.
Vamos selecionar Visual Basic, e em seguida, dê um clique em “WINDOWS”, pois, usaremos o VB.NET
2008 para gerar programas para ambiente Windows. Na relação “Tamplates”, à direita da janela, dê um
clique em “Windows Forms Aplication”. Para abrirmos então a IDE do VB.NET 2008, dê um clique no botão
“OK”.
Você deverá visualizar o IDE do VB.NET 2008, conforme a ilustração abaixo:
Figura 5
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Pode acontecer de algumas janelas do ambiente, mostrado na figura 5, estarem fechadas. Ao longo
desta apostila você aprenderá exibi-las. Fique tranqüilo.
3 – CONHECENDO AS JANELAS DO IDE
Agora vamos conhecer um pouco das janelas do ambiente de programação do VB.NET.
As janelas mostradas inicialmente, quando o VB.NET é carregado, são as seguintes:
• Toolbox (Janela de Objetos ou de Ferramentas)
• Solution Explorer (Janela de Solução)
• Properties (Janela de Projeto)
• Task List (Janela de Lista de Tarefas) / Error List (Lista de Erros)
• Janela do Form Designer (Janela de desenvolvimento do formulário)
Outra janela muito utilizada, por nós programadores, é a “Janela de Programação”. É nesta janela
que escrevemos os comandos que serão executados durante a execução do programa.
3.1 – JANELA DE TOOLBOX
Figura 6
É a janela que estão localizados os controles (objetos) que serão utilizados para desenhar as telas
do seu projeto.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Para exibir esta janela, caso ela seja fechada, siga um dos passos abaixo:
• ALT + V + X
• CRTL + V + X
• ou então, entre no menu “View” e clique em “Toolbox”, conforme exemplo abaixo:
Figura 7
Perceba que os objetos mostrados na Toolbox estão divididos em guias, para facilitar a sua procura.
A guia mais usada é a “Common Controls”, isso porque armazena os objetos mais utilizados em
ambiente Windows. Não é por esta razão que as demais guias deixam de ser importantes. Ao longo do
curso você utilizará objetos de diversas guias da Toolbox.
Para desenhar um objeto no formulário, basta seguir um dos passos abaixo:
• clicar uma vez sobre o objeto desejado, e em seguida, clicar na área desejada do
formulário.
• ou, dar um duplo clique sobre o objeto, na janela Toolbox.
Para se ter uma idéia melhor, vamos desenhar no formulário um objeto LABEL, um objeto BOTÃO
DE COMANDO e um objeto CAIXA DE TEXTO. Veja abaixo:
Figura 8
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Quando desenhamos objetos num formulário, é importante adotarmos padrões para iniciar seus
nomes. Estes nomes são informados na janela PROPERTIES, na propriedade “NAME”. Esta rotina tornará
mais fácil identificar os objetos quando estivermos programando. Abaixo estão relacionados alguns objetos
que utilizaremos freqüentemente e suas siglas iniciais. Em nosso curso você deverá adotar esta
nomenclatura.
ICONE DO OBJETO GUIA DO OBJETO OBJETO SIGLA INICIAL
Common Controls Botão de Comando CMD
Common Controls Caixa de Verificação CHK
Common Controls Caixa de Combo CBO
Containers Caixa de Grupo GRB
Common Controls Label LBL
Common Controls Caixa de Listagem LST
Common Controls Caixa de Texto com Máscara MSK
Dialogs Caixa de Diálogo Abrir OFD
Containers Painel PNL
Common Controls Caixa de Figura PCB
Common Controls Botão de Rádio / Botão de Opção OPT
Dialogs Caixa de Diálogo Salvar SFD
Common Controls Caixa de Texto TXT
Components Timer TMR
FORM - Formulário FRM
3.2 – JANELA SOLUTION EXPLORER
Figura 9
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Esta janela exibe todos os arquivos da sua solução (Projeto/Programa). Além disso, com esta janela
você poderá adicionar novos formulários (telas) e módulos seu projeto, entre outras tarefas.
Caso esta janela não esteja visível, basta seguir um dos passos abaixo:
• CTRL + R
• CTRL + ALT + L
• ALT + V + P
• ou então, entre no menu “View” e clique sobre a opção “Solution Explorer”;
Existem alguns botões disponíveis na janela Solution Explorer, veja para que eles servem:
- Properties - Exibe a Janela de Propriedade do objeto FORMULÁRIO.
- Show All Files - Exibe / Esconde alguns arquivos do projeto, conforme ilustração abaixo:
Figura 10
- Refresh – Utilizado para atualizar a lista de arquivos exibida na janela Solution Explorer.
- View Code – Utilizado para exibir a janela de código (área de programação) do formulário.
- View Designer - Utilizado para exibir o layout do formulário.
- View Class Diagram – Utilizado para exibir o diagrama de classe do formulário criado.
Uma vez tendo vários formulários no seu projeto, podemos definir na janela Solution Explorer, por
exemplo, qual será o primeiro que aparecerá quando o projeto for posto em execução. Para isso siga os
passos abaixo:
• Dê um clique com o botão direito do mouse sobre a pasta “My Projetct”, na janela Solution
Explorer, e em seguida, clique na opção “Open” no menu que surgir. A próxima figura ilustra
os passos citados:
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Figura 11
Perceba que se o formulário, ou janela de código estiver sendo exibida, dará lugar a seguinte área
de definições gerais da sua aplicação:
Figura 12
Na caixa “Startup Form” você poderá definir qual o formulário será exibido inicialmente. Quando seu
projeto possuir mais de um formulário, os nomes deles estarão relacionados nesta caixa. No caso acima,
mostrado na ilustração, quando o projeto for executado sempre o “Form1” será exibido inicialmente para o
usuário.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
3.3 – JANELA PROPERTIES
Figura 13
A janela “Properties” é uma das mais importantes do IDE do VB.NET, pois ela relaciona as
características do objeto que estiver selecionado naquele momento. Se você desenhou um objeto no
formulário e deseja ver as suas propriedades, basta clicar uma única vez sobre o mesmo e suas
propriedades serão mostradas automaticamente nesta janela. A figura acima, por exemplo, está mostrando
as propriedades do objeto “Form1”.
A propriedade mais importante de todos os objetos é a NAME.
O valor da propriedade “Name” referencia os objetos quando estivermos programando. Vale lembrar
que os nomes de cada objeto deverão seguir os padrões apresentados na tabela dada no item 3.1 desta
apostila.
Através de propriedades podemos definir, por exemplo:
• Cor de fontes dos objetos;
• Rótulo para objetos;
• Informar se o objeto estará ou não visível quando o programa rodar
• Informar se o objeto estará ou não acessível quando o programa rodar
• Etc..
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
A janela “Properties” também exibe os EVENTOS disponíveis para o objeto selecionado. Para
visualizar os eventos que podem ser programados para os objetos, basta clicar no botão . Desta forma
surgirá a seguinte área, substituindo a janela de propriedades:
Figura 14
O QUE SÃO EVENTOS?
R. É tudo que acontece durante a execução do programa em relação ao objeto. Por exemplo:
• Dar um clique no objeto;
• Mover mouse sobre o objeto;
• Dar duplo clique no objeto;
• Pressionar uma tecla do teclado quando o objeto estiver com o foco;
• Tirar o foco do objeto
• Entre outros
IMPORTANTE SABER: Vale dizer, que quando programamos vários eventos de um objeto, existe
ordem de execução para os mesmos. Às vezes você faz uma programação qualquer em um evento, e outra
programação em outro evento de um mesmo objeto. Quando você testa o programa, pode acontecer de um
evento inibir a execução do outro. Um exemplo típico disso, que foi citado, são os eventos “Click” e
DoubleClick”. A programação que você escreveu no evento “DoubleClick” NUNCA SERÁ EXECUTADA se
você programar o evento “Click” de um mesmo objeto.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Uma das formas que podemos acessar um evento, para escrevermos uma programação qualquer, é
dar um duplo clique na frente do nome do evento, na janela de eventos. Para exemplificar, vamos dar um
duplo clique sobre o nome do evento “Click” do objeto “Form1”. Veja que a janela de código exibirá o evento
que escolhemos para programar:
Figura 15
OBS.: O nome “Form1_Click” mostrado na frente do evento “Click”, informa que existirá programação neste
evento. No momento em que for dado o duplo clique no evento acima, surgirá então a janela de código
abaixo, preparada para programação do evento “click” do “form1”.
Figura 16
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Poderemos também escolher o objeto e evento que será programado usando as caixas disponíveis
na área janela de programação, veja na figura abaixo a indicação das setas vermelhas:
Figura 17
Na primeira caixa, à esquerda, estão relacionados todos os NOMES DE OBJETOS, desenhado no
formulário que se está programando. Já na segunda caixa, à direita, estão relacionados os EVENTOS que
podem ser programados para o objeto selecionado na caixa à esquerda.
3.4 – JANELA TASK LIST / ERROR LIST
Figura 18
A janela ERROR LIST, é responsável pela exibição das mensagens de erros de compilação, ou de
sintaxe, que porventura poderão surgir durante a programação. Veja na figura acima que a coluna
“Descripition” informa a descrição do erro, neste caso: “Nome TESTE não foi declarado”; ou seja, o VB.NET
está informando que esta variável não foi declara. As colunas “LINE” e “COLUMN” exibem respectivamente
os números da linha e coluna onde o erro aparece.
A janela Task List armazenará lista de tarefas que o programador criou, para serem cumpridas
durante a fase de programação.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
3.5 – JANELA FORM DESIGNER
Figura 19
Esta janela guarda o formulário que está sendo, ou será, desenhado. Na figura você deve ter
reparado que o título da guia Form Designer é “Form1.vb [Design]”. O nome “Form1.vb” é o nome do
arquivo que armazena o formulário. Você perceberá que quando executar o programa, para fins de testes, a
frente dos dizeres “Form1.vb [Design]” aparecerá um CADEADO. Este cadeado informa ao programador
que o projeto (solução) está em execução e não poderá ser modificado neste momento.
4 – BARRA DE FERRAMENTAS DO VB.NET
Quando falamos da BARRA DE FERRAMENTAS, algumas pessoas confundem, e imaginam se
tratar da Janela de Ferramentas. Lembre-se, a janela de ferramentas disponibiliza os objetos que serão
usados para construir a tela do seu programa. Na BARRA DE FERRAMENTAS, existem botões de atalhos
para tarefas rotineiras que o programador utiliza.
A barra de ferramentas está disposta abaixo da barra de menu do VB.NET, e armazena os
seguintes botões:
Figura 20
Vamos conhecer os botões mais utilizados desta barra:
- Open File – Este botão é usado para abrir projetos/soluções já desenvolvidas.
- Add New Item – Este botão é usado para inserir itens ao projeto/solução, por exemplo,
outro formulário ou módulo de declarações gerais de variáveis.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
- Save All – Salva todos os componentes da solução/projeto, ou seja, módulos, formulários e a
própria solução/projeto. NÃO UTILIZE O BOTÃO (Save), pois, este salva somente o formulário que está
sendo desenvolvido.
- Find – usado para procurar por trechos de comandos definidos pelo programador. Funciona
como o botão localizar texto, de outros aplicativos.
- Comment out the selected lines / Uncomment the selected lines - Estes botões são usados
para inserir comentários e retirar a marca de comentário, respectivamente, de uma linha de código escrita.
Só estarão disponíveis quando a janela de código estiver aberta.
- Undo / Redo - Estes botões são usados para desfazer ou refazer, respectivamente.
Eles funcionam exatamente como em outros programas.
- Navigate Backward / Navigate Forward – Estes botões são usados para navegar nas
fichas abertas na janela Form Designer. Podemos mostrar as fichas anteriores e posteriores,
respectivamente. A seta na figura abaixo mostra quais são as fichas navegáveis:
Figura 21
- Start Debugging / Breake All / Stop Debbugging – Estes botões são os mais
importantes desta barra, pois são usados para EXECUTAR, PAUSAR momentaneamente, e PARAR em
definitivo a execução de um projeto/solução. Obs.: PARA RODAR UM PROGRAMA, PODEMOS UTILIZAR
TAMBÉM A TECLA DE FUNÇÃO F5.
- Solution Explorer – Este botão mostra a janela “Solution Explorer”;
- Properties Windows – Este botão mostra a janela “Properties”;
- ToolBox – Este botão mostra a janela “ToolBox”;
- Error List – Este botão mostra a janela “Error List”;
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
5 - VARIÁVEIS
As regras para criação de variáveis em VB.NET, são basicamente, as mesmas adotadas em outras
linguagens. Vamos lembrar:
• Não deve possuir mais que 255 caracteres;
• Evite criar variáveis locais ou globais, com mesmo nome;
• NÃO crie variáveis com os mesmos nomes que foram atribuídos para objetos;
• Inicie o nome da variável sempre com LETRAS;
• Não use espaços;
• Dê nome para variável próximo do que irá armazenar;
• O único caractere especial permitido no nome da variável é o UNDERLINE ( _ );
• Números são aceitos a partir do segundo dígito do nome da variáveL;
• Não crie variáveis com nome de comandos da linguagem VB.NET;
SINTAXE PARA CRIAÇÃO DE VARIÁVEIS:
DIM <nome_variável> AS <tipo_dado> = <valor_incial> OU Public <nome_variável> AS <tipo_dado> = <valor_inci al>
Exemplos:
1)
Dim x as integer = 3
‘O exemplo acima cria a variável x e a inicia com o número três
2)
Dim x as integer
OBS: Toda variável numérica, que não é iniciada, armazena o valor 0 (zero).
3)
Dim Nome as string
‘O exemplo acima cria a variável Nome, e por padrão, ela é iniciada com vazio
4)
Dim estado as string = “São Paulo”
‘O exemplo acima e cria a variável “estado” e já armazena “São Paulo”
5)
Public salario as Double
‘O exemplo acima cria a variável “salario" como Double. Entretanto, perceba que o comando
usado foi o PUBLIC.
O COMANDO PUBLIC NÃO PODE SER USADO PARA CRIAR VARI ÁVEIS DENTRO DE EVENTOS DE
OBJETOS. USE-O SOMENTE DENTRO DE MÓDULOS. DESTA FOR MA A VARIÁVEL CRIADA SERÁ
GLOBAL DO PROJETO, OU SEJA, SERÁ RECONHECIDA EM QUA LQUER FORMULÁRIO OU
EVENTOS PROGRAMADOS.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
O quadro abaixo relaciona os tipos de variáveis que podem ser criados no VB.NET, bem como as
faixas de valores que são suportados pelas mesmas, observe:
TIPO Common language runtime type
structure
Espaço em memória
Faixa de valores que armazena
Boolean System.Boolean 2 bytes True ou False.
Byte System.Byte 1 byte 0 até 255 (sem sinal).
Char System.Char 2 bytes 0 até 65535 (sem sinal).
Date System.DateTime 8 bytes 0:00:00 de 1 de janeiro de 0001 até 11:59:59 PM de 31 de dezembro de 9999.
Decimal System.Decimal 16 bytes 0 a (+/ -)79.228.162.514.264.337.593.543.950.335 sem ponto decimal
de 0 a (+ / -) 7,9228162514264337593543950335 com 28 posições à direita do decimal;
menor número diferente de zero é (+ / -) 0,0000000000000000000000000001 (+ /-1E-28).
Double (Dupla precisão e ponto flutuante)
System.Double 8 bytes -1.79769313486231570E+308 até -4.94065645841246544E-324 para valores negativos;
4.94065645841246544E-324 até 1.79769313486231570E+308 para valores positivos.
Integer System.Int32 4 bytes -2,147,483,648 até 2,147,483,647.
Long (long integer)
System.Int64 8 bytes -9,223,372,036,854,775,808 até 9,223,372,036,854,775,807.
Object System.Object (class)
4 bytes Qualquer tipo pode ser armazenado em uma variável do tipo Object
Short System.Int16 2 bytes -32,768 até 32,767. (antigo integer do vb 6)
Single Simples precisão e ponto flutuante)
System.Single 4 bytes 3.4028235E-38 até -1.401298E-45 para valores negativos, 1,401298 E-45 até 3,4028235E+38 para valores positivos.
String
System.String (class) Depende da plataforma de
execução
0 até aproximadamente 2 bilhões Unicode caracteres.
User-Defined Type (Estrutura)
(inherits from System.ValueType )
Depende da plataforma de
execução
Cada membro da estrutura tem um intervalo determinado pelo seu tipo de dados
e independente dos intervalos dos outros membros.
Durante o desenvolvimento de um programa, em alguns casos, torna-se necessário converter os valores armazenados nas variáveis. Para isso, existem funções que realizam esta conversão de valores. Este processo recebe o nome de CASTING.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Todas as funções de conversão no VB.NET iniciam com a letra C (de conversão) e terminam com uma forma abreviada do novo tipo de dado. Existe também a função de conversão genérica - Ctype - que pode converter para qualquer tipo. Vejamos as principais:
Função Descrição Exemplo
Cbool Ou
Convert.ToBoolean()
Converte para um Booleano ( False ou True). False ou 0 será definido como False. Retorna um Boolean
Dim A, B, C As Integer Dim Check As Boolean A = 5 B = 5 Check = CBool( A = B) ' Check será True. ' ... C = 0 Check = CBool( C) ' Check será False.
Cbyte Ou
Convert.ToByte()
Converte para um Byte. Qualquer valor maior que 255 ou valor fracionário será perdido. Retorna um Byte.
Dim MyDouble As Double Dim MyByte As Byte MyDouble = 125.5678 MyByte = CByte( MyDouble) ' MyByte será igual a
CChar Ou
Convert.ToChar()
Converte para um Caractere. Qualquer valor maior que 65,535 será perdido e, se você tentar converter uma string somente o primeiro caractere será convertido.
Dim MyString As String Dim MyChar As Char MyString = "BCD" 'converte só o primeiro caractere MyChar = CChar(MyString) ' MyChar será igual a "B".
CDate Ou
Convert.ToDateTime()
Converte para um Date. Aceita qualquer representação de data e tempo.
Dim MyDateString, MyTimeString As String Dim MyDate, MyTime As Date MyDateString = "February 12, 1969" MyTimeString = "4:35:47 PM" ' ... MyDate = CDate(MyDateString) ' Converte p/ o tipo Date. MyTime = CDate(MyTimeString) ' Converte p/ o tipo Date.
CDbl Ou
Convert.ToDouble() Converte para um Double.
Dim MyDec As Decimal Dim MyDouble As Double MyDec = 234.456784D . MyDouble = CDbl(MyDec * 8.2D * 0.01D) ' Converte para Double
CDec Ou
Convert.ToDecimal() Converte para um Decimal.
Dim MyDouble As Double Dim MyDecimal As Decimal MyDouble = 10000000.0587 MyDecimal = CDec(MyDouble) ' Converte para Decimal.
CInt Ou
Convert.ToInt32()
Converte para um inteiro. Valores de (-)2,147,483,648 até 2,147,483,647 . Frações são arredondadas.
Dim MyDouble As Double Dim MyInt As Integer MyDouble = 2345.5678 MyInt = CInt(MyDouble) ' MyInt será igual a 2346.
CLng Ou
Convert.ToInt64()
Converte para um Longo. Valores (-)9,223,372,036,854,775,808 até 9,223,372,036,854,775,807. Frações são arredondadas.
Dim MyDbl1, MyDbl2 As Double Dim MyLong1, MyLong2 As Long MyDbl1 = 25427.45 MyDbl2 = 25427.55 MyLong1 = CLng( MyDbl1) ' MyLong1 conterá 25427. MyLong2 = CLng( MyDbl2) ' MyLong2 conterá 25428.
CSht Ou
Convert.ToInt16()
Converte para um Short. Valores de (-)32,768 a 32,767. Frações são arredondadas.
Dim MyByte as Byte Dim MyShort as Short MyByte = 100 MyShort = CShort( MyByte) ' Converte para Short.
CStr Ou
Convert.ToString()
Converte para um String. Se for uma Data o retorno será no formato - Short Date.
Dim MyDouble As Double Dim MyString As String MyDouble = 437.324 MyString = CStr(MyDouble) ' MyString será igual a "437.324".
CSng Ou
Convert.ToSingle
Converte para um Single . -3.402823E+38 até -1.401298E-45 // 1.401298E-45 até 3.402823E+38
Dim MyDouble1, MyDouble2 As Double Dim MySingle1, MySingle2 As Single MyDouble1 = 75.3421105 MyDouble2 = 75.3421567 MySingle1 = CSng(MyDouble1) ' MySingle1 será igual a 75.34211. MySingle2 = CSng(MyDouble2) ' MySingle2 será igual a 75.34216.
CObj Converte para um objeto.
Dim MyDouble As Double Dim MyObject As Object MyDouble = 2.7182818284 MyObject = CObj(MyDouble) ' MyDouble estará apontada para MyObject.
Ctype Converte para qualquer tipo de dados. Sintaxe: Variavel = Ctype( TipoVelho , NovoTipo)
Dim MyNumber As Long Dim MyNewType As Single MyNumber = 1000 MyNewType = CType(MyNumber,Single) ' MyNewType é igual a p/1000.0
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
5.1 – VARIÁVEIS LOCAIS E GLOBAIS
Como sabemos, as variáveis criadas em programas podem ser globais ou locais, dependendo do
local onde serão declaradas.
Para entender melhor os exemplos que serão dados, vamos considerar o seguinte formulário:
Figura 22
Vejamos os exemplos de criação de variáveis GLOBAIS e LOCAIS:
Figura 23
Vamos falar sobre os exemplos acima:
Variável GLOBAL: : O exemplo mostra uma única variável global, isto porque, a variável foi criada
logo abaixo do comando que inicia a criação da classe formulário “Public Class Form1”. Repare que a
variável foi criada com o comando DIM, mas neste caso, poderia ter sido criada com o comando PUBLIC.
Porém, como citado anteriormente, use o comando PUBLIC para criar variáveis globais declaradas nos
módulos do projeto.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Variável LOCAL: Percebam que as variáveis locais, foram criadas sempre dentro de algum evento
de objetos, desenhados no formulário.
LEMBREM-SE: as variáveis GLOBAIS podem ser utilizadas em qualquer parte do programa, já as
variáveis LOCAIS, podem ser utilizadas somente no evento ou rotina onde foram criadas. Portanto, a
variável “a”, criada no exemplo, não poderá ser usada fora do evento LOAD do FORM1.
5.2 – VARIÁVEIS GLOBAIS DO PROJETO
Estas variáveis são utilizadas normalmente quando trabalhamos com vários formulários dentro de
um projeto/solução, e o valor por ela armazenado, deve ser usado em outros formulários.
Para criarmos estas variáveis devemos utilizar um módulo no projeto. Para isso siga os passos
ilustrados abaixo:
Figura 24
Ao clicar na opção “Add Module..”, do menu “Project”, surgirá a janela “Add New Item”:
Figura 25
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Clicando no botão “ADD”, da janela “Add New Item...”, será inserido um módulo na janela solution
explorer, e a área de programação do módulo será mostrada, conforme exemplo abaixo:
Figura 26
Na área de programação “Module1.vb”, escreva a programação desejada. Neste caso, vamos
exemplificar a criação de uma variável global para o projeto, vejamos:
Figura 27
A variável “SEXO” pode ser usada e reconhecida em qualquer área de programação do
projeto/solução.
CUIDADO:
1. APESAR DA VARIÁVEL “SEXO” TER RECEBIDO INICIALMENTE O VALOR “Masculino”, SERÁ
ARMAZENADO SOMENTE A LETRA “M”. ISTO ACONTECEU PORQUE A VARIÁVEL É DO TIPO
CHAR.
2. Se você criar a variável com o comando DIM, ela será global para as rotinas que você criar
somente no módulo, ou seja, o valor da variável NÃO SERÁ RECONHECIDO EM FORMULÁRIOS
E OBJETOS DO PROJETO
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
6 – OPERADORES ARITMÉTICOS
Os operadores aritméticos do VB.NET, estão relacionados no quadro a seguir:
Operador Utilização Exemplo
= Atribui um valor a uma variável ou constante y = 10 ou Sobrenome = "Macoratti"
+ Soma dois valores x = y + 5 ( o valor de x será igual a 15)
- Subtrai um valor de outro x = y - 2 ( o valor de x será igual a 5)
* Multiplica dois valores x = y * 2 ( o valor de x será igual a 20)
/ Divide um valor por outro x = y / 2 ( o valor de x será igual a 5)
\ Divide um valor por outro e retorna somente a parte inteira do resultado
x = y \ 3 ( o valor de x será igual a 3)
Mod Divide um valor por outro e retorna o resto da operação x = y mod 3 ( o valor de x será igual a 1)
& Combina , concatena duas strings Sobrenome = “Macoratti” cliente = "Jose Carlos " & Sobrenome (cliente será igual a Jose Carlos Macoratti)
+= soma o valor e atribui o resultado y += 3 ( y será igual a 13)
-= subtrai o valor e atribui o resultado y -= 6 ( y será igual a 7)
*= multiplica o valor e atribui o resultado y *= 2 ( y será igual a 14)
/= divide o valor e atribuiu o resultado y /= 2 ( y será igual a 7)
&= concatena a string e atribui o resultado Sobrenome = “Macoratti” Sobrenome &= ", Jose Carlos" ( Sobrenome será igual a "Macoratti , Jose Carlos"
^ Eleva um valor a um determinado expoente 3 ^ 3 ( 3 elevado a 3 ; resultado = 27 )
Sqrt Extrai a raiz quadrada de um valor (Namespace System classe Math ) x = Math.Sqrt(81) ( O valor de x será igual a 9)
7 – COMANDO/FUNÇÃO MSGBOX
Esta instrução é responsável pela criação de uma caixa de mensagem. Podemos utilizá-la como
comando ou função.
Utilizando-a como comando, não será retornado valor para o trecho de programa onde foi posto em
execução. Se o utilizarmos como função, uma variável deverá ser preparada para armazenar o valor
retornado pelo MSGBOX.
Sintaxe (comando MSGBOX):
MSGBOX (<MENSAGEM>,<BOTÕES E/OU ICONES>,<TÍTULO>)
Onde:
• <MENSAGEM> - refere-se à mensagem que deve aparecer no interior da caixa de
mensagem;
• <BOTÕES E/OU ICONES> - indique neste local os botões e/ou ícones, que devem
aparecer na caixa de mensagem. Para isso, você deve seguir as indicações definidas na
tabela a seguir:
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
<BOTÕES E/OU ÍCONES> VALOR OPCIONAL
DESCRIÇÃO
OKOnly 0 Mostra apenas o botão OK
OKCancel 1 Mostra os botões OK e CANCELA
AbortRetryIgnore 2 Mostra os botões ABORTA, REPETIR e IGNORAR
YesNoCancel 3 Mostra os botões SIM, NÃO e CANCELA.
YesNo 4 Mostra os botões SIM e NÃO.
RetryCancel 5 Mostra os botões REPETIR e CANCELAR.
Critical 16
Mostra o ícone
Question 32
Mostra o ícone
Exclamation 48
Mostra o ícone
Information 64
Mostra o ícone
DefaultButton1 0 Faz com que o primeiro botão esteja com foco (seja botão padrão)
DefaultButton2 256 Faz com que o segundo botão esteja com foco (seja botão padrão)
DefaultButton3 512 Faz com que o terceiro botão esteja com foco (seja botão padrão)
ApplicationModal 0 Aplicação é restrita. O usuário deve responder à caixa de mensagem antes de continuar o trabalho no aplicativo atual
SystemModal 4096 O sistema é restrito. Todos os aplicativos estão suspensos até que o usuário responda à caixa de mensagem
MsgBoxSetForeground 65536 Especifica a janela caixa de mensagem como a janela de primeiro plano
MsgBoxRight 524288 Texto alinhado a direita
MsgBoxRtlReading 1048576 Especifica o texto deve aparecer da direita para a esquerda em sistemas hebraico e árabe.
• <TÍTULO> - Texto que deverá ser exibido na barra de título da caixa de mensagem
Vamos criar uma caixa de mensagem com a seguinte aparência:
Figura 28
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Para criar esta caixa de mensagem mostrada, devemos digitar o seguinte COMANDO msgbox:
MsgBox( "Soma = " & resultado, MsgBoxStyle.Exclamation, "Programa Soma" )
IMPORTANTE OBSERVAR:
1) O valor de uma variável, chamada resultado, foi concatenado com a mensagem “Soma=”
utilizando operador &
2) Quando definimos que a caixa de mensagem deverá exibir o ícone de exclamação, perceba que
o namespace MSGBOXSTYLE teve que ser usado. Isto é declarado para padronizar os códigos
utilizados pela plataforma .NET.
3) Como podemos perceber, este comando não retornará valores.
Vamos criar agora uma caixa de mensagem com a seguinte aparência:
Figura 29
Neste caso, como a caixa de mensagem possuí dois botões, terá que ser usada a FUNÇÃO
MSGBOX, visto que temos que identificar qual foi o botão clicado pelo usuário. Veja como fica o comando:
x = MsgBox( "Deseja encerrar o programa?" , MsgBoxStyle.Question + MsgBoxStyle.YesNo, "Finalizar o Programa" )
IMPORTANTE OBSERVAR:
O segundo parâmetro da FUNÇÃO MSGBOX, insere o ícone e os botões SIM e NÃO, por isso, usamos o
sinal “+” como concatenador.
Para identificarmos qual o botão foi clicado pelo usuário, devemos consultar a tabela a seguir. Esta
tabela indica quais serão os valores que poderão ser armazenados na variável “x”, usada na linha chama
para execução a FUNÇÃO MSGBOX. Observe:
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Botão clicado Valor Retornado MsgBoxResult.CONSTANTE
OK 1 MsgBoxResult.Ok
CANCELA 2 MsgBoxResult.Cancel
ABORTA 3 MsgBoxResult.Abort
REPETIR 4 MsgBoxResult.Retry
IGNORAR 5 MsgBoxResult.Ignore
SIM 6 MsgBoxResult.Yes
NÃO 7 MsgBoxResult.No
Conhecida a tabela acima, poderíamos então ter escrito o seguinte código dentro de um botão
“sair”, por exemplo:
Figura 30
IMPORTANTE OBSERVAR:
1) A variável “x” armazenará, neste caso, “MsgBoxResult.Yes” OU “MsgBoxResult.No”.
2) Se armazenar “MsgBoxResult.Yes”, indica que o usuário respondeu que deseja encerrar o
programa, com isso, o projeto será encerrado com o método close do formulário (ME representa o
formulário).
3) No lugar da linha Me.Close( ), você pode também escrever o comando “END”.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
8 – OBJETO TEXTBOX
Figura 31
Também conhecido como caixa de texto, este controle é utilizado para permitir a entrada de dados
via teclado. Também pode ser usado para exibir informações para o usuário do programa.
Propriedades mais utilizadas deste objeto são:
PROPRIEDADE PARA QUE SERVE
Name Dar nome ao objeto. Este nome será usado na programação.
AcceptsReturn Quando a caixa estiver definida como MULTILINE, permite ou não uso do ENTER para saltar linhas.
AcceptsTab Quando a caixa estiver definida como MULTILINE, permite ou não uso da tecla TAB para criar tabulações no texto digitado.
BackColor Para definirmos uma cor de fundo para a caixa de texto.
BorderStyle Para definirmos o estilo da borda da caixa de texto.
CharacterCasing Determinar se os caracteres digitados na caixa de texto serão exibidos de forma normal, ou maiúsculos (UPPER), ou minúsculos (LOWER).
Cursor Para definir o formato do cursor do mouse, quando o mesmo for movido sobre a caixa.
Enabled Indica se a caixa será (TRUE) ou não (FALSE) acessada pelo usuário, quando o programa estiver rodando.
Font Para alteramos as características da fonte do texto que será digitado pelo usuário.
ForeColor Para definir a cor da fonte do texto que está na propriedade TEXT deste objeto.
MaxLength Usada para definirmos a quantidade de dígitos que podem ser digitados na caixa, quando o programa estiver rodando.
Multiline Cria a caixa de texto com várias linhas, para que um texto pequeno possa ser digitado pelo usuário do programa.
PasswordChar Define-se nesta propriedade um caractere para MASCARAR o que está sendo digitado. Muito usada para digitações de senha.
ScrollBars Definir se desejamos criar barras de rolagens para a caixa de texto, quando estiver definida com múltiplas linhas.
TabIndex Definir um número ordem correspondente a sequência da tecla TAB do teclado, para o objeto.
TabStop Indica se o usuário pode usar a tecla TAB para dar foco ao objeto.
Text Definir o texto padrão que será exibido quando o programa for colocado em execução, ou armazenar o texto digitado pelo usuário durante a execução do programa.
TextAlign Definir o alinhamento do texto que está na propriedade TEXT da caixa de texto.
Visible Definir se a caixa de texto estará visível (TRUE) ou não (FALSE) quando o programa for colocado em execução.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
NÃO SE ESQUEÇA, É MUITO IMPORTANTE:
• Algumas propriedades, quando alteradas diretamente na caixa de propriedade, não surgirão efeitos
alguns. Para ver o resultado da mudança de valor, você deverá rodar o programa.
• Outras propriedades só funcionarão através de programação, ou seja, não adianta tentar mudar
seus valores diretamente na caixa de propriedades.
• Existem propriedades que não podem ser usadas em linhas de comandos, ou seja, o programador
altera o valor diretamente na caixa de propriedades;
• Algumas propriedades não estão relacionadas na caixa de propriedades, mas podem ser usadas
somente através de programação.
Eventos mais utilizados da caixa de texto:
EVENTO QUANDO É EXECUTADO
Enter Quando a caixa de texto recebe o cursor, ou seja, recebe o foco.
KeyDown Quando uma tecla do teclado for abaixada.
KeyPress Quando uma tecla do teclado for pressionada (abaixar e soltar).
KeyUp Quando uma tecla do teclado deixar de ser abaixada.
Leave Quando o cursor sai da caixa de texto, ou seja, perde o foco.
TextChanged Quando o texto armazenado na propriedade TEXT for alterado.
Existem outros eventos que podemos utilizar para uma caixa de texto, porém, os relacionados
acima são os mais utilizados.
9 – OBJETO LABEL
Figura 32
Este objeto é utilizado para rotular campos do formulário ou exibir mensagens para o usuário.
Quando o utilizamos para exibir mensagens, o USUÁRIO não pode alterá-la, visto que este controle não é
editável.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Propriedades mais utilizadas deste objeto são:
PROPRIEDADE PARA QUE SERVE
Name Dar nome ao objeto. Este nome será usado na programação.
AutoSize Para ajustar automaticamente o tamanho do label, de acordo com o seu texto (TEXT).
BackColor Para definirmos uma cor de fundo deste objeto.
BorderStyle Para definirmos o estilo da borda deste objeto.
Cursor Para definir o formato do cursor do mouse, quando o mesmo for movido sobre este objeto.
Font Para alteramos as características da fonte do texto deste objeto.
ForeColor Para definir a cor da fonte do texto que está na propriedade TEXT deste objeto.
Image Usada para inserirmos uma imagem dentro do objeto.
ImageAlign Definir o alinhamento da figura dentro do objeto
Text Definir o texto que aparecerá para o usuário, quando o programa estiver rodando.
TextAlign Definir o alinhamento do texto que está na propriedade TEXT do objeto.
Visible Definir se o objeto estará visível (TRUE) ou não (FALSE) quando o programa for colocado em execução.
Eventos mais utilizados para este objeto:
EVENTO QUANDO É EXECUTADO
Click Quando o usuário clica sobre o objeto.
MouseMove Quando o usuário passa o mouse sobre o objeto.
Existem outros eventos que podemos utilizar para uma caixa de texto, porém, os relacionados
acima são os mais utilizados.
10 – OBJETO BUTTON
Figura 33
Este objeto é conhecido também como botão de comando. É usado quando desejamos executar de
comandos e/ou operações a partir de cliques do usuário.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Propriedades mais utilizadas deste objeto são:
PROPRIEDADE PARA QUE SERVE
Name Dar nome ao objeto. Este nome será usado na programação.
BackColor Para definirmos uma cor de fundo deste objeto.
BackgroundImage Definir uma imagem de fundo para este objeto.
BackgroundImageLayout Definir a aparência da imagem inserida no objeto.
Cursor Para definir o formato do cursor do mouse, quando o mesmo for movido sobre este objeto.
Enabled Definir se o objeto estará (TRUE) ou não (FALSE) acessível para o usuário quando o programa estiver rodando.
FlatStyle Define a aparência do objeto quando receber cliques durante a execução do programa.
Font Para alteramos as características da fonte do texto deste objeto.
ForeColor Para definir a cor da fonte do texto que está na propriedade TEXT deste objeto.
Image Usada para inserirmos uma imagem dentro do objeto. Neste caso a propriedade FlatStyle deve estar configurada como ”Standard”
ImageAlign Definir o alinhamento da figura dentro do objeto
TabIndex Definir um número de ordem correspondente a sequência da tecla TAB do teclado, para o objeto.
TabStop Indica se o usuário pode usar a tecla TAB para dar foco ao objeto.
Text Definir o texto que aparecerá para o usuário, quando o programa estiver rodando.
TextAlign Definir o alinhamento do texto que está na propriedade TEXT do objeto.
TextImageRelation Definir a relação entre a imagem e o texto, definidos nas propriedades Image e Text.
Visible Definir se o objeto estará visível (TRUE) ou não (FALSE) quando o programa for colocado em execução.
Eventos mais utilizados para este objeto:
EVENTO QUANDO É EXECUTADO
Click Quando o usuário clica sobre o objeto.
MouseMove Quando o usuário passa o mouse sobre o objeto.
Existem outros eventos que podemos utilizar para uma caixa de texto, porém, os relacionados
acima são os mais utilizados.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
11 – PROGRAMANDO COM PROPRIEDADES
Como descrito anteriormente, podemos programar uma propriedade nos eventos de objetos. Para
isso devemos abrir o evento do objeto desejado e escrever a programação desejada.
Antes, porém, devemos entender como fazemos a programação de propriedades dos objetos. Vale
lembrar que nem todas as propriedades são programáveis.
Sintaxe:
<nomeobjeto>.<nomepropriedade> = <valoratribuído>
Vejamos alguns exemplos:
1) Se desejar clicar num botão e alterar o texto, da barra de título do formulário para “Exemplo de
mudança de valor de propriedade”, escreva a seguinte linha de comando num botão:
Figura 34
VAMOS ENTENDER A PROGRAMAÇÃO ACIMA!
• Ao clicar no botão CMDMUDAR, a propriedade “Text” do formulário, onde o botão se encontra,
será alterada para “Exemplo de mudança de valor de propriedade”.
• Repare que o nome do formulário foi representado por “ME”, isto porque o botão de comando está
desenhado no formulário onde estamos programando.
2) Vamos alterar o programa anterior, para quando o usuário clicar no botão, a mensagem do
exemplo 1 ser exibida, e o próprio botão ficar invisível no formulário. Insira uma nova linha de
comando no botão, conforme próximo exemplo.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Figura 35
VAMOS ENTENDER A NOVA PROGRAMAÇÃO!
• Ao clicar no botão CMDMUDAR, a propriedade “Text” do formulário, onde o botão se encontra,
será alterada para “Exemplo de mudança de valor de propriedade”.
• Em seguida, a propriedade “Visible” do botão “CMDMUDAR”, receberá o valor “False”, o que
tornará o botão invisível na tela.
12 – O PROJETO SOMA
Vamos criar um projeto, ou solução, no VB.NET para realizar a soma entre dois números
informados pelo usuário em duas caixas de texto. O resultado deve ser mostrado numa caixa de
mensagem.
Abra o VB.NET e crie um formulário com os seguintes objetos da guia “Common Controls”:
Figura 36
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Depois de desenhado o formulário acima, selecione cada um dos objetos e defina para eles os
seguintes valores de propriedades, para que a tela fique com a aparência exata que foi solicitada:
OBJETO PROPRIEDADE NAME PROPRIEDADE TEXT
LBLN1 “1º número”
TXTN1 “”
LBLN2 “2º número”
TXTN2 “”
CMDSOMAR “somar”
NUNCA INICIE A PROGRAMAÇÃO SEM ANTES DEFINIR OS NO MES DE OBJETOS NA
PROPRIEDADE “NAME” . Se você não definir os nomes dos objetos, seu programa poderá não funcionará,
pois, estes serão usados na programação.
Logo depois, dê dois cliques sobre o botão “somar” (cmdsomar), para programar o evento CLICK.
Neste caso, quando rodar o programa, a programação será executada quando o usuário clicar sobre o
botão. Veja o que você deve escrever no evento CLICK do botão:
Figura 37
Repare na programação acima:
1) As variáveis resultado, n1 e n2 foram criadas para armazenar valores do tipo REAL; Todas foram
criadas como variáveis globais da classe (formulário) Form1 quando o projeto foi colocado em
execução;
2) No evento “cmdsomar_click” será executado quando o usuário clicar no botão “soma”, quando o
programa estiver rodando;
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
3) O QUE ACONTECERÁ QUANDO O BOTÃO FOR CLICADO PELO USUÁRIO?
• Primeiramente, o valor contido na propriedade TEXT, da caixa de texto TXTN1, será
convertido para DOUBLE e, em seguida, armazenado na variável “N1”;
• Depois, o valor contido na propriedade TEXT, da caixa de texto TXTN2, será convertido
para DOUBLE e, em seguida, armazenado na variável “N2”;
• Com os valores devidamente armazenados nas variáveis “N1” e “N2”, será calculada a
soma dos valores e o resultado será guardado na variável “RESULTADO”;
• O resultado da soma será mostrado numa caixa de mensagem e será exibida com a
seguinte aparência:
Figura 38
13 – ADICIONANDO FORMULÁRIOS NO PROJETO
Qualquer aplicação desenvolvida em alguns momentos torna-se necessária a inclusão de novos
formulários ao projeto, ou seja, novas telas.
Para adicionar formulário em uma solução/projeto no VB.NET, basta seguir os passos ilustrados
abaixo:
Figura 39
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Surgirá a seguinte janela:
Figura 40
Quando a janela acima aparecer, você deve tomar o cuidado de estar com “Windows Form”
selecionado, na lista “Templates”. Se desejar, indique o nome (Nome Físico) para o novo formulário e clique
no botão “Add”
Como resultado, na janela “Solution Explorer” deverá aparecer o ícone do formulário que acabou de
ser inserido. Quando você clicar neste ícone, o formulário inserido deverá aparecer. Veja o exemplo a
seguir:
Figura 41
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
14 – MÉTODOS SHOW() / HIDE() / CLOSE()
Quando inserimos outros formulários em uma solução, em algum momento, teremos que escrever
trechos de códigos para que o usuário possa carregá-los na tela, ou seja, um formulário chamar outro.
Para um formulário carregar outro, devemos usar o método Show( ) . Veja a sintaxe abaixo:
Sintaxe:
<name_formulário>.Show( )
Para um formulário permanecer carregado da memória, somente se tornando invisível usamos o
método Hide( ) . Com este método, se existir uma caixa de texto armazenando algo digitado, quando o
formulário se tornar visível novamente a caixa de texto ainda estará armazenando o referido dado. Veja a
sintaxe abaixo:
Sintaxe:
<name_formulário>.Hide( )
Porém, podemos fazer com que o formulário seja descarregado da memória usando o método
Close( ) . Assim, se existir uma caixa de texto contendo algo digitado, as informações serão perdidas.
Quando o formulário for novamente carregado a caixa de texto aparecerá vazia. Veja a sintaxe abaixo:
Sintaxe:
<name_formulário>.Close( )
Para exemplificar o uso dos métodos acima, vamos partir do pressuposto que temos dois
formulários em uma solução, Form1 e Form2. Vamos desenhar no primeiro formulário um botão para
chamar o formulário 2. Vamos fazer o mesmo com o formulário 2, criando um botão para voltar para o
formulário 1. Veja abaixo o layout dos dois formulários:
Figura 42
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Vamos abrir o botão “formulário 2” e escrever o seguinte código:
Figura 43
Agora, vamos abrir o formulário 2 e escrever a seguinte programação no botão “Formulário 1”.
Figura 44
Quando a solução estiver sendo executada e o botão “formulário 2” for pressionado acontecerá o
seguinte:
Figura 45
Perceba acima que o formulário 2 apareceu e o formulário 1, continuou aberto, porém sem foco. Se
neste momento clicamos no botão “Formulário 1” , o formulário 2 deve ser descarregado da memória e o
formulário 1 receberá novamente o foco.
É BOM SABER!
Se utilizarmos os métodos SHOW( ) e CLOSE( ) juntos, numa mesma rotina de programação, o
método SHOW( ) NÃO SERÁ EXECUTADO. Para isso, use o método Hide( ) em conjunto com o Show( ).
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
15 – OPERADORES LÓGICOS E RELACIONAIS
Os operadores relacionais do VB.NET estão mostrados na tabela abaixo:
OPERADOR RELACIONAL
TIPO DE COMPARAÇÃO
= IGUAL A
< MENOR QUE
> MAIOR QUE
<> DIFERENTE
>= MAIOR OU IGUAL A
<= MENOR OU IGUAL A
Já os operadores lógicos do VB.NET, são os seguintes:
OPERADOR LÓGICO
TIPO DE COMPARAÇÃO
AND .E.
OR .OU.
NOT .NÃO.
Só para relembrarmos, vamos avaliar o valor final de dois testes condicionais quando estamos
usando o operador lógico AND:
TESTE 1 TESTE 2 RESULTADO
V V V
V F F
F V F
F F F
Lembre-se, neste caso, para o resultado do teste ser verdadeiro (TRUE = V),
AS DUAS expressões devem ser verdadeiras.
Agora, vamos avaliar o valor final de dois testes condicionais quando estamos usando o operador
lógico OR:
TESTE 1 TESTE 2 RESULTADO
V V V
V F V
F V V
F F F
Lembre-se, neste caso, para o resultado do teste ser verdadeiro (TRUE = V),
UMA DAS DUAS expressões deve ser verdadeira.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
No caso do operador NOT, o resultado do teste avaliado é invertido, gerando assim o resultado
final:
NOT(TESTE) RESULTADO
V F
F V
Lembre-se, neste caso, se o teste da condição resultar em True, inverte-se o resultado porque
estamos usando o operador NOT.
16 – CONTROLES DE FLUXO: IF / SELECT CASE
Durante a execução de um programa, em certos momentos, trechos de programação devem ser
executados e outros não.
Para resolvermos esta situação podemos usar os comandos de controles de fluxo de execução.
Entre os comandos existentes, vamos falar sobre o comando IF. Antes, porém, veja as algumas sintaxes
que podemos usar:
Sintaxe 1:
IF condição(ões) then
<comandos caso .V.>
End If
Sintaxe 2:
IF condição(ões) then
<comandos caso .V.>
Else
<comandos caso .F.>
End If
Sintaxe 3:
IF condição(ões) then
<comandos caso primeiro teste .V.>
Elseif condição(ões) then
<comandos caso segundo teste .V. >
Else
<comandos caso testes anteriores .F.>
End If
Perceba, que no VB.NET e nas suas versões anteriores, a sintaxe 3 já era usada, pois, ela não
exige que todos os IF abertos sejam fechados, basta um END IF. Isso funciona graças à instrução ELSEIF.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Sintaxe 4:
IF condição(ões) then
IF condição(ões) then
<comandos caso .V.>
Else
<comandos caso .F.>
End If
Else
<comandos caso .F.>
End If
Repare na sintaxe acima, que neste caso, vários EN D IF foram escritos, pois não usamos
nenhum ELSEIF.
Agora vamos escrever um programa para verificar se um aluno é menor, maior ou tem exatamente
18 anos. Vamos criar um formulário com a seguinte aparência:
Figura 46
Em seguida, ANTES DE INICIAR A PROGRAMAÇÃO, ALTERE AS SEGUINTES PROPRIEDADES
dos objetos desenhados no formulário:
OBJETO PROPRIEDADE NAME PROPRIEDADE TEXT
Lbldi “Digite sua Idade”
Txtidade “”
Cmdmaiormenor “Maior?”
Lbltextoresultado Resultado
Lblresultado “”
Formulário Form1 “Maior ou Menor?”
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Existem condições para que o projeto acima funcione corretamente. Diante de cada condição,
vamos definir uma mensagem que o programa deverá exibir como RESULTADO:
1. IDADE = 18 anos =>>>>> “VOCÊ É MAIOR, POIS JÁ TEM 18 ANOS”
2. IDADE < 18 anos=>>>>> “VOCÊ É MENOR, POIS AINDA NÃO TEM 18 ANOS”
3. IDADE > 18 anos=>>>>> ”VOCÊ É MAIOR, POIS JÁ TEM “ x “ANOS”
Agora vamos abrir o botão CMDMAIORMENOR e escrever o seguinte trecho no evento CLICK de
programa:
Figura 47
VAMOS ENTENDER O TRECHO DE PROGRAMA ACIMA:
• Inicialmente foi criada a variável idade como inteira e local;
• Em seguida, o conteúdo da propriedade TEXT, da caixa de texto TXTIDADE, foi convertido para
inteiro. O resultado da conversão foi armazenado na variável idade;
• A primeira condição é testada, verificando se a idade armazenada é igual a 18. Caso verdadeiro, a
propriedade TEXT, do objeto LBLRESULTADO, receberá a mensagem “você é maior, pois tem 18
anos”, em seguida, abandona-se as demais teste.
• Se a primeira condição resultar em FALSO, a segunda condição é testada, verificando se a idade
armazenada é menor que 18 anos. Se este teste condicional resultar em verdadeiro, a propriedade
TEXT, do objeto LBLRESULTADO, receberá a mensagem “você é menor, pois ainda não tem 18
anos”, em seguida, abandona-se os demais testes condicionais.
• Se a segunda condição também for FALSA, a propriedade TEXT, do objeto LBLRESULTADO,
receberá a última mensagem concatenada com a idade, armazenada na variável IDADE, e em
seguida, abandona-se os demais testes condicionais.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Outra forma de escrevermos este laço de condições seria o seguinte:
Figura 48
Repare que a programação escrita acima, fará a mesma coisa que a anterior.
Contudo, repare que todos os testes foram fechados somente após a última condição.
Também poderíamos usar o comando SELECT CASE. Antes, porém, vamos conhecer a sintaxe
deste comando.
Sintaxe:
SELECT CASE <VARIÁVEL OU OBJETO>
CASE <TESTE1>
<instruções teste1=verdadeiro>
CASE <TESTE2>
<instruções teste2=verdadeiro>
CASE <TESTEn>
<instruções TESTEn=verdadeiro>
CASE ELSE
<instruções TESTEELSE = verdadeiro>
END SELECT
O VB.NET interpreta da seguinte forma o comando SEL ECT:
Selecione uma das opções conforme o valor armazenad o na variável.
Caso armazene X, execute os comandos abaixo e aband one as demais condições;
Caso armazene Y, execute os comandos abaixo e aband one as demais condições;
Caso armazene Z, execute os comandos abaixo e aban done o laço de condição;
CASO CONTRÁRIO, SE NÃO FOR NENHUMA DAS CONDIÇÕES AN TERIORES, as
últimas instruções serão realizadas.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
É importante saber que, X, Y, e Z são exemplos fict ícios, baseados na sintaxe do comando
SELECT CASE.
Vamos transformar o programa que testa se o aluno é maior, menor ou já tem 18 anos, de tal forma,
que os testes sejam realizados com o comando SELECT CASE. Escreva a seguinte programação:
Figura 49
Podemos testar faixas de valores, utilizando o comando SELECT CASE, veja o exemplo abaixo:
Figura 50
Neste exemplo, a segunda condição testada, verifica se o conteúdo da variável idade é algum valor
entre 1 e 18.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
O exemplo abaixo VÁRIAS FAIXAS de valores, vejamos:
Figura 51
No caso acima, estamos testando se o conteúdo da variável “SALARIO”:
• É igual a 100 OU 200 OU 300;
• Está entre 1 e 99 OU entre 101 e 199;
• Não está entre os valores testados anteriormente.
Você poderá usar em seus programas, qualquer comando de desvio de fluxo. Mas saiba que os
resultados devem ser os mesmos apresentados por ambos.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
2º BIMESTRE
17 – ESTRUTURAS DE REPETIÇÕES: FOR / WHILE / REPEAT
Comando FOR: Este comando de repetição é utilizado quando o programador sabe quantas vezes
o conjunto de comandos do interior do laço deve ser repetido.
Sintaxe:
FOR <VARIÁVEL> = <VALOR INICIAL> TO <VALOR FINAL> [ STEP <PASSO_INCREMENTO> ]
<COMANDOS QUE DEVERÃO SER REPETIDOS>
[EXIT FOR]
NEXT
ONDE:
<VARIÁVEL>: nome da variável que será usada para controlar o laço de repetição;
<VALOR INICIAL>: valor inicial do laço de repetição;
<VALOR FINAL>: valor máximo do laço de repetição;
<PASSO_INCREMENTO>: valor a ser incrementado na variável que controla o laço, em cada
repetição;
ATENÇÃO:
OS TRECHOS INSERIDOS DENTRO DOS COLCHETES “[ ]”, NA SINTAXE DO COMANDO “FOR”,
SERVE PARA INDICAR QUE ESTE TRECHO NÃO É OBRIGATÓRIO.
Exemplo 1:
Figura 52
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
O exemplo funcionará da seguinte forma:
• Primeiramente, ao encontrar o comando “FOR” o VB.NET cria a variável “x” como
inteira;
• Depois, a variável inicia a contagem de repetição do laço com o valor 1;
• Então, executa-se o laço pela primeira vez e uma caixa de mensagem é mostrada com
o número 1, armazenado na variável “x”;
• Ao encontrar o comando “NEXT”, soma-se 2 ao valor armazenado em “x”, pois o STEP
definiu o incremento da variável;
• Como a variável “x” armazenará, neste momento, o número 3 (resultado de 1+2) o laço
é novamente repetido, ou seja, a caixa de mensagem será mostrada novamente,
exibindo desta vez o número 3. Desta forma, concluímos que o laço será repetido 5
vezes.
Podemos também fazer com que o laço seja executado sendo DECREMENTADO. Veja o exemplo:
Figura 53
Note que no exemplo, o valor inicial da variável é 10. O valor final foi definido com 1. Desta forma, a
cláusula STEP torna-se obrigatória, para fazermos a contagem regressiva de 10 até 1.
Vale dizer que expressões aritméticas podem definir o valor inicial e final do laço de repetição.
O próximo exemplo também poderá ser usado em seus programas:
Figura 54
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Neste caso, não usamos a cláusula STEP. Desta forma, a variável “valor” será incrementada de 1 a
cada repetição.
Comando WHILE: Este comando de repetição é utilizado quando o programador NÃO SABE
quantas vezes o conjunto de comandos do interior do laço deve ser repetido. Se o teste condicional for
VERDADEIRO, os comandos escritos no interior do laço SERÃO EXECUTADOS. O laço de repetição será
abandonado quando o teste resultar em FALSO.
Este comando possui duas sintaxes:
Sintaxe 1:
Do While <condição>
<comandos a serem repetidos>
Loop
Sintaxe 2:
Do
<comandos a serem repetidos>
Loop While <condição>
FUNCIONAMENTO DO COMANDO WHILE:
Os comandos do interior do laço são executados ENQUANTO a condição testada for VERDADEIRA. Se o
resultado do teste condicional for FALSO, o laço de repetição é abandonado.
Vejamos alguns exemplos:
Figura 55
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
O laço de repetição pode não ser executado, se escrito como neste exemplo. Caso o teste condicional seja
feito no início da estrutura e o resultado for FALSO, o laço não será executado.
O exemplo funciona da seguinte forma:
• A variável “x” é criada e iniciada com zero (não seria necessário iniciar a variável x com
zero) ;
• Neste exemplo, o teste condicional é feito no início da estrutura, ou seja, antes de entrar no
laço, se a condição for falsa, os comandos do interior do laço não serão executados;
• Sendo verdadeiro, como será, pois x é menor que 10, uma caixa de mensagem surgirá
exibindo o valor 0(zero).
• Ainda no interior do laço, a variável “x” será acrescida de 1;
• Ao encontrar o comando LOOP, novamente será testada a condição do início do laço.
Vejamos agora outro exemplo:
Figura 56
O laço de repetição, exemplificado acima, será executado PELO MENOS UMA VEZ, visto que, o teste
condicional está sendo feito no final da estrutura.
NÃO CONFUNDA O COMANDO “ENQUANTO” COM O “REPITA”, FALADO EM ALGORITMOS.
LEMBRE-SE QUE NO REPITA, se o teste condicional resultar em VERDADEIRO O LAÇO É
ABANDONADO.
JÁ NO ENQUANTO, MOSTRADO TAMBÉM NO EXEMPLO ACIMA, se o teste condicional resultar em
VERDADEIRO, o laço SERÁ EXECUTADO.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Comando REPEAT: Este comando de repetição é utilizado quando o programador NÃO SABE
quantas vezes o conjunto de comandos deve ser repetido. Se o teste condicional for FALSO, os comandos
escritos no interior do laço SERÃO EXECUTADOS. O laço de repetição será abandonado quando o teste
resultar em VERDADEIRO.
Este comando também possui duas sintaxes, que poderão ser utilizadas:
Sintaxe 1:
Do UNTIL <condição(ões)>
<comandos a serem repetidos>
LOOP
Sintaxe 2:
Do
<comandos a serem repetidos>
LOOP UNTIL <condição(ões)>
Vamos analisar o exemplo abaixo:
Figura 57
Este exemplo funcionará da seguinte forma:
• Testa-se a condição. Se for FALSA, os comandos do interior do laço serão executados;
• Ao encontrar o comando LOOP, testa-se novamente a condição.
O LAÇO SERÁ EXECUTADO ATÉ QUE A CONDIÇÃO SE TORNE VERDADEIRA.
Neste caso também, os comandos do interior do laço podem não ser executados.
REPARE QUE O OPERADOR RELACIONAL, NO COMANDO “REPEAT”, É O CONTRÁRIO DO
OPERADOR USADO NO COMANDO “ENQUANTO”
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Agora veja o exemplo do uso do comando “REPEAT” com teste no final da estrutura:
Figura 58
18 – OBEJTO TIMER
Figura 59
Este objeto está disponível na guia “Components”, na janela de ferramentas. Ele é usado sempre
que necessitamos que um trecho de programa seja executado em períodos de tempo.
Como podemos observar na figura, este objeto não será desenhado na área do formulário. Perceba
que uma bandeja de componentes será criada abaixo da janela “Form Design”, armazenando o objeto
TIMER. Para alterar suas propriedades e escrever programas no seu evento, basta fazermos como nos
demais objetos.
Vamos conhecer as propriedades, evento e algumas funções que normalmente são usadas quando
necessitamos deste controle no formulário.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Propriedades mais utilizadas deste objeto são:
PROPRIEDADE PARA QUE SERVE
Name Dar nome ao objeto. Este nome será usado na programação.
Enabled Definir se o objeto estará (TRUE) ou não (FALSE) LIGADO (FUNCIONANDO)
Interval Usada para definirmos o período de tempo que o evento TICK será executado. Se definirmos 1000, estamos informando que o evento será executado de 1 em 1 segundo.
Ao contrário dos demais objetos do VB.NET, este só possui o evento TICK:
EVENTO QUANDO É EXECUTADO
Tick Único evento deste objeto e é executando em intervalos de tempos, definidos na propriedade INTERVAL.
19 – O PROJETO RELÓGIO
Vamos criar um relógio para exibir a hora e a data do sistema em objetos labels, desenhados no
formulário. Neste formulário, deverá existir também UM BOTÃO que servirá para “TRAVAR” ou
“DESTRAVAR” o relógio. Veja como o formulário deve ser desenhado:
Figura 60
Perceba no exemplo ilustrado, que quando nomeamos o objeto TIMER, seu nome é mostrado ao
lado do ícone do relógio, na bandeja de componente, inserida abaixo da janela “Form Design”
Lembre-se de que antes de começar a escrever seu programa, você deve alterar algumas
propriedades e principalmente dar nomes aos objetos do formulário.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Altere as seguintes para os objetos desenhados no formulário:
OBJETO PROPRIEDADE
NAME
PROPRIEDADE
TEXT
PROPRIEDADE
INTERVAL
PROPRIEDADE
ENABLED
Lblh “HORA” ----------- -----------
Lbld “DATA” ----------- -----------
Lblhora “” ----------- -----------
Lbldata “” ----------- -----------
Cmdtravar “TRAVAR” ----------- -----------
tmrDH ----------- 1000 TRUE
Form1 “RELÓGIO” ----------- -----------
Agora sim, podemos programar os objetos “CMDTRAVAR” e “TMRDH”. Para isso, vamos abrir os
eventos Click e Tick, respectivamente, dos objetos e escrever a seguinte programação:
Figura 61
VAMOS ENTENDER AS LINHAS DE COMANDOS DO OBJETO TMRDH:
• As linhas de comandos escritas dentro do evento TICK, serão executadas de 1 em 1 segundo,
conforme definido na propriedade INTERVAL.
• O NameSpace System.DateTime.Now, busca a hora E a data do sistema.
• Em seguida, formatamos à hora e a data buscada, para exibir somente a data do sistema, e depois
a exibimos na propriedade TEXT do LBLDATA.
• Formatamos também à hora e a data buscada, para exibir somente à hora do sistema, e depois, a
exibimos na propriedade TEXT do LBLHORA.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
VAMOS ENTENDER AS LINHAS DE COMANDOS DO OBJETO CMDTRAVAR:
• Ao clicar neste botão, testamos se a propriedade ENABLED do TMRDH está ativa (True), Se o
teste resultar em verdadeiro, a propriedade TEXT, do botão CMDTRAVAR, receberá a palavra
“DESTRAVAR” e o TMRDH SERÁ DESLIGADO (ENABLED = FALSE).
• CASO CONTRÁRIO, se a propriedade ENABLED, do objeto TMRDH, NÃO ESTIVER ATIVA
(FALSE), o botão CMDTRAVAR receberá a palavra “TRAVAR” e o TMRDH será novamente
LIGADO (ENABLED = TRUE).
20 – OBJETOS LISTBOX / COMBOBOX
Figura 62
Estes objetos são usados para exibir listas de opções para o usuário. Basicamente o que difere um
objeto do outro é sua forma de exibir as opções. O objeto ListBox, é desenhado aberto e o ComboBox
fechado.
Muitas propriedades são comuns para os dois objetos. Desta forma terão a mesma utilidade e,
portanto dispensam comentários adicionais.
Várias propriedades destes objetos NÃO SÃO MOSTRADAS NA JANELA “PROPERTIES”, mas
poderão ser usadas quando estivermos programando.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
As propriedades abaixo servem tanto para o objeto ComboBox como para o objeto ListBox:
PROPRIEDADE PARA QUE SERVE
Name Dar nome para os objetos. Este nome será usado na programação.
BackColor Para definirmos uma cor para os objetos.
Count Retorna a quantidade de itens inseridos nestes objetos.
Cursor Para definir o formato do cursor do mouse, quando o mesmo for movido sobre este objeto.
Enabled Definir se estes objetos terão (TRUE) ou não (FALSE) acesso permitido para o usuário, quando o programa estiver rodando. Se definirmos False, o usuário não poderá nem mesmo rolar pelas opções usando a barra de rolagem.
Font Para alteramos as características da fonte do texto dos itens destes objetos.
ForeColor Para definir a cor da fonte do texto dos itens inseridos nestes objetos.
FormatString Usada para formatar o texto de cada item inserido neste objeto. ESTA PROPRIEDADE FUNCIONA EM CONJUTNO COM A PROPRIEDADE FormattingEnabled.
FormattingEnabled Permite (TRUE) ou não (FALSE) que o texto, dos itens inseridos nestes objetos, seja formatado de acordo com a formatação escolhida na propriedade FormatString.
ITEMS Lista dos itens disponíveis dentro destes objetos, para a seleção do usuário.
SelectedIndex Armazena o índice do item selecionado pelo usuário.
SelectedItem Armazena o texto do item selecionado pelo usuário.
Sorted Esta propriedade coloca em ordem alfabética os itens inseridos nestes objetos. Se você necessitar ordenar números, saiba que a ordenação se fará através dos dígitos iniciais de cada item inserido nestes objetos. Ex: 1,10,2,3,4,5,6,7,8,9.
TabIndex Definir um número de ordem, correspondente a sequência da tecla TAB do teclado, para o objeto.
TabStop Indica se o usuário pode usar a tecla TAB para dar foco aos objetos.
Text Armazena o texto de um item escolhido pelo usuário. OBS: Perceba que esta propriedade não está relacionada entre as propriedades listadas na janela “PROPERTIES” do objeto LISTBOX, porém ela pertence a este objeto.
Visible Definir se estes objetos estarão visíveis (TRUE) ou não (FALSE) quando o programa for colocado em execução.
Vejamos abaixo propriedades disponíveis somente para o objeto ListBox :
PROPRIEDADE PARA QUE SERVE
MultiColumn Define se os itens serão (TRUE) ou não (FALSE) mostrados em colunas dentro da ListBox.
SelectionMode Define a forma de seleção dos itens. Os valores disponíveis para esta propriedade são:
NONE - Não permite seleção dos itens, o usuário só poderá visualizá-los e rolar as barras de rolagens que por ventura surgirem na ListBox.
ONE - Permite somente um item entre os vários disponíveis para seleção;
MULTISIMPLE - Permite selecionar vários itens através de clique do mouse, selecionado um item após o outro;
MULTIEXTENDED - Permite seleção de vários itens, usando as teclas Shift OU CTRL em conjunto com cliques do mouse.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
O QUE SÃO MÉTODOS?
São rotinas pré-programadas para realizar uma tarefa específica. Já citamos alguns exemplos de métodos
nesta apostila, tais como: Show(), Hide() e Close() (métodos do objeto formulário)
Quando trabalhamos com os objetos ListBox e ComboBox teremos que utilizar os métodos
relacionados na tabela abaixo:
MÉTODO O QUE FAZ
ADD(“string”) Utilizado para inserir itens na listbox ou no comboBox, através de linha de comandos. O item será inserido após o último item inserido anteriormente.
INSERT(posição , “string” ) Utilizado para inserir itens em uma posição específica na listbox ou no combobox. Obs.: Devemos ter certeza de qual a próxima “posição” disponível para inserirmos o novo conteúdo.
REMOVEAT (posição) Utilizado para remover UM item especificado da listbox ou do combobox.
CLEAR() Limpa/Exclui todos os itens da combobox ou da listbox.
O evento mais importante do objeto ComboBox é o seguinte:
EVENTO QUANDO É EXECUTADO
CLICK Quando o usuário clica em um item disponível nestes objetos
Os evento mais importantes do objeto ListBox são os seguintes:
EVENTO QUANDO É EXECUTADO
CLICK Quando o usuário clica em um item disponível no objeto.
DblClick Quanto o usuário da duplo clique no item disponível no objeto.
Vejamos então alguns trechos de programações importantes, que serão usadas durante o curso:
Exemplo 1:
Figura 63
O trecho de programa acima, adiciona em uma caixa de combo os números ímpares entre 1 e 20.
Veja que para isso foi utilizado o método Add( ). Esta programação foi escrita no evento Load do objeto
Formulário. Usamos também um laço de repetição “FOR”, o que não impediria se usássemos o While ou o
Repeat.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Exemplo 2:
Figura 64
Neste exemplo estamos preenchendo uma caixa de listagem chamada “lstlista”, com valores entre 0
e 20. Repare que são passados como parâmetro, para o método “INSERT”, a posição e o conteúdo da
mesma “(x,x)”, ou seja, na posição 0 o número 0 será inserido, na posição 1 o número 1 será inserido e
assim por diante.
No segundo trecho repare que foi utilizado o método “Add” e este irá inserir na listbox (após o último
item inserido pelo laço de repetição anterior) números entre 0 e 20.
Tanto faz usarmos os métodos INSERT ou ADD para inserirmos itens numa listbox ou no
combobox. O único cuidado que devemos ter, quando usamos o INSERT, é que devemos indicar sempre os
próximos números de posições disponíveis na listbox ou no combobox, para inserir um item. Com estes
objetos vazios, por exemplo, não podemos começar a inserir itens a partir da posição 1. Devemos
indicar a primeira posição disponível, ou seja, a p osição 0.
Exemplo 3:
Figura 65
O trecho acima, verifica se a listbox “lstlista” possui pelo menos um item. Se existir, o primeiro item
da listbox será removido com o método “RemoveAt(0)”. Caso contrário, será exibida uma mensagem,
dizendo que a listbox está vazia.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Exemplo 4:
Figura 66
Neste exemplo, todos os itens da caixa de listagem “lstlista” estão sendo excluídos pelo método
“Clear()”.
Exemplo 5:
Figura 67
Neste exemplo estamos mostrando em uma caixa de mensagem o índice(posição) do item clicado
na caixa de listagem.
Exemplo 6:
Figura 68
Neste exemplo, podemos usar um dos trechos escritos acima para mostrar o texto do item que foi
selecionado pelo usuário. Podemos usar a propriedade TEXT OU SelectedItem. Repare que foi escrito
acima um teste condicional, para verificar se um item qualquer está selecionado. Para isso, devemos
verificar se a propriedade SelectedIndex armazena o número -1. Se a propriedade SelectedIndex estiver
armazenando -1, significa que não foi selecionado nenhum item da listbox.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Exemplo 7:
Figura 69
Neste exemplo, criamos uma rotina de repetição para mostrar todos os textos dos itens inseridos na
listbox “lstlista”. Veja que para isso, foi necessário contar quantos itens existem, neste momento, na listbox
(lstlista.Itens.Count - 1).
Exemplo 8:
Figura 70
Neste exemplo, usamos a propriedade SelectedItens(), para buscar somente o texto dos itens
selecionados pelo usuário. Para realizar este teste, altere a propriedade Sele ctionMode da listbox para
MultiSimple OU MultiExtended.
Exemplo 9:
Figura 71
Este exemplo é MUITO ÚTIL, pois estamos removendo da caixa de listagem somente os itens
selecionados pelo usuário.
REPARE QUE SELECTEDINDEX ARMAZENA OS ÍNDICES DE TOD OS OS ITENS SELECIONADOS e
que SELECTEDITEMS.COUNT VERIFICA QUANTOS ITENS AIND A ESTÃO SELECIONADOS, APÓS
UMA EXCLUSÃO.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Exemplo 10:
Figura 72
Será criada uma caixa de mensagem que exibirá a quantidade de itens existentes na listbox.
Exemplo 11:
Figura 73
Já neste exemplo, veremos em uma caixa de mensagem a quantidade de itens selecionados na
listbox.
Exemplo 12:
Figura 74
Neste exemplo será exibido na caixa de mensagem a quantidade de itens da combobox
“cbocombo”.
Exemplo 13:
Figura 75
Quando o formulário “Form1” estiver sendo carregado, o combo “cbocombo” será preenchido com
números de 1 a 20.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Exemplo 14:
Figura 76
Neste exemplo, se existirem itens na combobox “cbocombo”, será removido sempre o item 0, ou
seja, o primeiro elemento disponível na combo.
Exemplo 15:
Figura 77
Assim como na listbox, o exemplo acima está excluindo todos os itens da combobox “cbocombo”.
Exemplo 16:
Figura 78
Será criada, neste exemplo, uma caixa de mensagem exibindo a quantidade de itens existentes na
combobox “cbocombo”.
Exemplo 17:
Figura 79
Neste exemplo, todos os itens da combobox “cbocombo” estarão sendo exibidos em caixas de
mensagens.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Exemplo 18:
Figura 80
Neste exemplo, será mostrado o índice do item selecionado na combobox “cbocombo”.
Exemplo 19:
Figura 81
Neste exemplo, podemos usar uma entre as 3 linhas de comandos para mostrar o texto de um item
selecionado na combobox “cbocombo”
Exemplo 20:
Figura 82
Neste exemplo, está sendo removido o item que o usuário selecionou.
Exemplo 21:
Figura 83
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
No exemplo, estamos verificando se cada item do objeto “cbocombo” é igual ao dado informado
numa caixa de texto. Se isto acontecer, ou seja, se o número da caixa de texto já existir na combo, o laço
de repetição será interrompido e a variável “achei” receberá a palavra “sim”. Após sair do laço, se a variável
“achei” estiver armazenando a palavra ”não”, significa que o número digitado na caixa de texto não foi
encontrado na combobox “cbocombo”, e sendo assim será inserido na mesma. Porém, se a variável achei
estiver armazenando a palavra “sim”, indicará que em alguma posição da combobox foi encontrado o valor
digitado na caixa de texto, desta forma, a mensagem “item não pode ser inserido, pois já existe no combo”
será mostrada para o usuário.
21 – OBJETO CHECKBOX
Figura 84
Este objeto indica a existência de uma opção qualquer para o usuário. Quando utilizamos vários
CheckBox em um formulário, o usuário poderá selecionar todas, ou algumas delas, se assim desejar.
NÃO UTILIZE ESTE OBJETO se o usuário não puder selecionar mais de uma opção entre as
disponíveis. Por exemplo, para opções de sexo (masculino / feminino) nunca poderemos usar um checkbox,
pois um indivíduo será masculino OU feminino .
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
As propriedades mais importantes do CheckBox são:
PROPRIEDADE PARA QUE SERVE
Name Dar nome ao objeto. Este nome será usado na programação.
Appearance Mudar a aparência do CheckBox. Pode ser usado também com a aparência de um botão.
AutoSize Ajusta a largura do objeto de acordo com o texto inserido na propriedade TEXT.
BackColor Alterar a cor de fundo do objeto.
BackgroundImage Para inserir uma imagem de fundo no objeto.
BackgroundImageLayout Para alinhar uma imagem inserida na propriedade BackgroundImage.
CheckAlign Para alinhar a caixa de verificação à esquerda, no centro ou à direita.
Checked INDICA SE O CHECKBOX FOI (TRUE) OU NÃO (FALSE) SELECIONADO.
Enabled Desabilita (False) ou habilita (True) a checkbox para o usuário.
Font Alterar as configurações de fonte do texto inserido na propriedade TEXT.
ForeColor Alterar a cor da fonte do texto, inserido na propriedade TEXT.
Image Permite inserir uma imagem no interior do objeto.
ImageAlign Para alinhar a imagem inserida na propriedade Image.
TabIndex Definir um número de ordem, correspondente a sequência da tecla TAB do teclado, para o objeto.
TabStop Indica se o usuário pode usar a tecla TAB para dar foco aos objetos.
Text Armazena o texto da opção, que aparecerá para o usuário.
TextAlign Usada para alinhar o texto digitado na propriedade TEXT.
TextImageRelation Definir o alinhamento do texto em relação com a imagem definida na propriedade Image.
Visible Definir se este objeto estará visível (TRUE) ou não (FALSE) quando o programa for colocado em execução.
O evento mais importante para este objeto é o seguinte:
EVENTO QUANDO É EXECUTADO
CheckedChanged Quando o USUÁRIO altera o valor da propriedade Checked do checkbox.
Click Quando o USUÁRIO clica sobre o objeto.
Para exemplificar o uso do objeto vamos desenhar o seguinte formulário:
Figura 85
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Vamos alterar as seguintes propriedades dos objetos desenhados no formulário:
OBJETO PROPRIEDADE
NAME
PROPRIEDADE
TEXT
PROPRIEDADE
ENABLED
PROPRIEDADE
CHECKED
Form1 “Exemplo de uso
CHECKBOX”
--------- ---------
Chkaceito “Aceito termos do
contrato”
--------- FALSE
Cmdinicio “INÍCIO DO
PROGRAMA”
FALSE ---------
COMO O PROGRAMA FUNCIONARÁ?
Quando o usuário selecionar o checkbox “Aceito termos do contrato”, o botão “INÍCIO DO PROGRAMA”
deverá se tornar habilitado.
Observe que a propriedade “Enabled” do botão foi configurada com “False”, ANTES DO PROGRAMA
RODAR.
Caso o usuário desmarque a o checkbox, o botão deve ficar novamente desabilitado.
Para o programa rodar perfeitamente, vamos escrever o seguinte trecho de programa dentro do
evento “CheckedChanged” do objeto “chkaceito”:
Figura 86
Como funcionará o exemplo acima?
Quando o usuário marcar a caixa de verificação, o valor da propriedade “Checked” será “TRUE” e desta
forma o botão terá acesso. Se o usuário clicar novamente na caixa de verificação, tirando a marca de
checagem, o valor da propriedade “Checked” será “FALSE” e desta forma o botão se tornará desabilitado.
O código acima também poderia ser escrito de outras formas, entretanto o resultado seria o mesmo.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Vejamos outra forma de escrever o código para obtermos o mesmo resultado do exemplo anterior:
Figura 87
Como funcionará o exemplo acima?
Da mesma forma que o exemplo anterior, porém, retiramos do código o teste condicional. Com isto, o valor
da propriedade “Checked” do objeto “Chkaceito” será atribuído para a propriedade “Enabled”, do botão
“cmdinicio”. Ou seja, quando o usuário marcar a caixa de verificação, o botão será habilitado. Se o usuário
desmarcar a caixa de verificação, o botão ficará desabilitado.
22 – OBJETO RADIOBUTTON
Figura 87
Este objeto também é conhecido como botão de rádio ou botão de opção (option Button). Ao
contrário do objeto Checkbox, usaremos um botão de rádio num projeto quando entre várias opções
disponíveis o usuário puder selecionar somente uma.
Podemos citar os seguintes casos, como exemplos de situações que utilizaremos os botões de
rádio:
• Sexo: Masculino OU Feminino
• Tamanho: Pequeno OU Médio OU Grande
• Estado civil: Casado OU Solteiro OU Divorciado OU Outros
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
IMPORTANTE:
QUANDO DESEJARMOS CRIAR VÁRIOS GRUPOS DE OPÇÕES, usando botões de rádio, DEVEREMOS
ISOLÁ-LOS COM O OBJETO GROUPBOX. Se não fizermos isto, um grupo irá influenciar na seleção do
outro. Veja próximo item desta apostila.
As propriedades mais utilizadas do botão de rádio são:
PROPRIEDADE PARA QUE SERVE
Name Dar nome ao objeto. Este nome será usado na programação.
Appearance Mudar a aparência do objeto. Pode ser usado também com a aparência de um botão.
AutoSize Ajusta a largura do objeto de acordo com o texto inserido na propriedade TEXT.
BackColor Alterar a cor de fundo do objeto.
BackgroundImage Para inserir uma imagem de fundo no objeto.
BackgroundImageLayout Para alinhar uma imagem inserida na propriedade BackgroundImage.
CheckAlign Para alinhar o botão de rádio à esquerda, no centro ou à direita.
Checked INDICA SE O BOTÃO DE OPÇÃO FOI (TRUE) OU NÃO (FALSE) SELECIONADO.
Enabled Desabilita (False) ou habilita (True) o objeto para o usuário.
Font Alterar as configurações de fonte do texto inserido na propriedade TEXT.
ForeColor Alterar a cor da fonte do texto, inserido na propriedade TEXT.
Image Permite inserir uma imagem no interior do objeto.
ImageAlign Para alinhar a imagem inserida na propriedade Image.
TabIndex Definir um número de ordem, correspondente a sequência da tecla TAB do teclado, para o objeto.
TabStop Indica se o usuário pode usar a tecla TAB para dar foco aos objetos.
Text Armazena o texto da opção, que aparecerá para o usuário.
TextAlign Usada para alinhar o texto digitado na propriedade TEXT.
TextImageRelation Definir o alinhamento do texto em relação com a imagem definida na propriedade Image.
Visible Definir se este objeto estará visível (TRUE) ou não (FALSE) quando o programa for colocado em execução.
Os eventos mais utilizados neste objeto são:
EVENTO QUANDO É EXECUTADO
CheckedChanged Quando o USUÁRIO altera o valor da propriedade Checked do objeto.
Click Quando o USUÁRIO clica sobre o objeto.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Para exemplificar o uso do RadioButton num projeto, vamos desenhar o seguinte formulário:
Figura 88
Vamos alterar as seguintes propriedades dos seguintes objetos:
OBJETO PROPRIEDADE
NAME
PROPRIEDADE
TEXT
PROPRIEDADE
CHECKED
Form1 Cliente ---------
Optm “Masculino” True
Optf “Feminino” False
Pelo padrão do Windows, quando utilizamos botões de rádio num projeto, uma das opções deve
estar selecionada inicialmente, conforme definido na propriedade “Checked” acima.
Agora vamos escrever o seguinte trecho de programa, dentro do evento “Click” dos botões de rádio,
desenhados no formulário:
Figura 89
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Como funcionará o exemplo acima?
Inicialmente, ao rodar o programa, a variável sexo será criada.
Quando o usuário clicar em “Masculino” a variável “sexo” armazenará a palavra “Masculino” e a exibirá
numa caixa de mensagem.
Caso o usuário clicar na opção “Feminino”, a opção “Masculino” será desmarcada automaticamente e
o botão ”Feminino” será marcado. Isto acontecendo, a variável “sexo” armazenará a palavra “Feminino” e a
exibirá numa caixa de mensagem.
Vamos imaginar a seguinte situação, desenhando os seguintes botões de opções:
Figura 90
Temos um problema para resolver no formulário acima. Rode o programa e verifique que se o
usuário clicar numa das opções do estado civil, qualquer uma das opções de sexo serão desmarcadas.
Quando isto acontecer, devemos isolar os o botões de rádio, ou seja, eles não podem ser desenhados
numa mesma área, neste caso no formulário. Vamos resolver este caso no próximo item desta apostila,
usando o objeto GroupBox.
23 – OBJETO GROUPBOX
Figura 91
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Este objeto é utilizado simplesmente para isolar grupos de opções num formulário. Usamos este
objeto em conjunto com o botão de rádio (radiobutton).
IMPORTANTE:
Os botões de rádio NÃO DEVEM SER ARRASTADOS para dentro do GroupBox.
Os botões de rádio DEVEM SER DESENHADOS SOBRE O OBJETO GROUPBOX.
As propriedades mais usadas deste objeto são:
PROPRIEDADE PARA QUE SERVE
Name Dar nome ao objeto. Este nome será usado na programação.
BackColor Alterar a cor de fundo do objeto.
BackgroundImage Para inserir uma imagem de fundo no objeto.
BackgroundImageLayout Para alinhar uma imagem inserida na propriedade BackgroundImage.
Enabled Desabilita (False) ou habilita (True) o objeto para o usuário. OBS.: Neste caso os objetos desenhados dentro do “groupbox”, não estarão disponíveis se esta propriedade estiver com valor “False”.
Font Alterar as configurações de fonte do texto inserido na propriedade TEXT.
ForeColor Alterar a cor da fonte do texto, inserido na propriedade TEXT.
TabIndex Definir um número de ordem, correspondente a sequência da tecla TAB do teclado, para o objeto.
Text Armazena o texto para o grupo de objetos, que serão desenhados dentro deste objeto.
Visible Definir se este objeto estará visível (TRUE) ou não (FALSE) quando o programa for colocado em execução.
Não precisamos trabalhar e/ou conhecer os eventos deste objeto, visto que os eventos que serão
programados são os dos objetos que serão desenhados dentro do GroupBox.
Vamos desenhar o seguinte formulário, isolando os botões de rádio dentro dos seguintes GroupBox:
Figura 92
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
DESENHE OS BOTÕES DE RÁDIO SOBRE A ÁREA DE CADA UM DOS
GROUPBOX DESENHADOS NO FORMULÁRIO. CASO JÁ TENHA DE SENHADO OS BOTÕES FORA
DOS GROUPBOX, SELECIONE-OS, RECORTE-OS E COLE-OS DE NTRO DE CADA GRUPO DE
OPÇÕES.
Como funcionará o programa mostrado?
Lembre-se que não escrevemos programação alguma no formulário desenhado. Vamos ver se os botões
funcionam corretamente quando selecionamos opções de grupos distintos.
Só para efeito de teste, quando você clicar no estado civil “Solteiro”, este ficará marcado e somente a
opção “Casado” será desmarcada. Assim, as opções “Masculino” e/ou “Feminino” não sofrerão alterações,
ou seja, não serão desmarcadas, pois os grupos de opções estão isolados pelos GroupBox.
24 – OBJETO PICTUREBOX
Figura 93
Este objeto é usado em projetos/soluções para exibição de imagens, figuras ou fotos, na área do
formulário.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
As principais propriedades deste objeto são:
PROPRIEDADE PARA QUE SERVE
Name Dar nome ao objeto. Este nome será usado na programação.
BackColor Alterar a cor de fundo do objeto.
BackgroundImage Para inserir uma imagem de fundo no objeto.
BackgroundImageLayout Para alinhar uma imagem inserida na propriedade BackgroundImage.
Enabled Desabilita (False) ou habilita (True) o objeto para o usuário. OBS.: Neste caso os objetos desenhados dentro do “groupbox”, não estarão disponíveis se esta propriedade estiver com valor “False”.
ErrorImage Definir a Imagem que deverá aparecer quando ocorrer falha, ao tentar carregar outra imagem no objeto.
Image Definir a imagem que será inserida no objeto.
ImageLocation Definir o disco ou local da web para carregar a imagem
InitialImage Definir a imagem que será mostrada enquanto outra imagem está sendo carregada.
SizeMode Define se o tamanho da imagem quando for carregada. Você pode ajustar o tamanho da imagem, por exemplo, atribuindo a esta propriedade o valor StretchImage.
Visible Definir se este objeto estará visível (TRUE) ou não (FALSE) quando o programa for colocado em execução.
Método mais utilizado para este objeto:
MÉTODO O QUE FAZ
FromFile Utilizado para carregar uma imagem. Você deve usar este método referindo-se ao membro Image.
Vamos agora escrever um programa para carregar uma imagem no objeto picturebox, quando o
usuário clicar num botão. Para isso devemos desenhar o seguinte formulário:
Figura 94
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Vamos alterar as seguintes propriedades dos objetos desenhados no formulário:
OBJETO PROPRIEDADE
NAME
PROPRIEDADE TEXT
Form1 “Exemplo de uso Picture Box”
Pctfigura --------------
Cmdcarregarfigura “Carregar Figura”
Em seguida, vamos clicar duas vezes no botão “Carregar Figura” abrindo seu evento click, para
escrevermos a seguinte programação:
Figura 95
Vamos escrever também o seguinte trecho de programa no evento click do PictureBox:
Figura 96
Como funcionará o programa mostrado?
• Quando o usuário clicar no botão “Carregar Figura”, será carregada a figura “cti.png”, gravada na
unidade “c:\”.
• Toda vez que o usuário quiser limpar o PictureBox, ou seja, tirar a figura carregada, ele dará um
clique sobre o objeto. Repare que a linha de comando “pctfigura.image = Nothing” , servirá para
deixar o objeto pctfigura sem figura.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
25 – OBJETO TABCONTROL
Figura 97
Antes de descrever sobre o objeto vamos adotar a sigla inicial TBC, para nomearmos o objeto
TABCONTROL e a sigla inicial TB para nomearmos as fichas existentes no interior do objeto
TABCONTROL.
Em alguns projetos, quando trabalhamos com muitos objetos num formulário, surge a necessidade
de distribuí-los na tela, melhorando a visibilidade, a aparência e a sua organização.
O objeto TabControl é usado para dividir os objetos do formulário em fichas (tábuas).
IMPORTANTE: OS OBJETOS DEVEM SER DESENHADOS DENTRO DE CADA FICH A. O
TabControl NÃO FIXA OS OBJETOS SE ESTES FOREM ARRASTADOS PARA A FICHA DESEJADA.
Quando usamos o TabControl, podemos trabalhar com as propriedades que afetarão as
características de todas as fichas. Para isso, devemos selecionar o TabControl. Veja como isso é feito:
Figura 98
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Veja que as alças de redimensionamento estão em volta do objeto TabControl, e não de uma ficha
específica. Se isso acontecesse iríamos ter a seguinte aparência:
Figura 99
No caso acima, estamos com a ficha TABPAGE1 selecionada. Desta forma as propriedades
relacionadas na “Janela Properties” seriam as desta ficha especificamente.
Vamos primeiramente conhecer as propriedades gerais do objeto TABCONTROL. Assim,
estaremos alterando propriedades comuns para todas as fichas contidas no objeto. Vamos conhecer as
suas principais propriedades:
PROPRIEDADE PARA QUE SERVE
Name Dar nome do objeto TabControl. Este nome será usado na programação.
Alignment Define o alinhamento das abas das fichas existentes no objeto TabControl1.
Appearance Alterar a aparência das abas das fichas do objeto TabControl.
Enabled Desabilita (False) ou habilita (True) o objeto e todas as fichas, para o usuário. OBS.: Neste caso os objetos desenhados dentro DE TODAS AS FICHAS, não estarão disponíveis se esta propriedade estiver com valor “False”. O usuário não conseguirá abrir ou clicar nas abas das fichas, para abri-las.
Font Alterar a fonte definida na propriedade TEXT de cada ficha.
SelectedIndex Armazena o índice da ficha aberta pelo usuário.
SelectedTab Usada para indicar o que desejamos das diversas fichas do tabcontrol. Por exemplo: SelectedTab.Text (neste caso estamos retornando o texto da ficha que foi aberta pelo usuário)
TabIndex Indica o número de sequência da tecla TAB, para acessar o objeto sem o mouse.
TabPages Permite alterar as propriedades de cada ficha contida no objeto TabControl.
TabStop Permitir ou não o acesso às fichas do TabControl utilizando a tecla Tab.
Visible Permitir definir se o objeto estará ou não visível quando o projeto for colocado em execução
Outra forma de trabalharmos com as propriedades específicas de cada ficha contida no objeto
TabControl, é clicar no botão , que aparece na propriedade
do TABCONTROL, quando este estiver selecionado. Ao clicar no referido botão surgirá a seguinte janela:
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Figura 100
Observe na janela aberta, que as propriedades que alteram as características do ojbeto TabControl,
estão relacionadas na lista TabPageX properties. Alias o título desta lista recebe o NAME da ficha que
estaremos trabalhando neste momento. Neste caso, “TABPAGE1 PROPERTIES”.
Na janela TABPAGE COLLETION EDITOR, você irá alterar somente as propriedades de cada ficha.
As principais propriedades de cada ficha , do objeto TabControl são as seguintes:
PROPRIEDADE PARA QUE SERVE
Name Dar nome a ficha selecionada na lista “Members”. Este nome será usado na programação.
BackColor Alterar a cor de fundo da ficha selecionada no objeto.
BackgroundImage Para inserir uma imagem de fundo na ficha selecionada no objeto.
BackgroundImageLayout Para alinhar uma imagem inserida na propriedade BackgroundImage.
BorderStyle Altera a borda interna da ficha selecionada.
Cursor Definir o formato do ponteiro do mouse ao ser movimentado sobre a ficha.
Font Definir a formatação de fonte de TODOS OS OBJETOS contidos na referida ficha.
ForeColor Definir a cor da fonte de TODOS OS OBJETOS contidos na referida ficha.
Text Definir o rótulo da ficha selecionada .
ToolTipText Rótulo que aparecerá quando o cursor do mouse mover sobre a ficha selecionada.
UseVisualStyleBackColor Determinar se o fundo da ficha é desenhado com estilos visuais, se suportado.
É BOM SABER !!!
A CAIXA DE PROPRIEDADES PODE EXIBIR SOMENTE AS PROPRIEDADES DE CADA FICHA DO
OBJETO TABCONTROL. PARA ISSO, BASTA SELECIONAR A FICHA DESEJADA.
DESTA FORMA NÃO HÁ NECESSIDADE DE USARMOS A PROPRIEDADE TABPAGES DO OBJETO
TABCONTROL
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Os eventos mais utilizados do objeto TABCONTROL são os seguintes:
EVENTO QUANDO É EXECUTADO
Selected Ocorre após a seleção de uma ficha.
Selecting Ocorre no momento da seleção da ficha. Este evento é executado primeiro que o evento Selected.
Para conhecer melhor os eventos e algumas propriedades programadas do objeto TABCONTROL e
de suas FICHAS, vamos criar o seguinte formulário:
Figura 101
Agora altere as seguintes propriedades para que o seu formulário fique exatamente igual ao da
figura acima:
OBJETO PROPRIEDADE
NAME
PROPRIEDADE TEXT
FORM1 “Exemplo de uso de fichas”
TBCCF
--------
TBCLIENTES “Clientes”
TBFORNCEDORES “Fornecedores”
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Agora vamos programar os seguintes eventos do objeto TBCCF:
Figura 102
Como funcionará o programa mostrado?
• No evento SELECTING:
Será mostrado o TEXTO, contido na propriedade TEXT, da ficha que o usuário está selecionando
(abrindo).
• No evento SELECTED:
Depois, será mostrado o índice da ficha que foi aberta pelo usuário quando o programa estiver
sendo executado.
26 – OBJETO MASKEDTEXTBOX
Figura 102
Este objeto é usado para criar máscara de entrada de dados na tela. Assemelha-se a uma caixa de
texto.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Podemos usar este objeto para criar máscaras de digitação dos seguintes dados:
• CPF
• CNPJ
• CEP
• INSCRIÇÃO MUNICIPAL
• INSCRIÇÃO ESTADUAL
• OU ATÉ MESMO, campos que exijam somente a digitação de letras
As propriedades mais importantes deste objeto são:
PROPRIEDADE PARA QUE SERVE
Name Dar nome para o objeto. Este nome será usado na programação.
BackColor Alterar a cor de fundo do objeto.
BeepOnError Permite (True) ou não (False) que seja soado um beep, se o usuário estiver tentado digitar um caractere não permitido, diante da máscara definida na propriedade MASK.
BorderStyle Alterar a borda do objeto.
Cursor Definir o formato do ponteiro do mouse ao ser movimentado sobre o objeto.
Font Definir a formatação de fonte do texto que será digitado na propriedade TEXT do objeto.
ForeColor Definir a cor da fonte do texto contido na propriedade TEXT deste objeto.
HidePromptOnLeave Definir se os caracteres de prompt serão mostrados para o usuário, quando o programa estiver sendo executado.
HideSelection Indicar se o conteúdo que foi selecionado pelo usuário, quando estava digitando um valor qualquer na máscara, perderá (TRUE) ou não (FALSE) a seleção, quando o objeto perder o foco.
MASK Esta propriedade é a mais importante deste objeto. Ela quais os tipos de caracteres poderão ser digitados neste campo. Exemplos mais usados:
# – Permite a digitação de um número
? – Permite a digitação de uma letra
A – Permite a digitação de uma letra OU um número
PasswordChar O caractere digitado nesta propriedade criará uma máscara que impedirá o usuário de visualizar o que está sendo digitado. ESTA PROPRIEDADE É NORMALMENTE USADA PARA CAMPOS DE SENHA.
PromptChar O caractere inserido nesta propriedade irá aparecer quando o campo receber o foco e servirá para exibir a máscara de entrada para o usuário do programa.
RightToLeft Indicará (TRUE) ou não (FALSE) se a digitação do campo se fará da direita para a esquerda.
TabIndex Indicar o índice da tecla TAB, para acessar o objeto pelo teclado.
TabStop Indicar se o objeto poderá (TRUE) ou não (FALSE) ser acessado pela tecla TAB.
Text Definir o rótulo da ficha selecionada .
TextAlign Definir o alinhamento do texto dentro do objeto.
TextMaskFormat Indica se o conteúdo da propriedade text, quando for usada, poderá retornar o texto e a mascara OU somente o texto.
UseSystemPasswordChar Indicar se o texto informado deve aparecer (TRUE) ou não (FALSE) como o caractere de senha padrão.
Visible Indica se o controle estará ou não visível na tela quando o programa for colocado em execução.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Quando você clicar no botão que aparece na janela properties da seguinte forma:
surgirá então, a janela “INPUT MASK”, para informarmos qual será a mascará para entrada de
dados no referido objeto:
Figura 103
No campo MASK, da janela acima, podemos usar alguns curingas, para restringir conteúdos
digitados pelo usuário, a saber:
USANDO NA PROPRIEDADE MASK
O QUE ACONTECERÁ?
0 Dígito requerido. Aceita qualquer número entre 0 e 9.
9 Dígito ou espaço opcional.
# Dígito ou espaço são opcionais. Se esta posição está em branco na mascará, ele será processado como um espaço na propriedade TEXT. Os sinais + e – são aceitos.
L Obrigatória a digitação de letras. São aceitos entradas de caracteres ASCII de a-z e A-Z. Esta máscara equivale a [a-zA-Z] nas expressões regulares.
? Letras são opcionais. Restringe a entrada de letras de a-z e A-Z. Esta máscara equivale a [a-zA-Z]? nas expressões regulares.
& Obrigatório uso de caracteres. Se a propriedade ASCIIONLY estiver com o valor TRUE, esta mascará se comportará igual a máscara "L".
C Caractere são opcionais. Qualquer caractere poderá ser digitado. Se a propriedade ASCIIONLY possuir o valor TRUE, esta mascará se comportará da mesma forma que a máscara “?”.
A Obrigatório a digitação de um caractere alfanumérico (letras ou números). Se a propriedade ASCIIONLY possuir o valor TRUE, esta mascará aceitará a digitação de letras de a-z e A-Z.
A Não é obrigatório a digitação de alfanumérico. Se a propriedade ASCIIONLY possuir o valor TRUE, apenas os caracteres a-z e A-Z serão aceitos.
. Espaço reservado para casas decimais.
, Separador de milhar.
: Separador de Horas/Minutos/Segundos.
/ Separador de Data.
R$ Símbolo de moeda expressa em real.
< Converte todos os caracteres digitados para minúsculos.
> Converte todos os caracteres digitados para maiúsculos.
| Desativa a conversão de maiúsculo e/ou minúsculo a partir do ponto que aparece esta mascara.
OUTROS CARACTERES Qualquer outro caractere inserido na propriedade mask, APARECERÁ COMO CONSTANTE NO TEXTO DIGITADO PELO USUÁRIO NA PROPRIEDADE TEXT.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
A tabela abaixo mostra também, outros tipos de máscaras aceitos na propriedade MASK:
USANDO NA PROPRIEDADE MASK
O QUE ACONTECERÁ?
00/00/0000 Obriga o usuário digitar a data (dia, mês, ano) no formato internacional.
00->L<LL-0000
A data (dia, mês abreviado e ano) será informada no formato americano. O mês conterá 3 letras, sendo o primeiro dígito maiúsculo e as demais em minúsculas.
00,000-000 Número de um CEP do Brasil.
Para exemplificar o uso deste objeto, bem como suas principais propriedades, vamos desenhar num
formulário dois objetos maskedtextbox, conforme a figura a seguir:
Figura 104
Vamos definir os valores para as seguintes propriedades dos objetos do formulário acima:
OBJETO NAME TEXT MASK PROMPTCHAR PASSWORDCHAR
FORM1 “Objetos
Máscaras”
------- ----------- -----------
Mskdata “” ##/##/### _
(UNDERLINE)
“”
MSKSENHA “” ##??AA “” *
Rode o projeto acima e perceba que quando você colocar o cursor (foco) nos campos de máscara,
estes irão apresentar as seguintes máscaras:
Figura 105
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Uma observação a mais deve ser feita. Repare que a máscara inserida para o objeto MSKSENHA
foi a “##??AA”, isto significa que o usuário deverá digitar: nos dois primeiros dígitos somente números, nos
dois dígitos a seguir devem ser digitados somente letras de A – Z e nos dois últimos dígitos, poderão ser
digitados números e/ou letras. Se você testou este programa, viu também que o que está sendo digitado
neste campo não será mostrado para o usuário, mas sim uma sequência de * (asteriscos), pelo fato de ter
sido informado o caractere “*”, na propriedade PassWordChar.
27 – CLASSE STRING: MÉTODOS MANIPULADORES DE STRING
Os métodos que manipulam string são muito utilizados em programas. Vamos conhecer agora os
métodos da classe string.
A tabela abaixo relaciona os métodos para manipulação de strings mais utilizados em programas:
Método do .Net Framework Para que Server? Exemplo de uso
String.Count Retornar a quantidade de caracteres contidos na string
Dim dado As String Dim qtde As Integer dado = "teste" qtde = dado.Count A variável qtde recebe o número 5, que corresponde a quantidade de caracteres da variável dado
String.ElementAt(x) Retornar o caractere da posição indicada em X. O valor de X não pode ser maior ou igual a quantidade de caracteres existentes na string.
Dim dado, retorno As String dado = "teste" retorno = dado.ElementAt(3) A variável retorno recebe a segunda letra “t”. Lembre- se que a primeira letra “t” está na posição 0(zero).
String.First Retornar o primeiro caractere armazenado na string
Dim dado, retorno As String dado = "Alberson" retorno = dado.First A variável retorno armazenará a letra “A”.
String.IndexOf(caractere) Retornar a posição inicial da sequência de caracteres na string.
Caso não exista a sequência na string, será retornado o número -1
Dim dado As String dado = "Alberson" MsgBox(dado.IndexOf( "A" )) A caixa de mensagem mostrará o número 0, que representa a posição da letra “A” na string.
String.IndexOfAny(caracteres)
OU
String.IndexOfAny(caracteres, posiçãoincial, qtdecaracteres)
Retornar a primeira posição que encontra os caracteres informados.
Se retornar -1, indica que nenhum dos caracteres foram encontrados na string.
Dim dado As String dado = "Alberson" MsgBox(dado.IndexOfAny( "ers") ‘retornará 3 MsgBox(dado.IndexOfAny( "ers" , 5, 3)) ‘retornará -1 MsgBox(dado.IndexOfAny( "ers" , 2, 6)) ‘retornará 3
String.Insert(posicao,sequência) Inserir na string a “sequência” a partir de uma “posição” .
Dim dado As String dado = "Alberson" MsgBox(dado.Insert(1, "teste" )) Mostrará a palavra “Atestelberson”
String.Length Retornar a quantidade de caracteres contidos na string.
Dim dado As String dado = "Alberson" MsgBox(dado.Length)
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Continuação do quadro de métodos manipuladores de strings:
Método do .Net Framework Para que Server? Exemplo de uso
String.Max Retornar o maior caractere da string, de acordo com a ordem alfabética.
Dim dado As String dado = "Alberson" MsgBox(dado.Max) Mostrará a letra “s”
String.Min Retornar o menor caractere da string, de acordo com a ordem alfabética.
Dim dado As String dado = "Alberson" MsgBox(dado.Min) Mostrará a letra “A”
String.Remove(p, q) Retornar a string sem a quantidade “q” de caracteres retiradas a partir da posição “p”.
Dim dado As String dado = "Alberson" MsgBox(dado.Remove(0, 3)) Mostrará “erson”
String.Replace(S1, S2) Ao encontrar a sequência S1 na string, trocará pela sequência S2.
Dim dado As String dado = "Alberson" MsgBox(dado.Replace( "Alb" , "aLB" )) Mostrará “aLBerson”
String.StartsWith(c) Retorna True ou False, indicando se a string inicia com os caracteres indicados em “c”.
Dim dado As String dado = "Alberson" MsgBox(dado.StartsWith( "al" )) Mostrará FALSE, pois a string não inicial com “al” (minúsculo), mas sim com “Al” (A maiúsculo e l minúsculo)
String.Substring(PI,q) Retornar uma quantidade “q” de caracteres a partir da posição “PI”.
Não confunda este método com o remove
Dim dado As String dado = "Alberson" MsgBox(dado.Substring(0, 3)) Mostrará “Alb”
String.TrimStart Retira os espaços em branco do início da string.
Dim dado, novodado As String dado = " Alberson " novodado = dado.TrimStart A variável novodado armazenará "Alberson " .
String.ToLower Retorna o texto da string em minúsculo.
Dim dado As String dado = "Alberson" MsgBox(dado.ToLower) Mostrará “alberson”
String.ToUpper Transformar a string em maiúsculo
Dim dado, novodado As String dado = "teste" novodado = dado.ToUpper A variável novodado armazenará “TESTE”
String.ToUpper Retorna o texto da string em maiúsculo.
Dim dado As String dado = "Alberson" MsgBox(dado.ToUpper) Mostrará “ALBERSON”
String.Trim Retira os espaços à direita e à esquerda da string.
Dim dado, novodado As String dado = " Alberson " novodado = dado.Trim A variável novodado armazenará “Alberson”, sem espaços à direita e à esquerda.
String.TrimEnd Retira os espaços em branco do final da string.
Dim dado, novodado As String dado = " Alberson " novodado = dado.TrimEnd A variável novodado armazenará " Alberson" .
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
28 – MANIPULANDO DATAS E HORAS NO VB.NET
Vamos conhecer alguns métodos e propriedades para manipulação de datas no vb.net. Antes,
porém, é importante saber manipular datas na memória RAM, em variáveis. Para isso, devemos usar o tipo
DATETIME, conforme o exemplo abaixo:
Figura 106
É bom salientar que a variável acima é capaz de armazenar a data E a hora do sistema. Vejamos:
Figura 107
No exemplo, na figura acima, a propriedade NOW busca a data e a hora do sistema e os armazena
na variável data.
Vamos agora, trabalhar com a data e hora armazenada. Primeiramente vamos exibir o que foi
armazenado na variável “data”.
Figura 108
A seguinte mensagem será mostrada:
Figura 109
O próximo exemplo exibe somente a data armazenada na variável “data”.
Figura 110
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Ao executar a linha de comando acima, será mostrada a seguinte caixa de mensagem:
Figura 111
Para exibirmos a hora, minuto e segundo da data armazenada, usaremos as propriedades Hour,
Minute e Second, conforme exemplo abaixo:
Figura 112
Em outras situações, torna-se necessário trabalhar com o ano, o mês e o dia da data armazenada
na variável “data”. Para isso devemos usar as seguintes linhas de comandos, respectivamente:
Figura 113
Outra informação muito importante, quando manipulamos datas, refere-se ao conhecimento de um
ano bissexto. Para isso, usaremos o método IsLeapYear. Veja exemplo:
Figura 114
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Podemos também adicionar dias, meses, anos na variável “data”. Vejamos exemplos:
Figura 115
Para adicionar ou subtrair horas, minutos ou segundos de uma hora armazenada na variável “Data”,
usaremos as seguintes linhas de comandos:
Figura 116
Repare nas duas últimas ilustrações, que está sendo usada a função FormatDateTime. Esta função
é usada para formatar horas e datas. Quando utilizamos esta função, devemos passar dois parâmetros,
sendo primeiramente a informação a ser formatada (hora ou data) e o segundo parâmetro indica como a
data ou hora será formatada.
O próximo exemplo mostra como retornar a quantidade de dias do ano armazenado na variável
data. Para isso usaremos a propriedade DayOfYear:
Figura 117
Para exibir o dia da semana armazenado na variável data, usamos a propriedade DayOfWeek. Vale
dizer que domingo = 0, segunda = 1, terça =2 e assim sucessivamente:
Figura 118
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Para mostrar a quantidade de dias de um mês e ano especificados, usamos o método DaysInMonth, da seguinte forma:
Figura 119
No exemplo acima, estamos exibindo a quantidade de dias do mês 3 do ano de 2010.
28.1 - FUNÇÃO DATEDIFF
Retorna um valor de Long especificando o número de intervalos de tempo entre dois valores de
Date.
Public Overloads Function DateDiff( ByVal Interval As [ DateInterval | String ], ByVal Date1 As DateTime, ByVal Date2 As DateTime,
Optional ByVal DayOfWeek As FirstDayOfWeek = FirstDayOfWeek.Sunday, Optional ByVal WeekOfYear As FirstWeekOfYear
= FirstWeekOfYear.Jan1) As Long
Vejamos o que deve ser informado em cada parâmetro, na função DateDiff():
Interval: Obrigatório . Valor de numérico DateInterval, ou String, que representa o intervalo de tempo que
você deseja usar como a unidade de diferença entre Date1 e Date2.
O argumento Interval pode ter uma das seguintes configurações:
Valor de numérico Valor de Cadeia de Caracteres Unidade de diferença de horário
DateInterval.Day "d" Dia
DateInterval.DayOfYear "y" Dia
DateInterval.Hour "h" Hora
DateInterval.Minute "n" Minuto
DateInterval.Month "m" Mês
DateInterval.Quarter "q" Trimestre
DateInterval.Second "s" Segundo
DateInterval.Weekday "w" Semana
DateInterval.WeekOfYear "ww" Semana do calendário
DateInterval.Year "AAAA" Ano
Date1: Obrigatório . Date. O valor de data/hora primeiro que você deseja usar no cálculo.
Date2: Obrigatório . Date. O segundo valor de data/hora que você deseja usar no cálculo.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
DayOfWeek: Opcional . Um valor escolhido da enumeração FirstDayOfWeek que especifica o primeiro dia
da semana.Se não especificado, FirstDayOfWeek.Sunday é usado.
O argumento DayOfWeek é opcional e pode ter uma das seguintes configurações:
Valor de numérico Value (Valor) Descrição
FirstDayOfWeek.System 0 Primeiro dia da semana especificado nas configurações do sistema
FirstDayOfWeek.Sunday 1 Domingo (padrão)
FirstDayOfWeek.Monday 2 Segunda-feira (compatível com padrão 8601, Seção 3.17 ISO)
FirstDayOfWeek.Tuesday 3 Terça-feira
FirstDayOfWeek.Wednesday 4 Quarta-feira
FirstDayOfWeek.Thursday 5 Quinta-feira
FirstDayOfWeek.Friday 6 Sexta-feira
FirstDayOfWeek.Saturday 7 Sábado
WeekOfYear: Opcional . Um valor numérico escolhido FirstWeekOfYear que especifica o primeiro dia da
semana.Se não especificado, FirstWeekOfYear.Jan1 é usado.
O argumento WeekOfYear é opcional e pode ter uma das seguintes configurações:
Valor de numérico Value (Valor) Descrição
FirstWeekOfYear.System 0 Primeira semana do ano especificado nas configurações do sistema
FirstWeekOfYear.Jan1 1 Semana em que 1 º de janeiro ocorre (padrão)
FirstWeekOfYear.FirstFourDays 2 Semana que tenha pelo menos quatro dias no novo ano (obedece ao padrão ISO
8601, seção 3.17 )
FirstWeekOfYear.FirstFullWeek 3 Primeiro semana Completo do ano novo
Exemplos:
Figura 120
Neste primeiro exemplo, estamos calculando a diferença EM DIAS entre as datas 01/02/2010 e
03/02/2010. Como resultado será exibido 2.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Figura 121
Acima, está sendo calculada a diferença em horas, entre as horas informadas, gerando como
resultado 4. Veja que os 10 minutos não foram computados, pois a função DateDiff recebeu como
parâmetro o “h”, indicando-se com isso que o resultado deveria ser dado em horas.
29 - CLASSE MATH: FUNÇÕES TRIGONOMÉTRICAS, LOGARITM ICAS E MATEMÁTICAS
Fornece constantes e métodos estáticos para trigonométricas, logarítmicas e outras funções
matemáticas comuns.
Para usarmos a classe MATH em nossos programas, devemos escrevê-lo da seguinte forma:
X = MATH.<MÉTODO>
Quando utilizar a classe MATH, você deverá criar variáveis com tipos equivalentes aos retornados
pelos métodos da referida classe.
Vejamos os métodos mais utilizados da classe math no vb.net:
MÉTODOS UTILIDADE
Abs() Retorna o valor absoluto de um número.
IEEERemainder(x1,x2) Retorna o resto resultante da divisão de um número x1 pelo número x2.
Max(Decimal, Decimal) Retorna o maior de dois números.
Min(Decimal, Decimal) Retorna o menor de dois números.
Pow(x,y) Retorna o resultado da potência de uma base x por um expoente y.
Round(Decimal) Arredonda um valor decimal para o próximo valor integral.
Round(Double) Arredonda um valor de dupla precisão em ponto flutuante para o próximo valor
integral.
Round(Decimal, Int32) Arredonda um valor decimal para um número especificado de dígitos fracionários.
Round(Double, Int32) Arredonda um valor de precisão dupla de ponto flutuante para um número
especificado de dígitos fracionários.
Sign(numero) Retorna o sinal de um número indicado.
Sqrt() Retorna a raiz quadrada de um número especificado.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Abaixo estão relacionados outros métodos utilizados da classe MATH.
MÉTODOS UTILIDADE
Acos() Retorna o ângulo cujo cosseno é o número especificado.
Asin() Retorna o ângulo cujo seno é o número especificado.
Atan() Retorna o ângulo cuja tangente é o número especificado.
Atan2(n1,n2) Retorna o ângulo cuja tangente é o quociente de dois números especificados.
Ceiling() Retorna o menor valor inteiro igual ou superior ao especificado de precisão dupla,
número de ponto flutuante.
Cos() Retorna o cosseno do ângulo especificado.
Cosh() Retorna o cosseno hiperbólico do ângulo especificado.
Exp() Retorna e elevado à potência especificada.
Floor() Retorna o maior inteiro menor ou igual ao especificado de precisão dupla, número
de ponto flutuante.
Log(Double) Retorna o logaritmo natural (base e) de um número especificado.
Log(Double, Double) Retorna o logaritmo de um número especificado em uma base especificada.
Log10() Retorna o logaritmo base 10 de um número especificado.
Sin() Retorna o seno do ângulo especificado.
Sinh() Retorna o seno hiperbólico do ângulo especificado.
Tan() Retorna a tangente do ângulo especificado.
Tanh() Retorna a tangente hiperbólica do ângulo especificado.
Exemplos:
Figura 122
O exemplo acima calcula a raiz quadrada de um número digitado numa caixa de texto.
Figura 123
Já no exemplo acima, está sendo calculada a raiz quadrada do número 9.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Figura 124
Neste exemplo será calculado o cubo de um número digitado numa caixa de texto.
30 - GERAÇÃO DE NÚMEROS ALEATÓRIOS
Um assunto bastante importante na informática refere-se à geração de números aleatórios, ou seja,
números que o próprio computador gera automaticamente.
Na informática, os números aleatórios são usados normalmente em jogos, por exemplo: bingos,
sorteio de questões (Quiz). Jogos de perguntas e respostas, utilizados normalmente em programas de TV
fazem uso desta função.
No Visual Basic, usamos a função RND( ) para geração de números aleatórios.
Vejamos alguns exemplos:
Figura 125
No exemplo acima, serão sorteados números entre 1 e 6 sempre que o botão “gerar” for clicado.
Cada número gerado será mostrado numa caixa de mensagem.
RANDOMIZE( ): Repare no exemplo acima, que foi utilizado o comando RANDOMIZE(). Este
comando deve ser utilizado sempre que usarmos a função RND. Ele inicia o gerador de números
randômicos.
O QUE ACONTECERIA SE NÃO UTILIZÁSSEMOS O RANDOMIZE no exemplo acima?
Sempre que o botão “cmdgerar” fosse clicado pela PRIMEIRA VEZ, um mesmo número seria sempre
gerado.
Quando usamos o RANDOMIZE, ESTE PROBLEMA É MINIMIZADO , ou seja, PODE SER QUE EM
PRIMEIROS CLIQUES FUTUROS, seja gerado um número ig ual ao sorteado no passado.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Para geração de números entre limites predefinidos usamos a seguinte fórmula:
numgerado = Int((numeroMAIOR - numeroMENOR + 1) * Rnd() + numeroMENOR )
Vejamos o exemplo a seguir:
Figura 126
Acima vemos um exemplo que gera números inteiros entre 5 e 10. Cada número gerado é mostrado
em uma caixa de mensagem.
IMPORTANTE !!!
O RANDOMIZE() USADO COM A FUNÇÃO RND() NÃO IMPEDE QUE O COMPUTADOR GERE
NÚMEROS JÁ SORTEADOS.
Um exemplo de código, que impede a geração de números aleatórios repetidos pode ser o seguinte:
Figura 127
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
COMO FUNCIONA O EXEMPLO ANTERIOR?
Serão gerados números entre 1 e 10, sem repetições, obedecendo aos seguintes passos:
• O laço de repetição “WHILE” controla quantos números já foram sorteados;
• Ao entrar no laço “WHILE”, um número entre 1 e 10 é sorteado;
• Logo depois, a variável “achei” é iniciada com “nao". Esta variável será usada para permitir ou não
a inclusão do número sorteado numa caixa de listagem;
• O laço de repetição “FOR” é iniciado para controlar o salto de posições na ListBox, chamada
“lstgerados”;
• Dentro do laço “FOR” verifica-se se o número gerado é igual a cada item já contido na caixa de
listagem “lstgerados”. Se isso acontecer, ou seja, o número sorteado for igual a algum item da lista,
o laço “FOR” será estourado e a variável “achei” receberá “sim”.
• Se ao sair do laço “FOR”, a variável “achei” armazenar a palavra “sim”, o valor da variável “x” NÃO
SERÁ acrescido de 1, ou seja, outro número será sorteado, visto que o número já existe na
“lstgerados”.
• Se ao sair do laço “FOR”, a variável “achei” armazenar a palavra “nao", indica que o número
sorteado não está contido na caixa de listagem “lstgerados”. Assim este é inserido na lista e o valor
de x é acrescido de 1.
• Logo depois, repete-se todos os passos, enquanto o valor de x for menor ou igual a 10. Quando x
for maior que 10, significará que 10 números já foram sorteados aleatoriamente.
Vejamos alguns exemplos de como os números poderão ser gerados aleatoriamente:
Figura 128
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
31 - VARIÁVEIS INDEXADAS: VETOR E MATRIZES
Como sabemos, variáveis indexadas são utilizadas para armazenar dados em tabelas, na memória
RAM. Estas variáveis podem ser do tipo vetor, com uma única dimensão, ou matriz com várias dimensões.
Vamos aprender a criá-las e manipular dados dentro das mesmas. Para isso, leia todos os itens deste
capítulo da apostila.
31.1 – VETORES UNIDIMENSIONAIS FIXOS
Agora vamos aprender a trabalhar com vetores no vb.net. Para criarmos VETORES FIXOS
(quantidade determinadas de posições ) podemos usar uma das sintaxes abaixo:
Dim <nome_vetor>(qtdeposições) as <tipo de dado>
OU
Dim <nome_vetor>(0 TO qtdeposições) as <tipo de dad o>
OU
Public <nome_vetor>(qtdeposições) as <tipo de dado>
Exemplos:
Figura 129
OBSERVAÇÕES SOBRE O EXEMPLO ACIMA:
No exemplo acima estão sendo criadas duas variáveis indexadas do tipo VETOR, uma chamada “x” COM
10 POSIÇÕES (0 ATÉ 9, implícito no comando), e outra chamada “NOME”, TAMBÉM COM 10 POSIÇÕES
(0 ATÉ 9, especificado na cláusula 0 to 9).
A variável “x” é GLOBAL para o formulário e a variável “nome” é local do evento Form1_Load. Portanto,
ambas foram criadas com o comando DIM.
Veja outro exemplo:
Figura 130
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
OBSERVAÇÕES SOBRE O EXEMPLO ACIMA:
Já neste exemplo, foi criada a variável indexada “SALARIOS” como sendo um vetor contento também 10
posições (0 até 9), porém esta variável foi criada num módulo com o comando PUBLIC, indicando com isso
que este vetor poderá ser usado em todos os formulários e módulos do projeto.
31.2 – ARRAYS (MATRIZES) BIDIMENSIONAIS FIXAS
Como sabemos, matrizes possuem duas ou mais dimensões e são conhecidas também como
ARRAYS .
Para criarmos matrizes bidimensionais devemos usar uma das seguintes sintaxes:
Dim nomematriz(dimensão1, dimensão2) as <tipo de dados>
OU
Dim nomematriz(0 to dimensão1, 0 to dimensão2) as <tipo de dados>
OU
Public nomematriz(dimensão1, dimensão2) as <tipo de dados>
Repare nas sintaxes acima que dentro dos parênteses devem ser indicados os valores
correspondentes a última linha e coluna da matriz. LEMBRE-SE QUE SEMPRE AS LINHAS E COLUNAS
NA INCIAM NA POSIÇÃO 0(ZERO).
Vejamos alguns exemplos de criação de arrays (matrizes):
Figura 131
OBSERVAÇÕES SOBRE O EXEMPLO ACIMA:
Repare que as matrizes nomes e sexo TERÃO MESMA DIMENSÕES, ou seja, 2 linhas e 4 colunas, isto
porque teremos as linhas 0 e 1, e as colunas 0,1,2 e 3.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Diante do exemplo teremos as seguintes matrizes criadas na memória RAM:
Nomes
0,1 0,2 0,3 0,4
1,1 1,2 1,3 1,4
Sexo:
0,1 0,2 0,3 0,4
1,1 1,2 1,3 1,4
Observação: os números indicados acima representam as posições que armazenarão os dados.
Podemos criar também uma matriz com uma única dimensão, conforme exemplo abaixo:
Figura 132
Neste exemplo cria-se uma matriz que poderá ser representada da seguinte maneira:
Cidades:
OBSERVAÇÕES SOBRE O EXEMPLO ACIMA:
NO CASO ACIMA, foi criada somente a coluna 0 e as linhas de 0 até 4(totalizando 5 linhas).
31.3 – VETOR DINÂMICO E COMANDO REDIM
Este tipo de vetor é usado quando O PROGRAMADOR NÃO SABE QUANTAS POSIÇÕES o vetor
deverá ter. Esta informação será conhecida durante a execução do programa.
Para criar um vetor dinâmico devemos omitir os números que representam a última posição do
vetor. Depois, durante a execução do programa devemos usar o comando REDIM, para redimensionar a
quantidade de posições deste vetor.
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
Veja exemplo:
Figura 133
O que acontece no trecho de programa acima?
• Primeiramente, quando o programa é posto em execução é criado um vetor dinâmico chamado
“enderecos".
• Quando o usuário clicar no botão “cmdqtdeend” o vetor “enderecos" será REDIMENSIONADO
PARA 4 POSIÇÕES.
IMPORTANTE:
SEMPRE QUE USARMOS O REDIM NUM PROGRAMA, DEVEMOS TO MAR CUIDADO, POIS CASO
EXISTAM DADOS ARMAZENADOS NO VETOR ESTES SERÃO PERD IDOS.
31.4 – VETOR DINÂMICO E COMANDO REDIM PRESERVE
Como vimos no exemplo dado no item anterior, o comando REDIM provoca a perda de dados
armazenados no vetor, se no momento do redimensionamento estiver armazenada alguma informação.
Podemos redimensionar um vetor, mantendo os dados nele armazenados. Para isso devemos usar
a cláusula PRESERVE JUNTAMENTE COM O COMANDO REDIM.
Veja exemplo:
Figura 134
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
O que acontece no trecho de programa do exemplo dado?
• Primeiramente, quando o programa é posto em execução é criado um vetor dinâmico chamado
“enderecos".
• Quando o usuário clicar no botão “cmdqtdeend” o vetor “enderecos" será REDIMENSIONADO
PARA 2 POSIÇÕES.
• O endereço “Rua dos lagos” foi armazenado na posição 0(zero) do vetor.
• Logo depois, repare que o comando REDIM FOI NOVAMENTE UTILIZADO SEGUIDO DA
CLÁUSULA PRESERVE. Desta forma, o endereço “Rua dos Lagos” não será perdido. Assim, o
vetor passou a ter mais uma posição, ou seja, terá 3 POSIÇÕES.
• Para finalizar, o endereço “Rua São João” foi armazenado na posição 1 do vetor.
• Quando os comandos MSGBOX forem executados você perceberá que os endereços foram
armazenados sem perda alguma.
31.5 – ARRAY (MATRIZES) TRIDIMENSIONAIS
No vb.net podemos trabalhar com matrizes tridimensionais. Com elas, teremos uma matriz contendo
matrizes, linhas e colunas.
No caso de desejarmos criar uma matriz tridimensional usaremos uma das sintaxes abaixo:
Dim nomematriz(dimensão1, dimensão2, dimensão3) as <tipo de dados>
OU
Dim nomematriz(0 to dimensão1, 0 to dimensão2, dimensão3) as <tipo de dados>
OU
Public nomematriz(dimensão1, dimensão2, dimensão3) as <tipo de dados>
Vejamos o exemplo:
Figura 135
No exemplo estamos criando uma matriz tridimensional com a seguinte aparência:
Curso de Informática – Cti / UniVap
Página
Vb.net 2008 – Professor Alberson Wander Sá dos Santos
A primeira matriz é representada pelo índice 0 e a segunda pelo índice 1. Portanto, se desejarmos
exibir o conteúdo armazenado na primeira matriz, na linha 1 coluna 1, devemos escrever o seguinte trecho
de programa:
Figura 136
O que acontece no trecho de programa acima?
• Quando o botão “cmdtridmens” for pressionado é criada a matriz tridimensional contendo 2
matrizes, cada uma com 2 linhas e 3 colunas.
• Depois, o número 333 é armazenado na primeira matriz, na linha 1 coluna 1.
• Por fim, o conteúdo armazenado será mostrado numa caixa de mensagem.
Veja abaixo onde o número 333 estará armazenado:
Recommended