colÉgio tÉcnico “antÔnio teixeira fernandes” cti - univap · 2017-01-22 · curso de...

98
COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP

Upload: others

Post on 27-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES”

CTI - UNIVAP

Page 2: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 3: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 4: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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:

Page 5: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 6: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 7: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 8: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 9: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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:

Page 10: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 11: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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..

Page 12: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 13: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 14: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 15: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 16: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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”;

Page 17: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 18: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 19: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 20: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 21: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 22: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 23: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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:

Page 24: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 25: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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:

Page 26: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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”.

Page 27: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 28: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 29: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 30: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 31: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 32: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 33: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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;

Page 34: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 35: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 36: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 37: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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( ).

Page 38: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 39: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 40: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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?”

Page 41: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 42: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 43: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 44: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 45: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 46: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 47: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 48: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 49: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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”

Page 50: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 51: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 52: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 53: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 54: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 55: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 56: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 57: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 58: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 59: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 60: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 61: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 62: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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 .

Page 63: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 64: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 65: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 66: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 67: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 68: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 69: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 70: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 71: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 72: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 73: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 74: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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:

Page 75: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 76: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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”

Page 77: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 78: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 79: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 80: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 81: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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)

Page 82: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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" .

Page 83: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 84: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 85: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 86: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 87: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 88: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 89: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 90: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 91: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 92: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 93: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 94: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 95: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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.

Page 96: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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

Page 97: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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:

Page 98: COLÉGIO TÉCNICO “ANTÔNIO TEIXEIRA FERNANDES” CTI - UNIVAP · 2017-01-22 · Curso de Informática – Cti / UniVap Página Vb.net 2008 – Professor Alberson Wander Sá dos

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: