Vous êtes sur la page 1sur 11

Adoption Lab de VB6 para VB.

NET
Laboratório – VB.NET básico
Laboratório
VB.NET básico

Índice

Introdução 3
Criação do Projeto 3
Criação da Interface 4
Criação da Estrutura 5
Programando 9
Testes 11

2
Laboratório
VB.NET básico

Introdução

Este laboratório pretende consolidar os conhecimentos adquiridos em relação à programação


em VB.NET, utilizando os novos conceitos e funcionalidades da plataforma .Net. O exercício
consistirá em implementar um sistema simples de cadastro de usuários, mas sem utilizar
banco de dados.

Criação do Projeto

Crie uma nova solução no Visual Studio do tipo Windows Form com a linguagem VB.Net. O
nome da solução será ProjetoCadastro:

3
Laboratório
VB.NET básico

Criação da Interface

A interface do projeto deve ser parecida com esta:

Abaixo estão descritas as propriedades alteradas dos controles:

1) FrmCadastro – Form

• Text: “Cadastro Simples”

2) ppgCliente - PropertyGrid

3) grbCadastro – GroupBox

• Text: “Cadastro”

4) txtNome – TextBox

5) txtIdade – TextBox

• MaxLength: 3

6) txtEndereco – TextBox

7) lblRegistro – Label

8) grbNavegador – GroupBox

• Text: “Navegador de Registros”

9) btnPri – Button

• Text: “|<<”

4
Laboratório
VB.NET básico

10) btnAnt – Button

• Text: “<”

11) btnPro – Button

• Text: “>”

12) btnUlt– Button

• Text: “>>|”

O único controle novo é o PropertyGrid. Este controle é encontrado na ToolBox, na aba All
Windows Forms. Ele funciona exatamente igual à janela Properties, mas em runtime. Para fazer
um teste, vá até o ppgCliente e altere a propriedade SelectedObject para btnAnt. Quando você
for rodar a aplicação, todas as propriedades do btnAnt ficarão visíveis no ppgCliente. Agora
altere qualquer propriedade do botão pela ppgCliente enquanto a aplicação estiver rodando e
verá que o botão será alterado.

Mas esse controle não funciona somente para visualização de propriedades de outros
controles. Ele funciona com qualquer tipo de objeto, como veremos a seguir. Mas antes de
continuar, apague a propriedade SelectedObject do ppgCliente.

Criação da Estrutura

Crie uma Structure (antigo Type) para agrupar os dados referentes ao usuário que será
cadastrado.

Para criação de classes, structures, interfaces, etc., o Visual Studio 2005 disponibiliza uma
ferramenta chamada Class Diagram. Ela cria uma ótima IDE para estruturas que antes só eram
possíveis pelo código, tornando os elementos mais acessíveis e entendíveis mesmo para
arquitetos ou pessoas que não estejam acostumadas com a linguagem trabalhada.

Para criar o Class Diagram, clique no ícone “View Class Diagram” no Solution Explorer.

5
Laboratório
VB.NET básico

Caso apareça algo já no diagrama, clique com o botão direito no ícone >> Remove from
Diagram. Segure e arraste o ícone de Structure da toolbox para o painel e dê o nome de
Pessoa.

A forma de criar uma structure é a mesma de criar uma classe. A diferença é que a structure
trabalha com dados por valor, e a classe por referência. E a structure tem um melhor
desempenho.

Para trabalhar com structure da mesma forma que se trabalhava com type, clique com o botão
direito na classe para adicionar um novo field(campo).

6
Laboratório
VB.NET básico

Crie um campo chamado “_nome” e altere a propriedade “Type” para “String”.

Fazendo isso, você está declarando que _nome é um campo privado e é do tipo string. Mas
ele não pode ser acessado de outras classes por ser privado. Para isso, você deve criar os
acessores (propriedades).

Se a ferramenta Refactor estiver instalada, basta ir até o código da structure Pessoa, clicar com
o botão direito em _nome >> Refactor >> Encapsule Field. Caso não tenha, a sintaxe do
acessor é a seguinte (semelhante à do vb6):

7
Laboratório
VB.NET básico

Public Property Nome() As String


Get
Return _nome
End Get
Set(ByVal value As String)
_nome = value
End Set
End Property

E se você visualizar o código de Pessoa.vb, irá reparar que existe uma linha a mais indicando a
mudança que você realizou. Ou seja, tudo o que for alterado no visual, será alterado no
código. E vice-versa.

Deixe a estrutura dela desta forma (para cada propriedade, deverá ser criado um campo
correspondente):

Structure: Pessoa

1. Propriedades:

• Nome: Objeto do tipo String. Este campo é responsável por armazenar o nome
do usuário.

• Idade: Objeto do tipo Integer. Este campo é responsável por armazenar a


idade do usuário.

• Endereco: Objeto do tipo String. Este campo é responsável por armazenar o


endereço do usuário.

• DataCriacao: Objeto do tipo DateTime. Este campo será responsável por


armazenar a hora exata da criação da Pessoa.

O código ficará próximo disso:

Public Structure Pessoa


Private _nome As String

Public Property Nome() As String


Get
Return _nome
End Get
Set(ByVal value As String)
_nome = value
End Set
End Property

'E assim por diante..


End Structure

Depois de criar a structure, é hora de programar o formulário.

8
Laboratório
VB.NET básico

Programando

Se o projeto fosse feito em VB6, o programador provavelmente iria criar um vetor de Pessoa
para poder fazer o catálogo de usuários. Mas no .Net existem as Colections e Generics que
vieram ajudar o programador.

Seu funcionamento lembra bastante o de um vetor, mas a gerência feita da memória é muito
melhor. Neste exercício, a melhor forma de trabalhar é com uma ArrayList. A declaração dela é
feita no escopo da classe assim:

Private Contatos As new ArrayList

Isso significa que Contatos é uma ArrayList. Diferente de um vetor, uma collection não requer a
declaração de um tamanho fixo. O objeto Contatos pode oferecer também muitas
funcionalidades que não seriam tão simples com um vetor. Eis algumas facilidades:

Digamos que temos um objeto Individuo do tipo Pessoa:

Dim Individuo As New Pessoa


Individuo.Nome = "João"
Individuo.Idade = 32
Individuo.Endereco = "Rua dele"
Individuo.DataCriacao = DateTime.Now

Para adicionar uma nova pessoa:

Contatos.Add(Individuo)

Agora o Indivíduo está na ArrayList. Para poder obter ele novamente, faça o seguinte:

Dim novoIndiviuo = CType(Contatos(0), Pessoa)

Para remover esse usuário (ou qualquer outro) por índice:

Contatos.RemoveAt(0)

Para fazer uma busca em cada valor da coleção:

For Each o As Object In Contatos


MessageBox.Show(CType(o, Pessoa).Nome)
Next

9
Laboratório
VB.NET básico

Primeiramente, crie um objeto do tipo ArrayList, para guardar as Pessoas cadastradas, e um


objeto chamado current, que irá servir de controle de índice, do tipo inteiro com o valor inicial
sendo -1.

No formulário, crie um método privado Mostrar que recebe como parâmetro um número
inteiro.

• Esse número será o índice da ArrayList onde está a Pessoa que deseja ser mostrada. Os
dados da Pessoa deverão ser mostrados nos controles as quais pertencem (o “Nome”
será exibido no txtNome, e assim por diante).

• Repare que quando você for tentar obter a Pessoa pelo índice, será necessário utilizar
uma conversão, pois o ArrayList armazena objetos, então qualquer coisa poderia estar
armazenada lá.

• Altere também a propriedade Text do lblRegistro para mostrar qual é o índice do atual
registro mostrado e quantos registros estão armazenados no total.

• E por último mande a Pessoa em questão para a propriedade SelectedObject do


ppgCliente. Assim será possível alterar as propriedades da Pessoa em tempo real, mas
de uma forma mais simples.

A navegação entre os usuários já registrados deverá ser feita por intermédio dos botões
presente na parte inferior do formulário.

• btnPri – Deverá verificar se existe pelo menos uma Pessoa cadastrada. Se existir,
deverá alterar o campo current, alterando o seu valor para Zero (sendo esse o primeiro
registro da ArrayList). Logo após deverá chamar o método Mostrar, passando o objeto
current como parâmetro.

• btnAnt – Deverá decrescer um current se não estiver no primeiro registro da ArrayList.


Logo após deverá chamar o método Mostrar, passando o objeto current como
parâmetro.

• btnPro – Deverá incrementar um current se não estiver no último registro da ArrayList.


Logo após deverá chamar o método Mostrar, passando o objeto current como
parâmetro.

• btnUlt – Deverá alterar o valor de current para o índice do último elemento da


ArrayList. Logo após deverá chamar o método Mostrar, passando o objeto current
como parâmetro.

O botão Salvar deve criar uma nova Pessoa e adicioná-la à ArrayList. Deverá também alterar o
valor de current para o índice na ArrayList do objeto que acabou de ser adicionado. Logo após
deverá chamar o método Mostrar, passando o objeto current como parâmetro.

10
Laboratório
VB.NET básico

O botão limpar deve limpar as caixas de texto.

O programa rodando ficará assim:

Agora... Mãos à obra!

Testes

Teste o seu cadastro de usuários em relação a possíveis erros. Certifique-se de que as


conversões funcionam sem erros ou falhas. Depois que estiver tudo funcionando, tente
melhorar seu código.

11

Vous aimerez peut-être aussi