vb6 cadastro de contatos pessoais

20
Cadastro de contatos pessoais - Parte 1 Linguagem: VB6 Requisitos: Microsoft Access previamente instalado no computador. E aí pessoal! Nesta pequena série de artigos, veremos como criar uma aplicação que gerencie seus contatos pessoais com base de dados Microsoft Access. A idéia é utilizar apenas componentes nativos do Visual Basic 6.0, além de algumas imagens para dar um toque especial no leiaute do Form. Vejamos como estará nossa aplicação quando estiver finalizada.

Upload: dyegohitalo

Post on 03-Oct-2014

191 views

Category:

Documents


13 download

TRANSCRIPT

Page 1: VB6 Cadastro de Contatos Pessoais

Cadastro de contatos pessoais - Parte 1

Linguagem: VB6

Requisitos:

Microsoft Access previamente instalado no computador.

E aí pessoal!

Nesta pequena série de artigos, veremos como criar uma aplicação que gerencie seus

contatos pessoais com base de dados Microsoft Access. A idéia é utilizar apenas

componentes nativos do Visual Basic 6.0, além de algumas imagens para dar um toque

especial no leiaute do Form.

Vejamos como estará nossa aplicação quando estiver finalizada.

Page 2: VB6 Cadastro de Contatos Pessoais

Na primeira parte, iremos criar a estrutura da base de dados para armazenar os nossos

contatos. A versão do Office que estou utilizando no artigo é a 2003, portanto caso

utilize uma versão inferior / superior, a disposição dos menus e das opções estarão em

lugares diferentes.

Inicie o Microsoft Access 2003.

Page 3: VB6 Cadastro de Contatos Pessoais

Crie um novo banco de dados em branco com o nome de Contatos.mdb. Para isso,

clique no menu Arquivo > Novo e em seguida na opção Banco de dados em branco.

Inicialmente, salve o arquivo na unidade C:\, para facilitar na continuação dos próximos

artigos.

Page 4: VB6 Cadastro de Contatos Pessoais

Vamos criar uma tabela com o mesmo nome (Contatos) com a estrutura da imagem

abaixo. Clique no menu Design para ter acesso ao ambiente de construção da tabela.

Page 5: VB6 Cadastro de Contatos Pessoais

Antes de salvar o arquivo, vamos definir o campo codigo como chave primária da

tabela. Clique com o botão direito do mouse sobre o campo, em seguida clique na opção

Chave primária.

Clique em Arquivo > Salvar como... e digite o nome da tabela.

Page 6: VB6 Cadastro de Contatos Pessoais

Pronto! A primeira parte do artigo foi concluída.

Aguarde a continuação deste e de outros artigos do site.

https://sites.google.com/site/programacaoonline/family-blog/vb6/cadastro-de-contatos-

pessoais---parte-1

Cadastro de contatos pessoais - Parte 2

Linguagem: VB6

Requisitos:

Cadastro de contatos pessoais – Parte1

Saudações, jovens!

Na primeira parte do artigo, vimos como criar a estrutura da base de dados que irá

comportar os contatos pessoais. Pois bem, na parte 2 veremos como criar a interface

gráfica da aplicação usando somente os componentes nativos do VB6, além de algumas

imagens para dar um “toque especial” no leiaute.

Veja a imagem final da aplicação.

Page 7: VB6 Cadastro de Contatos Pessoais

Antes de qualquer coisa, baixe o arquivo pack-imagens.rar que está na seção Anexos

deste artigo (que se encontra no final da página). Ao descompactar o arquivo “.rar”,

perceba que disponibilizamos 6 imagens (5 ícones e um “menu.jpg”).

Abra o Visual Basic 6 e crie um novo projeto do tipo Standard EXE.

Page 8: VB6 Cadastro de Contatos Pessoais

Vamos aumentar as dimensões do Form para que o mesmo tenha a mesma aparência

que a imagem final. Altere as propriedades conforme a tabela abaixo:

Height 6285

Width 10140

Caption Programação On-Line

Font Trebuchet MS

Inclua um controle PictureBox no Form e altere a propriedade Name para picMenu. Na

propriedade Picture, clique sobre o botão “...” e localize a imagem “menu.jpg” que está

no “pack-imagens”.

Page 10: VB6 Cadastro de Contatos Pessoais

Vamos salvar o projeto. Clique no menu File > Save Project As... e salve o projeto em

uma pasta com o nome de “Contatos”. Continuando na construção do menu lateral,

inclua um componente Image e um Label sobre o Picture picMenu. Altere as

propriedades destes controles conforme a tabela abaixo:

Controle Propriedade Valor

Image Name imgListar

PictureBox Picture Button Info.ico

Label Name lblListar

ForeColor &H00FF0000&

Font Sublinhado

O resultado deve ser semelhante o da imagem a seguir.

Page 11: VB6 Cadastro de Contatos Pessoais

Refaça esta última operação por mais 2 vezes com base na tabela.

Controle Propriedade Valor

Image Name imgIncluir

Picture Button Add.ico

Label Name lblIncluir

ForeColor &H00FF0000&

Image Name imgSair

Picture Button Help.ico

Label Caption Programação On-Line

Font Negrito

Page 12: VB6 Cadastro de Contatos Pessoais

O menu está praticamente pronto!

Vamos trabalhar agora na exibição dos contatos cadastrados. Adicione um Picture no

Form com a propriedade BackColor na cor branca e Name igual a picListar. Dentro

deste controle, acrescente alguns outros controles conforme os dados abaixo:

Número Controle Propriedade Valor

1 Label Font Negrito (Tamanho 14)

Caption Cadastro de contatos pessoais

2 Label Caption Listagem de contatos

Page 13: VB6 Cadastro de Contatos Pessoais

cadastrados

3 ListView Name lstContato

FullRowSelect True

GridLines True

4 Image Name imgExcluir

Picture Button Close.ico

5 Label Name lblExcluir

ForeColor &H00FF0000&

Font Sublinhado

Por fim, vamos trabalhar na parte visual do cadastro. Adicione um outro controle

Picture no Form com a propriedade BackColor na cor branca e Name igual a picIncluir.

Dentro deste novo controle, acrescente alguns outros com base na tabela a seguir:

Page 14: VB6 Cadastro de Contatos Pessoais

Número Controle Propriedade Valor

1 Label Caption Cadastro de contatos pessoais

Font Negrito (Tamanho 14)

2 Label Caption Código

3 TextBox Name txtCodigo

4 Label Caption Nome

5 TextBox Name txtNome

6 Label Caption Endereço

7 TextBox Name txtEndereco

8 Label Caption Telefone

9 TextBox Name txtTelefone

10 Label Caption E-mail

11 TextBox Name txtEmail

12 Image Name imgSalvar

Picture Button Play.ico

13 Label Name lblSalvar

ForeColor &H00FF0000&

Caption Salvar

Font Sublinhado

É isso. O leiaute da aplicação já está pronto.

No próximo artigo, iremos direto para a parte lógica do projeto.

Até o próximo artigo (e último desta série).

https://sites.google.com/site/programacaoonline/family-blog/vb6/cadastro-de-contatos-

pessoais---parte-2

Page 15: VB6 Cadastro de Contatos Pessoais

Cadastro de contatos pessoais - Parte 3

Linguagem: VB6

Requisitos:

Cadastro de contatos pessoais - Parte 1

Cadastro de contatos pessoais - Parte 2

Saudações, pessoal!

Nesta terceira e última parte do artigo, vamos codificar nossa aplicação de cadastro de

contatos pessoais. Lembrando que no projeto só utilizamos controles nativos do VB6,

além de algumas imagens para compor nosso leiaute. Antes de mais nada, vamos

renomear os controles do tipo Label, porque eles serão os responsáveis por acionar as

rotinas básicas do cadastro.

Caption Name

Excluir lblExcluir

Salvar lblSalvar

Listar contatos cadastrados lblListar

Incluir contato lblIncluir

Sair lblSair

Continuando, vamos adicionar um Module no projeto para alocar as principais rotinas

de persistência no banco de dados. Clique no menu Project > Add Module e mantenha

o nome de item como Module1.

Copie as linhas de código abaixo e cole no escopo do Module1.

Private con As ADODB.Connection Public rs As ADODB.Recordset

Private Sub Conectar() Set con = New ADODB.Connection

con.Open "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=" &

App.Path & "\Contatos.mdb" End Sub

Page 16: VB6 Cadastro de Contatos Pessoais

Public Sub Desconectar() con.Close Set con = Nothing

End Sub

Public Function PesquisarContato(Valor As String) As

Boolean Dim Criterio As String

Call Conectar Set rs = New ADODB.Recordset If Trim(Valor) <> "" Then Criterio = " WHERE Codigo=" & Valor

End If rs.Open "SELECT * FROM Contatos" & Criterio, con,

adOpenKeyset, adLockOptimistic

If Not rs.EOF Then PesquisarContato = True Else PesquisarContato = False

End If End Function

Public Sub InserirContato(Nome As String, Endereco As

String, Telefone As String, Email As String) Call Conectar con.Execute "INSERT INTO Contatos(Nome, Endereco, Telefone,

Email) " & _

"VALUES ('" & Nome & "', '" & Endereco & "', '"

& Telefone & "', '" & Email & "')" Call Desconectar

End Sub

Public Sub AtualizarContato(Codigo As String, Nome As

String, Endereco As String, Telefone As String, Email As

String)

Call Conectar con.Execute "UPDATE Contatos " & _ "SET Nome='" & Nome & "', " & _ "Endereco='" & Endereco & "', " & _

"Telefone='" & Telefone & "', " & _ "Email='" & Email & "' " & _ "WHERE Codigo=" & Codigo

Call Desconectar End Sub

Public Sub ExcluirContato(Codigo As String) Call Conectar

con.Execute "DELETE FROM Contatos WHERE Codigo=" & Codigo Call Desconectar End Sub

Page 17: VB6 Cadastro de Contatos Pessoais

Precisamos agora, escrever as rotinas no View Code do Form1. Selecione o formulário e

pressione a tecla F7 para termos acesso ao editor de códigos. Copie as linhas abaixo e

cole no editor.

Private Sub Form_Load() Call MostrarPainel(0) Call ListarContato End Sub

Private Sub imgIncluir_Click() Call MostrarPainel(1) End Sub

Private Sub imgListar_Click() Call MostrarPainel(0) End Sub

Private Sub imgSair_Click()

End End Sub

Private Sub lblExcluir_Click()

If lstContato.ListItems.Count > 0 Then If MsgBox("Confirma a exclusão do contato '" &

lstContato.SelectedItem.ListSubItems(1).Text & "'?",

vbYesNo, "Excluir") = vbYes Then

Call

Module1.ExcluirContato(lstContato.SelectedItem.Text) Call MostrarPainel(0)

Call ListarContato End If End If End Sub

Private Sub lblIncluir_Click() Call MostrarPainel(1) Call LimparForm txtCodigo = "<Novo>"

End Sub

Private Sub lblListar_Click() Call MostrarPainel(0)

Call ListarContato End Sub

Private Sub lblSair_Click() If MsgBox("Deseja sair?", vbYesNo, "Sair") = vbYes Then

End End If End Sub

Page 18: VB6 Cadastro de Contatos Pessoais

Private Sub ListarContato() Dim lst As ListItem If Module1.PesquisarContato("") = True Then

lstContato.ListItems.Clear Do While Not rs.EOF Set lst = lstContato.ListItems.Add(, ,

rs.Fields("codigo"))

lst.SubItems(1) = rs.Fields("nome") rs.MoveNext Loop Call Desconectar

End If End Sub

Private Sub PesquisarContato(Codigo As String)

Dim lst As ListItem If Module1.PesquisarContato(Codigo) = True Then lstContato.ListItems.Clear If Not rs.EOF Then

txtCodigo = rs.Fields("codigo") txtNome = rs.Fields("nome") txtEndereco = rs.Fields("endereco")

txtTelefone = rs.Fields("telefone") txtEmail = rs.Fields("email") Call MostrarPainel(1) End If

Call Desconectar End If End Sub

Private Sub MostrarPainel(p As Byte) If p = 0 Then picListar.Left = picIncluir.Left picListar.Visible = True

picIncluir.Visible = False lblListar.FontUnderline = True lblIncluir.FontUnderline = False Else

picListar.Visible = False picIncluir.Visible = True lblListar.FontUnderline = False

lblIncluir.FontUnderline = True End If End Sub

Private Sub lblSalvar_Click()

If txtCodigo = "<Novo>" Then Call Module1.InserirContato(txtNome, txtEndereco,

txtTelefone, txtEmail)

Else Call Module1.AtualizarContato(txtCodigo, txtNome,

Page 19: VB6 Cadastro de Contatos Pessoais

txtEndereco, txtTelefone, txtEmail) End If Call MostrarPainel(0)

Call ListarContato End Sub

Private Sub lstContato_DblClick() If lstContato.ListItems.Count > 0 Then

Call PesquisarContato(lstContato.SelectedItem.Text) End If End Sub

Private Sub LimparForm()

txtNome = "" txtEndereco = "" txtTelefone = ""

txtEmail = "" End Sub

É isso. Só nos resta testar a aplicação e conferir o resultado.

Page 20: VB6 Cadastro de Contatos Pessoais

O projeto com o código fonte está disponível abaixo na seção Anexos desta página.

Até a próxima!

https://sites.google.com/site/programacaoonline/family-blog/vb6/cadastro-de-contatos-

pessoais---parte-3