apostila de introdução a visual basic

Upload: rafael-cardoso

Post on 08-Jul-2015

183 views

Category:

Documents


0 download

TRANSCRIPT

Fundamentos do Visual Basic

Introduo ao Visual Basic 4

Autor:ALONCIO DE CARVALHO SANTOS

ndice i

Fundamentos do Visual Basic

ndice

Apresentao _______________________________________1 O que o Visual Basic ? ___________________________1 Vantagens do Visual Basic _________________________1 Edies do Visual Basic ___________________________2

V I S U A L B A S I C

Objetivos do Curso _______________________________2 Introduo _________________________________________3 Ambiente de Trabalho do Visual Basic________________3 Terminologia do Visual Basic_______________________5 Projetos e Executveis do Visual Basic _______________6 Passos para a criao de uma aplicao em VB _________6 Tcnicas de Programao __________________________7 Fundamentos _______________________________________8 Objetos ________________________________________8 Nomeando Objetos _______________________________9 Propriedades ___________________________________10 Mtodos ______________________________________11 Eventos _______________________________________12 Controles Bsicos _______________________________13 Manipulando Cdigo e Formulrios ___________________17 Trabalhando com Cdigo _________________________17 Trabalhando com Formulrios _____________________22 Exibindo e Escondendo Formulrios ________________22 Formulrios Modal ______________________________23 Configurando o Startup Form ______________________23 Encerrando sua Aplicao_________________________24

ndice ii

Fundamentos do Visual Basic

Variveis _________________________________________26

ndice

O que uma Varivel? ___________________________26 Tipos de Variveis do Visual Basic _________________26 Nomeando Variveis_____________________________27

V I S U A L B A S I C

Declarao_____________________________________28 Converses ____________________________________31 Manipulando Strings_____________________________32 Manipulando Datas ______________________________32 Procedures ________________________________________35 Procedures_____________________________________35 Procedures de Evento ____________________________35 General Declarations_____________________________35 Sub Procedures _________________________________35 Function Procedures _____________________________36 Passagem de Parmetros __________________________36 Controlando a Execuo_____________________________38 Estruturas de Seleo ____________________________38 Estrutura de Repetio ___________________________40 Depurao de Aplicativos ____________________________45 Tipos de Erros __________________________________45 Ferramentas de Depurao ________________________45 Break Mode____________________________________46 Debug Window _________________________________46

ndice iii

Fundamentos do Visual Basic

Controles _________________________________________48

ndice

Controles Padres _______________________________48 Custom Controls ________________________________50 Controles de Arquivos ___________________________51

V I S U A L B A S I C

CommonDialog _________________________________52 Indexando Controles _____________________________53 Projetando Menus _______________________________54 Acessando Banco de Dados __________________________57 Conceitos Bsicos _______________________________57 Acessando Dados com o Visual Basic _______________57 Trabalhando com o Data Control ___________________58 RecordSet _____________________________________59 Usando SQL ___________________________________60 Data Form Designer _____________________________61 Manipulando Registros ___________________________61 Detalhes Finais ____________________________________65 Projetando sua Interface __________________________65 Desenvolvimento em 16 e 32 Bits __________________66 Distribuindo seus Aplicativos ______________________66 Glossrio _________________________________________68

ndice iv

Fundamentos do Visual Basic

1APRESENTAO

Veremos neste captulo: o que Visual Basic conhecer as edies do Visual Basic objetivos do Curso

O QUE O VISUAL BASIC ?O Visual Basic uma linguagem de programao, que permite a criao de aplicativos para o ambiente Windows. Atravs de ferramentas grficas voc desenha seu aplicativo, atribui suas caractersticas e gera seu cdigo de maneira rpida e eficiente. Trata-se de uma das mais utilizadas ferramentas de programao utilizadas atualmente.

VANTAGENS DO VISUAL BASICMicrosoft Visual Basic a maneira mais rpida e fcil de se criar aplicaes poderosas e com recursos que exploram todas as possibilidades da interface grfica do Windows. Dentre as vantagens oferecidas pelo VB podemos destacar: Ambiente de desenvolvimento que possibilita a criao de aplicativos de maneira rpida, oferecendo diversas ferramentas de depurao. Capacidade de programao para mltiplas plataformas, gerando aplicativos de 16 bits para o Windows 3.1 ou aplicativos 32 bits para o Windows 95 e Windows NT. Extensibilidade da linguagem, permitindo o acrscimo de controles personalizados para ampliar seus recursos. Linguagem de programao derivada do BASIC, comum aos aplicativos do Microsoft Office (VBA - Visual Basic for Application), permitindo a integrao de suas funcionalidades atravs da Automao OLE.

Aloncio de C. Santos

pgina 1

Fundamentos do Visual Basic EDIES DO VISUAL BASICO Visual Basic pode ser adquirido em trs edies: Standard Edition Professional Edition Edio padro com Ambiente de trabalho em 32 bits e com controles padres Edio com ambiente de trabalho para gerar aplicativos 16 e 32 bits, acrescida de controles personalizados e completa documentao on-line Edio voltada para grupos de desenvolvimento corporativo, possuindo alguns controles personalizados adicionais e servios remotos

Enterprise Edition

OBJETIVOS DO CURSOO Curso Fundamentos do Visual Basic tem por objetivos bsicos: Manipular o ambiente de desenvolvimento. Conhecer conceitos de orientao evento, propriedades e mtodos. Conhecer os conceitos bsicos de programao no VB como: declarao e escopo de variveis, subrotinas, funes, estruturas de controle. Desenvolver e depurar aplicaes simples, usar controles padres. O Curso de Fundamentos do Visual Basic exige, como prrequisito, o conhecimento bsico de Lgica de Programao (variveis, estruturas de controle, algoritmos estruturados) sendo recomendvel, portanto, noes em alguma linguagem de programao.

Questes

1. Porque utilizar o Visual Basic como linguagem de programao ? Para quais plataformas podemos desenvolver nossos aplicativos com o Visual Basic ? 2. Se eu desejo desenvolver aplicativos para serem executados no Windows 3.1, qual edio do Visual Basic devo adquirir?

Aloncio de C. Santos

pgina 2

Fundamentos do Visual BasicNeste captulo voc vai aprender: o Ambiente de Trabalho do Visual Basic terminologia do Visual Basic projetos e executveis do Visual Basic passos para a criao de uma aplicao programao Orientada a Eventos versus programao Procedural

2INTRODUO

AMBIENTE DE TRABALHO DO VISUAL BASICExibimos abaixo o Ambiente de Trabalho do Visual Basic:

Barra de Ferramentas

Formulrio

Janela de Projeto

Janela de Propriedades Caixa de FerramentasAmbiente de Trabalho do VB

Aloncio de C. Santos

pgina 3

Fundamentos do Visual BasicO Ambiente de Trabalho do Visual Basic consiste dos seguintes elementos: Toolbox (caixa de ferramentas) Form (formulrio) Project Window (janela de projeto) A Toolbox contm todos os objetos e controles que voc pode utilizar na criao de sua aplicao. Voc pode adicionar objetos a sua Toolbox utilizando a Opo Custom Controls no menu Tools. O formulrio serve como uma janela que voc pode configurar a interface para a sua aplicao. A janela de projeto contm um lista com todos os itens que compem a sua aplicao, formulrios, mdulos de cdigo e resource files. A janela de projeto discutida mais tarde neste captulo.

Properties Window A janela de propriedades lista as propriedades de um ou mais objetos selecionados (controles ou formulrios), (janela de estas propriedades podem ser alteradas quando o propriedades) formulrio o controle criado. Code Window (janela de cdigo) Toolbar (barra de ferramentas) A janela de cdigo aonde o cdigo do o seu projeto pode ser exibido ou editado. A barra de ferramentas facilita o trabalho, contendo botes que servem de atalhos para os comandos mais comuns no desenvolvimento de projetos.

Quando voc inicia o Visual Basic, um projeto default (padro) criado com um formulrio genrico denominado Form1. A Caixa de Ferramentas exibir as ferramentas (controles) padro.

Caso no estejam sendo mostrados alguns destes elementos, voc pode exibi-los, atravs do menu View escolhendo o elemento desejado (Project, Properties, Toolbox, etc)

Aloncio de C. Santos

pgina 4

Fundamentos do Visual Basic TERMINOLOGIA DO VISUAL BASICExistem alguns termos que usaremos constantemente no ambiente do VB: Design time (projeto) Run time (execuo) Design time definido como qualquer momento que voc esteja construindo ou dando manuteno na sua aplicao Run time quando a sua aplicao est sendo executada. importante saber diferenciar este dois termos pois certas propriedades s podem ser alteradas em Design time, enquanto outras s podem ser feitas em Run time Servem como janelas para o desenvolvimento da sua aplicao So representaes grficas de objetos tais como botes de comando, caixas de edio onde o Usurio pode interagir com a aplicao So caractersticas, valores que um objeto possui, tais como Caption, Colors... So aes que podem ser feitas no objeto, como exibir ou no um formulrio So as aes reconhecidas pelo seu aplicativo, que podem ser efetuadas pelo Usurio, por seu programa ou pelo prprio Sistema Operacional

Forms (formulrios) Controls (controles) Properties (propriedades) Methods (mtodos) Events (eventos)

Como usaremos a verso do Visual Basic em ingls (pois este no possui verso em lngua portuguesa), diversos termos sero mencionados como no software e outros sero citados na apostila j traduzidos, quando isto for apropriado. Noes de Ingls so teis ao trabalhar com o Visual Basic, uma vez que seus menus, mensagens e principalmente sua Ajuda toda exibida em ingls.

Aloncio de C. Santos

pgina 5

Fundamentos do Visual Basic PROJETOS E EXECUTVEIS DO VISUAL BASICOs arquivos de projetos do Visual Basic tem a extenso .VBP e contm informaes sobre os itens que so utilizados numa determinada aplicao. Projetos podem ser compostos pelos seguintes arquivos: Tipo de arquivo Forms (formulrios) Standards Modules (mdulos) Custom Controls (controles personalizados) Class Modules (classes) Resource Files (arquivos de recursos) Extenso .FRM .FRX .BAS Descrio Representam os Formulrios. Incluem o formulrio, objetos / controles e cdigo contido no formulrio. Contm procedimentos SUB e FUNCTION que podem ser chamados de objetos ou formulrios. Controles personalizados, que servem como uma extenso da funcionalidade do Visual Basic, agregando novos recursos Mdulos que contm definies de classes, com seus mtodos e propriedades. Arquivos que contm informaes binrias que podem ser utilizadas pela aplicao.

.VBX .OCX .CLS .RES

PASSOS PARA A CRIAO DE UMA APLICAO EM VB1. Criar a interface com o usurio 2. Definir as propriedades dos objetos da interface 3. Escrever os cdigo para os eventos 4. Salvar o projeto 5. Testar e depurar a aplicao 6. Gerar um arquivo executvel 7. Criar o programa de instalao (setup)

Aloncio de C. Santos

pgina 6

Fundamentos do Visual Basic TCNICAS DE PROGRAMAOA Programao Orientada a Evento trouxe um novo estilo de programao, novos conceitos, voltados para a criao de interfaces grficas cuja interao com as aes do Usurio o fator chave de sucesso para seu aplicativo. Para comearmos a compreender estes novos conceitos, vamos comparar o estilo de programao procedural (que estamos habituados a trabalhar em linguagens como Pascal, Clipper, etc) com a orientao a evento. PROGRAMAO PROCEDURAL Na programao procedural, o programador controla as aes de forma linear, perguntando ao usurio por informaes em seqncia. Por exemplo, um programa pergunta ao usurio que tipo de relatrio ele deseja. Quando o tipo de Relatrio escolhido, o programa verifica que um perodo de datas necessrio, ento ele pergunta ao usurio as datas e assim por diante. Na programao procedural geralmente um programa grande que chama rotinas quando necessrio. PROGRAMAO ORIENTADA A EVENTOS Programao Orientada a Eventos capacita o sistema a responder ao usurio. O usurio tem o controle de decidir quando e onde fazer alguma coisa, e pode entrar com informaes e selecionar opes em qualquer ordem. Um programa orientado a eventos, como um criado com o Visual Basic, tipicamente feito de pequenos blocos de cdigo (ou procedures) que executam tarefas discretas. A maior parte destas procedures so procedure de evento, e so invocadas quando o usurio faz alguma ao.

1. O que so Properties? E o que so Methods?

Questes

2. Diferencie Programao Orientada a Evento.

Procedural

de

Programao

Aloncio de C. Santos

pgina 7

Fundamentos do Visual BasicNeste captulo voc vai aprender: objetos e sua nomenclatura o que so Propriedades e Mtodos viso geral de Eventos controles bsicos (forms, labels, text boxes, commandbuttons

3FUNDAMENTOS

OBJETOSNo Visual Basic um objeto algo que voc controla. Um objeto pode ser um formulrio em sua aplicao, qualquer controle (caixa de texto, boto de comando, imagem, etc) e at mesmo classes de objetos. Para controlar um objeto usamos suas Propriedades (caractersticas) e seus Mtodos (aes que podem ser exercidas pelos objeto). Para compreender melhor os conceitos de Objeto, Propriedades e Mtodos, vamos exemplific-los atravs de uma comparao: Um rdio seria um Objeto. Este rdio possuiria Propriedades como tamanho, cor, nome. Os Mtodos seriam as aes a serem tomadas, como aumentar volume, mudar de estao, desligar. Cada objeto possui seus prprios Eventos, Propriedades e Mtodos, sendo alguns destes comuns a diversos objetos. Como o Visual Basic possui um ambiente grfico de desenvolvimento, para criarmos controles em um formulrio basta selecionar o controle desejado na Caixa de Ferramentas e desenh-lo no formulrio (arrastando com o mouse). Para selecionar um controle, selecione a ferramenta Ponteiro do Mouse e clique no controle desejado ou arraste em sua rea. Voc pode selecionar vrios controles ao mesmo tempo, para mov-los ou exclui-los.

Aloncio de C. Santos

pgina 8

Fundamentos do Visual Basic NOMEANDO OBJETOSPor padro, os controles no VB tem o nome definido como, por exemplo, Form1, Command3, Label2. Para deixar seu cdigo mais fcil de se entender, voc deve alterar a propriedade Name de cada controle em Design time para um nome que seja mais adequado a funo do controle. Sugerimos a utilizao da conveno de nomes de objetos descrita na tabela a seguir: Objeto Check box Combo box Command button Data Directory list box Drive list box File list box Form Frame Grid Horizontal scroll bar Image Label Line List box Menu OLE Option button Picture box Shape Text box Timer Vertical scroll bar Prefixo chk cbo cmd dat dir drv fil frm fra grd hsb img lbl lin lst mnu ole opt pic shp txt tmr vsb Exemplo chkEntregue cboNatural cmdCancelar datFunc dirOrigem drvPadrao filOrigem frmPrincipal fraConfig grdProducts hsbVolume imgLogo lblNomeCompleto linDetalhe lstUnidadeFederativa mnuArquivoFechar oleQuadro optSexo picMapaRegional shpCircular txtNome tmrAlarme vsbIndice

Aloncio de C. Santos

pgina 9

Fundamentos do Visual Basic PROPRIEDADESPropriedades so caractersticas, valores de um determinado Objeto, tais como: Name, Text, Caption, BorderStyle, Visible, as quais trocam a identificao e a aparncia do controle. Voc pode alterar propriedades em design time ou em run time. Para exibir as propriedades de um objeto, selecione-o e pressione a tecla F4 ou no menu View escolha a opo Properties. Ser ento exibida a Janela Properties. Para alterar uma propriedade em design time, ns utilizamos a janela Properties. Em run time para alterarmos uma propriedade ns temos que utilizar a programao para alterar a propriedade como no exemplo abaixo: Sintaxe: Objeto.Propriedade = Valor Exemplo:Sub Command1_Click() Label1.Caption = Teste End Sub

Voc pode tambm obter o valor de uma propriedade, atribuindo tal valor a uma varivel em run time. Sintaxe: Varivel = Objeto.Propriedade Exemplo: atribui o contedo do controle txtNome a uma varivel strNomeCliente = txtNome.Text

Algumas propriedades podem ser alteradas somente em design time e outras so apenas para leitura em run time.

Aloncio de C. Santos

pgina 10

Fundamentos do Visual Basic MTODOSMtodos fazem um objeto executar uma ao ou tarefa. Mtodos como Move e SetFocus fazem, respectivamente, um objeto ser movido ou receber o foco no controle. Mtodos podem possuir argumentos e tambm podem retornar valor. Por isso, teremos duas sintaxes: Sintaxe: Objeto.Mtodo [Arg1, Arg2 ,...] ou Varivel = Objeto.Mtodo([Arg1, Arg2 ,...]) onde os colchetes [ ] indicam argumentos opcionais e no caso de um mtodo retornar valor, seus argumentos devero ser colocados entre parntese ( ). Exemplos: move um formulrio para as coordenadas iniciais da tela frmStartUp.Move 0, 0 posiciona o foco na caixa de texto txtMatricula txtMatricula.SetFocus

Aloncio de C. Santos

pgina 11

Fundamentos do Visual Basic EVENTOSEventos so aes reconhecidas por formulrios ou controles. Eventos podem ocorrer quando o usurio toma alguma ao (por exemplo, clicar em um boto), ou atravs de comandos em seu programa ou ainda pelo prprio Sistema Operacional. Voc escreve o cdigo do evento (Procedure de Evento) que s vai ser executado quando o evento ocorrer. Virtualmente, quase todas as aes possveis esto associadas com um evento do Visual Basic, dando a voc o controle total sobre como a sua aplicao vai responder a ao. Aqui esto alguns exemplos de eventos dos controles do Visual Basic: Evento Change Click DblClick GotFocus LostFocus Load Unload KeyDown KeyUp MouseUp MouseMove Descrio Indica que o contedo de um controle mudou, como o evento ocorre varia de acordo com o tipo de controle Indica que o mouse foi pressionado sobre um controle Indica que o usurio pressionou o mouse duas vezes no controle Ocorre quando o controle recebe o foco Ocorre quando o controle perde o foco Ocorre quando o formulrio carregado na memria Ocorre quando o formulrio descarregado da memria Indica quando uma tecla foi pressionada e no foi solta Indica quando uma tecla foi liberada Indica que um boto do mouse foi liberado Ocorre quando o mouse se movimenta sobre um controle

MouseDown Indica que um boto do mouse foi pressionado

Cada objeto no Visual Basic tem seus prprios eventos. Os eventos acima listados no se aplicam a todos os objetos. Explorar os Eventos disponveis para cada objeto parte importante no aprendizado do Visual Basic.

Aloncio de C. Santos

pgina 12

Fundamentos do Visual Basic CONTROLES BSICOSFORMS Forms (formulrios) so objetos muito importantes em sua aplicao, pois toda interface com o Usurio ser construda sobre eles. Os principais eventos, propriedades e mtodos de um formulrio so: Propriedades Name, Caption, BackColor, BorderStyle, Enabled, ControlBox, MaxButton, MinButton, WindowState; Eventos Click, DblClick, Load, Unload, MouseMove, Activate, Deactivate, DragOver, DragDrop; Mtodos Show, Hide, Move, SetFocus, Refresh, Print Quando um formulrio carregado, gerado um evento Load. Dentro deste evento podemos efetuar aes, como centralizar na tela um formulrio ao ser carregado:Private Sub Form_Load() Centraliza o formulrio na tela Form1.Top = (Screen.Height - Height) / 2 Form1.Left = (Screen.Width - Width) / 2 End Sub

LABEL As Labels (Etiquetas) so textos que no podem ser alterados pelo Usurio, como etiquetas indicando a finalidade de uma textbox, mas podem ser alterados via programao. As Labels so normalmente utilizadas para exibir um nome de um campo que o usurio deve preencher. Para se criar um atalho para um campo, no estilo ALT + Letra sublinhada, devemos colocar um & (e comercial) antes da letra desejada na propriedade Caption.

Aloncio de C. Santos

pgina 13

Fundamentos do Visual BasicTEXTBOX O controle Textbox (caixa de texto) utilizado para obter informaes do usurio ou para exibir informaes fornecidas pela aplicao. (Note que as informaes exibidas com a Textbox podem ser alteradas pelo usurio, o que no pode ser feito nas Labels, que s podem ser alteradas por cdigo) Para maiores informaes sobre propriedades, mtodos e eventos de qualquer controle, consulte o Help do VB. COMMANDBUTTON Um CommandButton (boto de comando) executa uma ao quando o usurio clica no boto. o principal elemento usado para que o Usurio execute uma ao.

1. Cite 4 exemplos de Objetos no Visual Basic. 2. Defina o que um evento? Cite 4 Eventos.

Questes

3. Por que devemos utilizar uma nomenclatura padronizada para objetos, variveis, etc? 4. Como posso alterar em Design Time e em Run Time o texto exibido em uma textbox e em um label ?

1. Criar um programa em Visual Basic com o seguinte formulrio Exercci o

1

Aloncio de C. Santos

pgina 14

Fundamentos do Visual Basic

(continuao) Exercci o

2. Crie os controles necessrios e defina as seguintes propriedades Formulrio:Caption = Login Name = frmLogin

1

Label de TituloCaption = Entre com seu nome e sua senha Name = lblTitulo

Label NomeCaption = Nome: Name = lblNome

Caixa de Texto NomeText = (em branco) Name = txtNome

Label SenhaCaption = Senha: Name = lblSenha

Caixa de Texto SenhaText = (em branco) Name = txtSenha PasswordChar = * (asterisco)

(continua)

Aloncio de C. Santos

pgina 15

Fundamentos do Visual Basic

(continuao) Boto OK Exercci oName = cmdOk Caption = &OK Default = True

1

Boto CancelarName = cmdCancelar Caption = &Cancelar Cancel = True

3. Pressione o boto direito do mouse sobre o Boto OK, no menu de contexto escolha a opo View Code e digite o seguinte cdigo:MsgBox Seu nome & txtNome.Text & _ sua senha & txtSenha.Text

4. Pressione o boto direito do mouse sobre o Boto Cancelar, no menu de contexto escolha a opo View Code e digite o seguinte cdigo:End

5. Salve o projeto com as seguintes definies: Diretrio de trabalho: C:\VB40FUND\CAP03 Nome do Formulrio: frmLogin.frm Nome do projeto: Login 6. Execute o programa pressionando a tecla F5 ou no menu Run escolha a opo Start.

Aloncio de C. Santos

pgina 16

Fundamentos do Visual BasicNeste captulo voc vai aprender: trabalhar com cdigo enviar mensagens e obter dados trabalhar com formulrios terminar uma aplicao em Visual Basic

4MANIPULANDO CDIGO E FORMULRIOS

TRABALHANDO COM CDIGOPROCEDURES DE EVENTO Procedures de Evento (event procedures) so procedimentos acionados a partir de um evento (como um clique do mouse, pressionamento de uma tecla, a exibio de um formulrio, etc). Ao criarmos um objeto/controle so disponibilizadas as procedures de evento relativas a tal objeto. Para codificar uma procedure de evento siga os seguintes passos: 1. Desenhe o controle desejado. 2. Com o ponteiro do mouse d um duplo clique no controle. Ser exibida a Janela de Cdigo (que ser detalhada na prxima pgina). 3. Escolha, para o controle escolhido, o evento apropriado. 4. Escreva o cdigo de sua procedure de evento. Exemplo:Private Sub Form_MouseMove(Button As Integer, _ Shift As Integer, X As Single, Y As Single) LblX.Caption = X LblY = Y End Sub exibe coordenada X exibe coordenada Y

No exemplo anterior, ao omitirmos a propriedade Caption na coordenada Y, o Visual Basic assume uma propriedade padro para cada controle, que no caso da label a Caption.

Aloncio de C. Santos

pgina 17

Fundamentos do Visual BasicJANELA DE CDIGO A janela de cdigo utilizada para escrever, exibir e editar cdigo em VB. Voc pode abrir uma janela de cdigo para cada mdulo em sua aplicao. A janela de cdigo inclui: Object Box Exibe o nome do objeto selecionado, permitindo a seleo de qualquer objeto associado com o form. Exibe todos os eventos associados com o objeto selecionado. Quando voc seleciona um evento, uma procedure de evento correspondente exibida na Code Window. A split bar localizada abaixo da barra de titulo no topo da barra de rolagem vertical. Arrastando a barra para baixo, dividi-se a janela de cdigo em duas partes

Procedure Box

Split Bar

MDULOS DE CDIGO Os mdulos de cdigo podem conter cdigo que comum a vrios formulrios na sua aplicao. O cdigo Pblico por padro, o que quer dizer que ele compartilhado por todos outros itens do seu projeto. Mdulos de cdigo no podem conter Procedures de Evento pois eles no tem objetos. Os mdulos de cdigo so armazenados como arquivos de extenso .BAS. EDITANDO CDIGO Os principais recursos de edio de texto do ambiente Windows esto disponveis na janela de cdigo, tais como seleo, utilizao rea de Transferncia e outros. Para aumentar a legibilidade do cdigo, devemos usar alguns recursos de programao que so simples, porm eficientes. Ao escrevermos um programa, devemos ter em mente que este dever ser o mais claro e bem documentado possvel, facilitando desta forma tambm sua manuteno.

Aloncio de C. Santos

pgina 18

Fundamentos do Visual BasicA Identao de Cdigo serve para fazer uma separao visual das estruturas lgicas de seu programa. Para identar utilize a tecla TAB.Private Sub AnalisaValor(Valor) If Valor = 0 Then Msgbox Valor igual a Zero ElseIf Valor < 0 Then Msgbox Valor Negativo Else MsgBox Valor Positivo Endif End Sub

Os Comentrios servem para facilitar a vida do programador documentando o seu cdigo. Os comentrios so precedidos por uma Aspas Simples () ou um comando REM. Veja o exemplo anterior acrescido de comentrios.Procedimento para testar um valor e exibir uma Mensagem Private Sub AnalisaValor(Valor) If Valor = 0 Then ElseIf Valor < 0 Then zero Msgbox Valor Negativo Else zero MsgBox Valor Positivo Endif End Sub Fim do procedimento AnalisaValor Seno Valor maior que Se o valor for Zero ento Exibe mensagem Se o valor for menor que Msgbox Valor igual a Zero

O caracter de continuao de linha o sublinhado (_) que permite que uma linha de cdigo possa ser dividida em vrias partes para melhor exibio na tela. Veja o exemplo:iResposta = MsgBox(Deseja continuar operao, _ vbExclamation + vbYesNo, Sistema)

Aloncio de C. Santos

pgina 19

Fundamentos do Visual BasicENVIANDO MENSAGENS (FUNO MSGBOX) A funo MsgBox permite o envio, atravs de caixas de dilogo, de mensagens para o Usurio, na qual este interage com seu aplicativo atravs da escolha (clique) em um boto de comando. Sintaxe: Varivel = MsgBox (mensagem[, botes][, ttulo]) mensagem botes ttulo o texto da sua mensagem. so os botes/cones que sero exibidos na caixa de dilogo, definidos atravs de constantes do VB. o ttulo que ser exibido na caixa de dilogo.

Constante VB vbOKOnly vbOKCancel vbAbortRetryIgnore vbYesNoCancel vbYesNo vbRetryCancel

Valor 0 1 2 3 4 5 OK

Exibe Botes OK e Cancelar Abortar, Repetir e Ignorar Sim, No e Cancelar Sim e No Repetir e Cancelar

Ao executarmos a funo MsgBox, esta ir retornar um valor correspondente ao boto de comando clicado, segundo as constantes: Boto OK Abortar Ignorar No Constante vbOK vbAbort vbIgnore vbNo Boto Cancelar Repetir Sim Constante vbCancel vbRetry vbYes

Aloncio de C. Santos

pgina 20

Fundamentos do Visual BasicPara maiores informaes, consulte no Help do Visual Basic a funo MsgBox. ExemploSub cmdOk_Click() Dim botoes, resposta As Integer botoes = vbYesNo + VbExclamation + vbDefaultButton2 resposta = MsgBox(Deseja continuar operao, _ botoes, Sistema) If Resposta = vbYes Then Ao se o usurio clicou no boto Sim Comandos Else Ao se o usurio clicou no boto No Comandos End If End Sub

SOLICITANDO DADOS (FUNO INPUTBOX) A funo InputBox solicita que o Usurio digite uma informao, como por exemplo um nome ou um valor. Sintaxe: Varivel = InputBox(mensagem[, ttulo][, default]) mensagem ttulo default ExemplostrNacional = InputBox(Digite sua Nacionalidade, _ Nacionalidade, brasileira)

o texto da sua mensagem. o ttulo que ser exibido na caixa de dilogo. o valor padro que ser exibido como sugesto.

Aloncio de C. Santos

pgina 21

Fundamentos do Visual Basic TRABALHANDO COM FORMULRIOSOs formulrios so um dos principais blocos de construo de uma aplicao em Visual Basic. Os usurios podem interagir no seu formulrio para obter resultados. Mtodos, propriedades e eventos comumente tratados que os formulrios possuem: Propriedade ActiveControl, BackColor, BorderStyle, Caption, ControlBox, Enabled, Icon, Left, MaxButton, MinButton, Name, Top, WindowState Hide, Move, Paint, PrintForm, Refresh, SetFocus, Show Activate, Click, DblClick, Deactivate, DragDrop, DragOver, GotFocus, Load, LostFocus, MouseDown, MouseMove, Unload Para maiores informaes sobre o objeto Form, veja na ajuda Form Object.

Mtodo Eventos

EXIBINDO E ESCONDENDO FORMULRIOSA maioria das aplicaes composta por diversos formulrios. O formulrio definido como Startup form automaticamente carregado quando a sua aplicao iniciada, mas durante a execuo de seu aplicativo, outros formulrios devem ser exibidos e escondidos. O mtodo ou a funo usada para exibir ou ocultar um formulrio depende do que voc deseja fazer: Tarefa Carregar um formulrio na memria, mas no exibi-lo Carregar e exibir um formulrio Exibir um formulrio carregado Esconder um formulrio Esconder um formulrio e descarrega-lo da memria Mtodo ou funo Use o comando LOAD, ou faa uma referencia ou a uma propriedade ou controle no formulrio Use o mtodo SHOW Use o mtodo SHOW Use o mtodo HIDE Use o comando UNLOAD

Aloncio de C. Santos

pgina 22

Fundamentos do Visual BasicExemplo:Procedimento de inicializao do programa Sub Main() Load frmPrincipal Load frmCadastro Carrega para a memria o _ Formulrio principal Carrega para a memria o _ Formulrio de cadastro Define que o formulrio ser exibido maximizado frmPrincipal.WindowState = vbMaximized frmPrincipal.Show End Sub Exibe o formulrio Fim do procedimento

FORMULRIOS MODALUm formulrio Modal no deixa que o usurio passe de um formulrio para outro na mesma aplicao. A maioria das caixas de dialogo no Visual Basic so modais. Quando um formulrio modal exibido, a aplicao gera um beep caso o usurio clique fora do formulrio modal. Um formulrio modeless (que o padro do VB ao usar o mtodo Show) permite ao usurio passar de um formulrio para outro. Exemplos de formulrio modeless no Ambiente de Desenvolvimento do Visual Basic so as janelas Project, Properties, Code e Formulrios.Private Sub cmdSobre_Click() frmSobre.Show vbModal exibe o formulrio como modal End Sub

CONFIGURANDO O STARTUP FORMPor padro o Visual Basic carrega o primeiro formulrio criado no seu projeto quando a aplicao executada. Entretanto, voc pode especificar qualquer outro formulrio ou uma procedure, chamada Main, para iniciar o seu programa. Para definir qual o Startup Form, siga os seguintes passos: 1. No menu Tools, escolha Options e selecione a guia Project 2. Selecione a partir da lista em startup form o formulrio desejado

Aloncio de C. Santos

pgina 23

Fundamentos do Visual Basic ENCERRANDO SUA APLICAOComo programadores ns podemos encerrar a execuo da aplicao a qualquer momento de duas formas, a primeira usando o comand END. Este comando termina a execuo da sua aplicao e descarrega todos os formulrios. A outra maneira seria usar o comando UNLOAD, neste caso a sua aplicao deve ter apenas um formulrio carregado na memria.Sub cmdSair_click() End Encerra a execuo do aplicativo End Sub

Quando o usurio escolhe uma opo que descarregue um formulrio, para este formulrio gerado um evento UNLOAD(cancel as integer) onde ns podemos tratar o evento e podemos cancelar tal evento, perguntando se o usurio deseja realmente fechar o formulrio. Veja o exemplo a seguir:Sub Form_Unload(Cancel as Integer) If MsgBox(Deseja fechar este formulrio?,_ vbYesNo,Fechar) = vbNo Then Cancel = True End if End Sub

1. O que uma Procedure de Evento? Por que uma procedure de evento no pode estar contida em um mdulo standard?

Questes

2. Comente sobre as caractersticas da funo MsgBox. 3. Quando usar o comando LOAD e o mtodo SHOW para exibir formulrios? 4. Quando devemos usar um formulrio Modal?

Aloncio de C. Santos

pgina 24

Fundamentos do Visual Basic

1. Abra, na pasta C:\VB4FUND\CAP04, o projeto Saldo.vbp Exercci o 2. Insira e construa o formulrio abaixo, usando as convenes de nomenclatura de objetos estabelecida

2

3. Para o boto Calcular Saldo, crie um cdigo que exiba em uma caixa de mensagem a diferena entre a receita e a despesa. 4. Para o boto Limpar Valores, crie um cdigo que apague o contedo das caixas de texto receita e despesa. 5. Para o boto Sair, crie um cdigo que encerre o programa. 6. Crie um novo formulrio, como Caption = Sobre, no qual exiba seu nome e contenha um boto OK, que o descarregue da memria. 7. Para o boto Sobre, exiba o formulrio Sobre, criado no item anterior, de maneira Modal. 8. Salve os formulrios criados e tambm seu projeto Saldo.vbp.

Aloncio de C. Santos

pgina 25

Fundamentos do Visual BasicNeste captulo voc vai aprender: o que uma varivel e quais seus tipos nomenclatura de variveis que adotaremos declarao e escopo de variveis usar algumas funes de converso de variveis, manipulao de strings e de datas

5VARIVEIS

O QUE UMA VARIVEL?Uma varivel um local de armazenamento de dados, identificada por um nome. Ela pode ter seu contedo alterado durante a execuo de seu programa. contedo de uma varivel pode ser texto, data, nmeros, valores lgicos (TRUE ou FALSE), objetos, etc. Exemplo de variveis: x = 12, strNome = Antnio

TIPOS DE VARIVEIS DO VISUAL BASICTipo Byte Boolean Integer Long Single Double Currency Date Object String Variant Descrio inteiro simples valor TRUE ou FALSE inteiro curto inteiro longo preciso simples preciso dupla monetrio data referncia a um objeto cadeia de caracteres qualquer tipo de varivel Exemplo 5 TRUE 528 7430180 93.16 492.028433 $ 735.16 10/01/95 frmLogSys Tamanho 1 byte 2 bytes 2 bytes 4 bytes 4 bytes 8 bytes 8 bytes 8 bytes 4 bytes

Operao OK 10 bytes + string Qualquer valor 22 bytes + tipo de dado

Aloncio de C. Santos

pgina 26

Fundamentos do Visual Basic NOMEANDO VARIVEISCada varivel identificada por um nome, que deve ser nico dentro de seu escopo (visibilidade dentro da aplicao). REGRAS A nomenclatura de variveis deve seguir as seguinte regras: 1. Deve comear com um caracter alfabtico 2. No deve conter espaos nem os caracteres %, &, !, #, @ ou $ 3. Deve ser nico dentro de seu escopo 4. No deve exceder 255 caracteres CONVENO Para facilitar a identificao de nossas variveis, adotaremos uma conveno, sugerida pela Microsoft, para nomenclatura de variveis: Tipo de Varivel Byte Boolean Integer Long Single Double Currency Date Object String Variant Prefixo b f i l s dbl c dt prefixo do objeto referido str v fAtivo iQtdeAlunos lPopulaao sParcela dblRaizCubica cSalario dtNasc frmPessoal, txtBairro, lblMensg, etc strCargo vDados Exemplo bNumCopias

Aloncio de C. Santos

pgina 27

Fundamentos do Visual Basic DECLARAOAo declarar uma varivel iremos estabelecer seu escopo, conforme definido na tabela abaixo: ESCOPO O escopo a visibilidade da varivel, ele indica se uma varivel visvel fora do local onde ela foi definida. Escopo Local Mdulo / Formulrio Visibilidade uma varivel definida a nvel de procedure s visvel dentro da procedure onde foi declarada uma varivel declarada na General Declaration de um mdulo ou de um formulrio s visvel para todas as procedures dentro do mdulo ou formulrio onde foram declaradas uma varivel declarada em um mdulo como Public visvel em todas as procedures de seu projeto

Pblico

Public a = Windows 95 Module/Form b = FALSE Local c = 10

Esquema de Visibilidade de Variveis

Aloncio de C. Santos

pgina 28

Fundamentos do Visual BasicVARIVEIS LOCAIS Variveis locais so aquelas que tem vida somente dentro do procedimento que as criou. Quando o procedimento termina, seu espao de memria liberado. Para declarar uma varivel local usamos a palavrachave DIM: Sintaxe: Dim nomevarivel [As type] Exemplo:Dim strBairro As String Dim fConfirma As Boolean Dim iQtdeAlunos As Integer

DECLARAO IMPLCITA E EXPLCITA Podemos usar uma varivel sem declar-la, simplesmente atribuindo um valor, o que chamamos de declarao implcita. Uma varivel declarada implicitamente ter escopo Local e ser do tipo Variant.Temp = 20

Devemos evitar o uso de declaraes implcitas, declarando cada varivel. Para obrigar a declarao de todas as variveis, no menu Tools escolha a opo Options e na guia Environment clique na caixa de seleo Require Variable Declaration. Ser includo, automaticamente, em seu cdigo (na General Declaration) a definio Option Explicit. Usando a declarao explcita, o VB ir verificar a sintaxe das variveis automaticamente, acusando erros de digitao VARIVEIS STATIC Variveis do tipo Static so variveis que no perdem seu valor quando o procedimento que as criou terminar. Quando o procedimento for chamado mais uma vez ela manter o valor da chamada anterior.Static iCounter As Integer Static strNome As String

Aloncio de C. Santos

pgina 29

Fundamentos do Visual BasicVARIVEIS EM FORMULRIOS/MDULOS Variveis declaradas na seo General Declarations de um Formulrio ou Mdulo so visveis em todos os procedimentos daquele mdulo. Nesta seo ns s declaramos as variveis, no possvel atribuir valores na General Declarations, para se atribuir um valor devemos usar uma Function ou uma Sub. CONSTANTES Constantes so similares a variveis no sentido de armazenar um valor na memria. Elas tambm podem ser de escopo Local, Mdulo e Global. Entretanto, constantes contm valores que no mudam durante toda a execuo do programaConst PI = 3.1415 Const BotaoSimNao = 4 Const BotaoSim=6

CONSTANTES PR-DEFINIDAS DO VISUAL BASIC As Constantes Pr-definidas do Visual Basic so valores incorporados linguagem, representados por constantes iniciadas por vb. Veja os exemplos: vbModal vbCascade ExemploiConfirma = MsgBox(Confirma Operao? , vbYesNo + _ vbCritical + vbDefaultButton2 If iConfirma = vbNo Then Msgbox Operao Cancelada, vbExclamation Else Msgbox Operao Confirmada, vbExclamation End if

vbMaximized vbExclamation

vbYesNo vbLeftButtons

vbNormal vbCancel

Aloncio de C. Santos

pgina 30

Fundamentos do Visual Basic CONVERSESQuando voc se torna mais interessado com o desempenho do seu programa voc declara variveis de tipos diferentes, voc precisar de converter variveis entre diferentes tipos de dados dependendo do que voc est tentando calcular ou processar e o que precisa exibir. Visual Basic executa algumas converses automaticamente. Por exemplo, se a String 1234 colocada numa varivel do tipo Integer, Visual Basic automaticamente converte para integer a string. Outro exemplo, quando uma string 100 adicionada a um valor numrico usando a formula 100 + 10, o Visual Basic converter a string para nmero para executar a formula. Existem alguns casos, entretanto, que o Visual Basic poder gerar resultados estranhos. Por exemplo, se duas strings so adicionadas, o Visual Basic ir concatenar as strings (100 + 10 = 10010). Voc pode evitar bugs em seu programa convertendo explicitamente, usando as funes de converso, antes de usa-las. Tambm quando os valores so convertidos explicitamente, o seu programa executado mais rapidamente porque voc minimiza o trabalho extra do Visual Basic. Funo CBool CCur CDbl CLng CStr Converte para Boolean Currency Double Long String Funo CByte CDate CInt CSng CVar Converte para Byte Date Integer Single Variant

Text1.Text = CStr(HScroll1.Value) txtPixels.Text = CStr(CInt(txtPixels)+1) sngMoney = 1.22 curNewMoney = CCur(iMoney) MyDouble = 437.324 MyString = CStr(MyDouble) Valor single Valor convertido em moeda ' MyDouble um Double. ' MyString contm "437.324".

Aloncio de C. Santos

pgina 31

Fundamentos do Visual Basic MANIPULANDO STRINGSQuando precisamos manipular strings o Visual Basic traz algumas funes para trabalharmos com elas. Funo Left (strText, iCont) Right(strText, iCont) Mid( strText, iStart[,iCont]) UCase(strText) LCase(strText) Len(strText)Dim strNome as String strNome = InputBox(Entre com seu nome) MsgBox A primeira letra : & Left(strNome,1) MsgBox A ltima letra : & Right(strNome,1) MsgBox A quinta letra : & Mid(strNome,5,1) MsgBox Seu nome tem & Len(strNome) & caracteres Msgbox Seu nome em maisculas : & UCase(strNome) Msgbox Seu nome em minsculas : & LCase(strNome)

Descrio Retorna iCont letras de strText a partir da esquerda Retorna iCont letras de strText a partir da direita Retorna iCont letras de strText a partir da posio iStart Retorna strText em maisculas Retorna strText em minsculas Retorna o tamanho de strText

MANIPULANDO DATASAs datas e horas so armazenadas internamente como nmeros. Isto permite que voc faa clculos com as datas, tais como adicionando dias ao dia de hoje para ter uma nova data num futuro. O Visual Basic prove funes para retorno da data e hora atual, e para gerar datas baseado em strings ou outra expresso.

Aloncio de C. Santos

pgina 32

Fundamentos do Visual BasicExemplo:Dim dtNovaData As Date dtNovaData = Date + 15 dtNovaData hoje mais 15 dias recebe a data de _

Funo Date Time Now Hour, Minute, Second Day, Month, Year DataDiff Retorna a data atual Retorna a hora atual

Descrio

Retorna a data e hora atual Retornam Hora, Minuto e Segundo atual Retornam Dia, Ms e Ano de uma data qualquer Retorna a diferena entre duas datas

MsgBox Data atual: & Date MsgBox Dia de Hoje: & Day(Date) MsgBox Ms Atual: & Month(Date) MsgBox Ano Atual: & Year(Date)

1. Qual a vantagem de usarmos a declarao explcita de variveis? Como ativ-la?

Questes

2. Quais os nveis de escopo para declarao de variveis? 3. O que so constantes? E o que so constantes pr-definidas?

Aloncio de C. Santos

pgina 33

Fundamentos do Visual Basic

Primeira Parte Exercci o 1. Abra, na pasta C:\VB4FUND\CAP05\CONVERTE, o projeto converte.vbp 2. No evento KeyUp de cada uma das caixa de texto, codifique a frmula de converso entre as unidades: 1 Polegada = 2,54 centmetros 1 P = 30,4 centmetros 3. Para formatar os valores numricos calculados, utilize a funo Format, cujo cdigo de formatao : ##0.0000 4. Para evitar problemas com valores no numricos, verifique se o contedo digitado numrico (funo IsNumeric), antes de efetuar os clculos 5. No boto Limpar Valores, criar o cdigo para limpar as caixas de texto. 6. Salve o projeto na pasta C:\VB40FUND\CAP05\CONVERTE Segunda Parte 1. Abra, na pasta C:\VB4FUND\CAP05\DATAS, o projeto Datas.vbp 2. Crie uma linha de cdigo que faa a caixa de texto Hoje receber o valor da data de hoje quando o programa for iniciado 3. Crie um cdigo para que sempre que o formulrio se tornar ativo a caixa de texto txtDataIni receba o foco 4. Crie dois procedimentos de eventos para as caixas de texto Data Inicial e Data Final para que quando uma delas for alterada a caixa de texto Diferena seja limpa 5. Para o boto calcular use a funo DateDiff para calcular a diferena das datas entradas e atribuir o resultado a caixa de texto Diferena 6. Salve o projeto na pasta C:\VB40FUND\CAP05\DATAS

3

Aloncio de C. Santos

pgina 34

Fundamentos do Visual BasicNeste captulo voc vai aprender: o que so Sub procedures e Function procedures como declar-las e us-las, modularizar seu programa para

6PROCEDURES

como passar parmetros entre procedures

PROCEDURESProcedures so blocos de cdigo que escrevemos, visando modularizar nossos programas, tornando-o mais organizado, reutilizvel e de manuteno mais simples.

PROCEDURES DE EVENTOUma procedure de evento (event procedure) contm linhas de cdigo que so acionadas somente quando ocorre tal evento. Cada controle possui uma srie de eventos, que so disponibilizados pelo VB, atravs de procedures de evento.

GENERAL DECLARATIONSA General Declaration uma rea disponvel em Formulrios e Mdulos onde podemos codificar procedures que sero genricas para o formulrio ou mdulo. Usamos tambm para declararmos constantes e variveis dentro de seu escopo.

SUB PROCEDURESSo procedimentos independentes que executam comandos, no retornando valor nenhum. Veja o exemplo de uma sub procedure a seguir:Sub AbreArquivo() Abre um arquivo para leitura Open LogFile.Log For Input as #1 End Sub

Aloncio de C. Santos

pgina 35

Fundamentos do Visual Basic FUNCTION PROCEDURESSo procedimentos que executam comandos, retornando valor para o procedimento de onde foi chamada a funo. Exemplo 1:Function GetFileName() as String Dim strFile as String Abre uma janela de entrada e pede o nome do arquivo strFile=InputBox(Entre com o nome do arquivo) para retornar um valor de uma funo deve-se atribuir o valor desejado ao nome da funo GetFileName = strFile End Sub

Exemplo 2:Function CalculaComissao (Vendas As Single,_ Comissao as Single) As Single Dim sngRetorno As Single sngRetorno = (Vendas * Comissao) / 100 CalculaComissao = sngRetorno End Function

PASSAGEM DE PARMETROSParmetro um valor que passado uma Sub ou uma Function para que seja executado um processamento com este valor. Como visto no exemplo anterior, a funo CalculaComissao recebe dois parmetros: Vendas e Comissao que serviro de base para o clculo da comisso de um vendedor. Quando desejarmos passar um parmetro para um procedimento, devemos declar-lo juntamente com a declarao do procedimento, dentro dos parnteses e separados por vrgulas.Function CalculaComissao (Vendas As Single,_ Comissao as Single) As Single

Aloncio de C. Santos

pgina 36

Fundamentos do Visual Basic

1. Qual a diferena entre Sub procedures e Function procedures?

Questes

2. Cite exemplos de procedimentos que caracterizariam Sub procedures e Function procedures. 3. Por que passarmos parmetros a uma procedure?

1. Abra o projeto Temp na pasta C:\VB40FUND\CAP06 Exercci o 2. Crie um mdulo novo e nele crie uma sub para centralizar um formulrio qualquer 3. Neste mesmo mdulo crie duas funes para converso entre temperaturas Fahrenheit e Celsius usando as seguintes frmulas: Temp.Fahrenheit = Temp.Celsius * (9 / 5) +32 Temp.Celsius = (Temp.Fahrenheit - 32) * (5 / 9) 4. No boto Converter para Celsius crie um cdigo que converta o valor digitado na caixa de texto da temperatura e defina o foco para o boto Converter para Fahrenheit 5. No boto Converter para Fahrenheit crie um cdigo que converta o valor digitado na caixa de texto da temperatura e defina o foco para o boto Converter para Celsius 6. No boto Sair coloque o cdigo para finalizar a aplicao 7. Salve o projeto

4

Aloncio de C. Santos

pgina 37

Fundamentos do Visual BasicNeste captulo voc vai aprender: usar estruturas de controle, para estabelecer a seqncia lgica de seu programa conhecer estruturas de seleo conhecer estruturas de repetio

7CONTROLANDO A EXECUOESTRUTURAS DE SELEO

Estruturas de Seleo permitem a execuo de um bloco de cdigo de acordo com o resultado de um teste lgico (comparao). IF...THEN...ELSE Sintaxe: If teste lgico Then [comandos...] [ElseIf teste lgico Then [comandos...] ] [Else [comandos...] ] End If Exemplo:If sVendas > 50000 Then sComisso = 0.11 ElseIf sVendas > 15000 Then sComisso = 0.07 ElseIf sVendas > 8000 Then sComisso = 0.04 Else sComisso = 0.02 End If vendas menores ou iguais a 8000 vendas maiores que 8000 vendas maiores que 15000 vendas maiores que 50000

Aloncio de C. Santos

pgina 38

Fundamentos do Visual BasicSELECT CASE Sintaxe: Select Case expresso Case valor expresso1 [comandos...] [Case valor expresso2 [comandos...] ] [Case Else [comandos...] ] End Select Exemplo:Select Case iCdigo Case 10 iPrioridade = 1 Case 15,20 iPrioridade = 2 Case 25 To 45 iPrioridade = 3 Case Else iPrioridade = 4 End Select

A estrutura Select Case mais apropriada para verificar a igualdade de diversos valores discretos, enquanto a estrutura If...Then...Else mais indicada para testes lgicos de expresses. Podemos inserir uma estrutura de seleo dentro de outra estrutura de seleo para manipularmos lgicas mais complexas.

Aloncio de C. Santos

pgina 39

Fundamentos do Visual Basic ESTRUTURA DE REPETIOEstrutura de repetio permite a execuo de um bloco de cdigo repetidas vezes de acordo com o critrio (teste lgico) estabelecido. DO UNTIL/WHILE...LOOP Sintaxe: Do [ { While | Until } condio] [comandos...] [Exit Do] [comandos...] LoopFunction GetFileName() as String Dim strFileName as String strFileName = Do While strFileName = strFileName = InputBox(Nome do arquivo,_ Abrir Arquivo,) Loop GetFileName = strFileName End Function

Aloncio de C. Santos

pgina 40

Fundamentos do Visual BasicDO...LOOP UNTIL/WHILE Sintaxe: Do [comandos...] [Exit Do] [comandos...] Loop [ { While | Until } condio]Sub EntradaDeDados() Dim iCont As Integer Dim iEntrada As Integer Dim iValores(10) As Integer iCont = 0 Do iCont = iCont + 1 iEntrada=InputBox(Entre com Inteiro. 0 Termina) If iEntrada = 0 Then Exit Do End If Valores(iCont) = Entrada Loop Until iCont = 10 End Sub

Aloncio de C. Santos

pgina 41

Fundamentos do Visual BasicFOR...NEXT Sintaxe: For contador = valor inicial To valor final [Step incremento] [comandos...] [Exit For] [comandos...] Next [contador]Sub Form_Paint() Dim iI, iJ As Integer For iI = 2 To 3 For iJ = 1 To 10 Print iI & x & iJ & = & iI * iJ Next Next End Sub

1. Compare uma estrutura de seleo If...Then...Else como uma estrutura Select...Case.

Questes

2. Podemos usar estruturas de controles dentro de outras estruturas de controle? 3. Para que serve o comando Exit Do?

Aloncio de C. Santos

pgina 42

Fundamentos do Visual Basic

1. Crie um formulrio com a seguinte interface: Exercci o

5

2. Quando for selecionado o relatrio anual devem ser desabilitados os seguintes controles: Caixa de combinao ao lado do boto de opo Mensal Caixas de texto Inicio e Fim para o relatrio de perodo 3. Quando for selecionado o relatrio mensal devem ser desabilitados os seguintes controles: Caixa de texto ao lado do boto de opo Anual Caixas de texto Inicio e Fim para o relatrio de perodo O contedo da caixa de combinao ser uma seqncia numerada de 1 at 12 representando os meses 4. Quando for selecionado o relatrio mensal devem ser desabilitados os seguintes controles Caixa de texto ao lado do boto de opo Anual Caixa de combinao ao lado do boto de opo Mensal (continua)

Aloncio de C. Santos

pgina 43

Fundamentos do Visual Basic

(continuao) 5. Quando for pressionado o boto de imprimir o programa dever exibir, numa caixa de mensagem, para cada cpia desejada as seguintes mensagens de acordo com o tipo de relatrio pedido: Anual: Imprimindo pgina de do Relatrio Anual de Mensal: Imprimindo pgina de do Relatrio do ms de Perodo: Imprimindo pgina de do Relatrio do Perodo de e 6. Salve o projeto e o formulrio com o nome de Imprime.vbp na pasta C:\VB40FUND\CAP07

Aloncio de C. Santos

pgina 44

Fundamentos do Visual BasicNeste captulo voc vai aprender: identificar os tipos de erros no VB conhecer as ferramentas de depurao conhecer a Debug Window

8DEPURAO DE APLICATIVOSTIPOS DE ERROS Sintaxe Run-time Lgicos

so erros provocados por erros de digitao de comandos so erros durante a execuo do programa so erros causados por lgicas incorretas

FERRAMENTAS DE DEPURAOBreakpoint um local no cdigo onde o Visual Basic para a execuo do programa e entra em break mode. Via teclado, pressione a tecla F9. Exibe o valor atual de uma expresso sobre o cursor ou que esteja selecionada. Lista todas as chamadas de funes durante a execuo da aplicao. Executa passo a passo o contedo de uma procedure, Via teclado, pressione a tecla F8. Roda o prximo cdigo executvel, passando atravs de cada linha de cdigo que se segue. Se o cdigo chamar uma procedure definida pelo usurio, esta procedure ser executa diretamente. Inicia a sua aplicao Entra em Break Mode Termina a sua aplicao

Instant Watch Calls Step Into Step Over

Start Break End

Aloncio de C. Santos

pgina 45

Fundamentos do Visual Basic BREAK MODEO Break Mode para a execuo do seu programa para que voc possa executlo passo a passo, ver o contedo de variveis, propriedades e expresses e at mudar os valores de variveis e propriedades. Estando em Break Mode, para executar passo a passo seu programa, clique na ferramenta Step Into ou pressione a tecla F8. Para executar uma procedure, sem passar linha a linha, pressione a ferramenta Step Over, ou pressione as teclas SHIFT + F8.

DEBUG WINDOWA Debug Window dividida em duas partes, a parte superior exibe as variveis que foram adicionadas na janela com o comando Add Watch para monitorar os valores durante a execuo do programa. Na parte inferior temos a janela imediata, onde podemos exibir variveis, alterar seu valor e chamar funes do prprio Visual Basic .

Watch Pane

Immediate Pane

Para acompanhar o contedo de uma varivel voc deve fazer: 1. No menu Tools selecione a opo Add Watch. 2. Na caixa de texto Expression digite a varivel desejada. 3. Pressione o boto de OK. 4. Visualize seu contedo em Watch Pane.

Aloncio de C. Santos

pgina 46

Fundamentos do Visual Basic

1. Explique os tipos de erros que podem ser gerados no VB? 2. Como podemos entrar em Break Mode?

Questes

3. O que podemos fazer atravs da Debug Window?

1. Abra um projeto criado anteriormente Exercci o 2. Execute o aplicativo, utilizando as diversas ferramentas de depurao descritas neste captulo 3. Encerre seu projeto

6

Aloncio de C. Santos

pgina 47

Fundamentos do Visual BasicNeste captulo voc vai aprender: usar controles padres usar alguns custom controls projetar Menus para sua aplicao

9CONTROLES

CONTROLES PADRESControle Descrio Pointer (ponteiro)- Este boto no desenha nenhum controle, ele utilizado para redimencionar ou selecionar controle j criados PictureBox (figura) - Use este controle para a exibio de imagens, tanto decorativas como ativas), como container para mtodos grficos ou container para outros controles Label (etiqueta)- Use para exibir texto que voc no deseja que o usurio altere. Como o ttulo de um grfico TextBox (caixa de texto)- Use para editar um texto onde o usurio pode entrar com um texto ou alter-lo Frame (moldura) - Use este controle para criar uma diviso grfica ou funcional para agrupar os controle. Para agrupar os controle, crie primeiro a frame depois desenhe os controle dentro dela CommandButton (boto de comando) - Use este controle para criar um boto que quando pressionado executa uma ao CheckBox (caixa de verificao) - Use este controle para que o usurio possa rapidamente escolher se uma informao verdadeira ou falsa ou exibir mltiplas escolhas quando o usurio puder escolher mais de uma opo OptionButton (boto de opo) - Use dentro de um grupo com mltiplas opes de onde o usurio s poder escolher uma opo

Aloncio de C. Santos

pgina 48

Fundamentos do Visual BasicControle Descrio Combo box (caixa de combinao) - Use para desenhar uma combinao de Textbox e Listbox onde a opo pode ser digita no controle ou escolhida atravs de uma lista ListBox (caixa de listagem) - Usado para exibir um lista de opes de onde o usurio pode escolher uma ou vrias opes dependendo das propriedades. A lista pode ser rolada se ela tiver mais itens que for possvel exibir de uma s vez HScrollBar (barra de rolagem horizontal) - Utilizada para fornecer uma ferramenta grfica para o acesso rpido a longas listas de itens ou uma grande quantidade de informaes VScrollBar (barra de rolagem vertical) - Utilizada para fornecer uma ferramenta grfica para o acesso rpido a longas listas de itens ou uma grande quantidade de informaes Timer (temporizador) - Executa uma ao num determinado espao de tempo, este controle no visvel em run time DriveListBox (caixa de listagem de drives)- Exibe uma lista de drives do sistema DirListBox (caixa de listagem de diretrios) - Exibe um lista com os diretrios de um drive FileListBox (caixa de listagem de arquivos) - Exibe um lista com os arquivos de um diretrio Shape (figura) - Usado para desenhar vrias formas geomtricas no formulrio em design time Line (linha) - Desenha uma variedade de linhas com estilos diferentes Image (imagem) - Utilizado para exibir uma imagem (bitmap, metafile ou cone), as imagens criadas com este controle so apenas decorativas DataControl (acesso a dados) - Fornece acesso a base de dados OLE Container (objeto OLE)- Utilizado como container para objetos de outros aplicativos no Visual Basic

Aloncio de C. Santos

pgina 49

Fundamentos do Visual Basic CUSTOM CONTROLSCustom Controls (controles personalizados) so controles adicionais aos controles padres que aparecem na toolbox. Um custom control um arquivo que pode ser adicionado ao seu projeto. Uma vez adicionado, ele cria um boto na toolbox para ento voc pode colocar o custom control no seu formulrio. Os custom controls tem as extenses .VBX ou .OCX. Os custom controls com a extenso .OCX tiram proveito da tecnologia OLE e podem ser escritos para 16-bit ou 32-bit. (Estes controles tambm so chamados de OLE Controls.) Custom controls com a extenso .VBX usam uma tecnologia antiga e so encontrados em algumas aplicaes escritas nas verses anteriores do Visual Basic 4.0. Veja as regras para a utilizao de custom controls: Verso do Visual Basic VB 4 verso 32 bits VB 4 verso 16 bits Verses anteriores .VBX No Sim Sim .OCX (16-bit) No Sim No .OCX (32-bit) Sim No No

Nota: Quando um projeto contendo um .VBX control aberto, a ao padro atualizar este controle para um .OCX se a verso .OCX do controle estiver disponvel.

Alguns custom controls so controles que s podem ser utilizados em Sistemas Operacionais de 32 bits, como o Windows 95 e Windows NT 3.51 ou superiores.

Se voc desenvolveu aplicativos na verso 3.0 do Visual Basic, usando controles personalizados de terceiros, e quer migrar seus aplicativos, verifique com seu fornecedor de controles .VBX se j est disponvel uma verso atualizada (.OCX) do controle para ser utilizado no Visual Basic 4.0.

Aloncio de C. Santos

pgina 50

Fundamentos do Visual Basic CONTROLES DE ARQUIVOSExistem controles especficos para navegao entre unidades, diretrios e arquivos. Para integr-los utilizamos apenas algumas linhas de cdigo em suas procedures de evento, como descreveremos a seguir: A procedure abaixo ativada quando ocorrer uma mudana no drive, atribuindo sua escolha ao caminho de diretrio:Sub drvDrive_Change() dirDirectory.Path = drvDrive.Drive End Sub

A procedure abaixo ativada quando ocorrer uma mudana no diretrio selecionado, atualizando a lista de arquivos exibida:Sub dirDirectory_Change() filFileList.Path = dirDirectory.Path End Sub

A procedure abaixo utiliza o caminho de diretrio e o arquivo selecionado para exibir uma figura:Sub filFileList_Click() Image1.Picture = LoadPicture(dirDirectory.Path _ & \ & filFileList.FileName) End Sub

Para inserir caixas de dilogo de Abrir, Salvar, Fontes e outras, em nossos aplicativos, podemos usar o controle CommonDialog, que veremos a seguir

Aloncio de C. Santos

pgina 51

Fundamentos do Visual Basic COMMONDIALOGAlgumas Caixas de Dilogo do Windows so utilizadas em diversos aplicativos, como as de Abrir, Fonte, Cores, Help, Salvar e Impressora. Para aproveitarmos tal caracterstica, podemos utilizar o controle CommonDialog. CommonDialog um controle adicionado ao seu formulrio, sendo seu cone mostrado somente em design time, que exibe Caixas de Dilogo padro.

Para exibir uma caixa de dilogo, utilizamos os mtodo do CommonDialog: ShowColor, ShowFont, ShowOpen, ShowSave, ShowHelp e ShowPrinter. Exemplo:Sub cmdAbrirFigura() CommonDialog1.DialogTitle = Escolha um arquivo CommonDialog1.Filter = Figuras(*.bmp) *.bmp CommonDialog1.ShowOpen If CommonDialog1.FileName Like *.BMP Then image1.Picture = LoadPicture(CommonDialog1.FileName) Else MsgBox Escolha um arquivo *.bmp , vbOKOnly + _ vbExclamation End If End Sub

Aloncio de C. Santos

pgina 52

Fundamentos do Visual Basic INDEXANDO CONTROLESPara facilitar a referncia a diversos controles em um formulrio, ao invs de criarmos um nome para cada ocorrncia do controle podemos usar um nico nome e index-lo, para diferenciar cada ocorrncia. Para criar controles indexados, siga os passos: 1. Crie um controle em seu formulrio 2. Selecione-o e copie-o para a rea de Transferncia - no menu Editar escolha a opo Copiar. 3. Cole-o em seu formulrio - no menu Editar escolha a opo Colar. Surgir uma caixa de dilogo, perguntando se voc deseja criar um control array - vetor de controles. Clique em Yes. Ao usarmos controles indexados, nosso cdigo poder ser reduzido, pois evitaremos escrever linhas de cdigo que sejam idnticas em diversos ou em todos os elementos, criando uma nica procedure de evento que receber como parmetro o Index do controle desejado. Com isso, sua procedure dever verificar o valor do Index e selecionar o procedimento apropriado. Veja no exemplo a seguir, onde foram criados em um formulrio 4 botes de comando com o nome de cmdCalcula, que efetuam operaes aritmticas:Private Sub cmdCalcula_Click(Index As Select Case Index Case 0 txtResultado = CDbl(txtOp1) strSinal = "+" Case 1 txtResultado = CDbl(txtOp1) strSinal = "-" Case 2 txtResultado = CDbl(txtOp1) strSinal = "*" Case 3 txtResultado = CDbl(txtOp1) strSinal = "/" End Select Integer)

+ CDbl(txtOp2)

- CDbl(txtOp2)

* CDbl(txtOp2)

/ CDbl(txtOp2)

Aloncio de C. Santos

pgina 53

Fundamentos do Visual Basic PROJETANDO MENUSPara que o projeto de interface de seu aplicativo seja coerente com os padres do Windows, devemos incorporar Menus aos nossos programas em VB. Usaremos o Editor de menus do VB para criar facilmente todos os elementos componentes de menus. TERMINOLOGIA DE MENUS Existem vrios termos associados aos menus no ambiente Windows. Menu Barra de Menus SubMenu

Item de Menu

Barra de Menus Menu Item de Menu SubMenu Menu Popup Tecla de Atalho

Barra que contm os menus de sua aplicao, localizada abaixo da barra de ttulo Contm uma lista de itens (comandos) uma opo (comando) dentro de um menu um subordinado a um item de menu um menu de contexto, que exibido no local onde o Usurio clicou uma tecla ou combinao de teclas que permite o rpido acesso a um item de menu

Aloncio de C. Santos

pgina 54

Fundamentos do Visual BasicEDITOR DE MENUS A criao de menus no Visual Basic feita atravs do Editor de Menus Para ativ-lo clique na ferramenta Menu Editor. Surgir a seguinte janela, onde criaremos nossos menus, submenus, teclas de atalho, tornaremos os menus visveis, etc.

MENUS POPUP Menus pop-up so os menus de contexto, aqueles que aparecem quando pressionamos o boto direito do mouse sobre alguma rea da aplicao. Para se exibir um menu de contexto, basta utilizar o mtodo PopupMenu de um formulrio, passando para ele o nome do menu que voc deseja exibir.Private Sub Form_MouseUp(Button As Integer, _ Shift As Integer, X As Single, Y As Single) If Button = vbRightButton Then Form1.PopupMenu mnuFormatar End If End Sub

Aloncio de C. Santos

pgina 55

Fundamentos do Visual Basic

1. Podemos expandir os controles disponveis no VB? 2. Para que usamos controles indexados?

Questes

3. Cite os termos associados a Menus?

1. Crie um formulrio com a seguinte interface: Exercci o

7

2. Adicione ao formulrio um controle Timer e faa com que a propriedade Interval seja igual a 1000 3. No evento Timer altere a propriedade Caption para que seja igual a hora atual. Se a hora atual for igual ou maior hora digitada na caixa de texto e o boto de opo Ativo estiver selecionado, exiba uma caixa de mensagem com uma mensagem de alarme

Aloncio de C. Santos

pgina 56

Fundamentos do Visual BasicNeste captulo voc vai aprender: como o VB trabalha com Banco de Dados usar o Data Control para exibir registros noes de SQL usar o Data Form Designer para gerar formulrios de banco de dados

10ACESSANDO BANCO DE DADOSCONCEITOS BSICOSBanco de Dados (database) Tabela (table) Registro (record) Campo (fields) Chave (primary key)

um conjunto de informaes relacionadas, armazenadas em forma de Tabelas. Ex.: banco de dados de vendas. um conjunto de registros relativos a uma mesma entidade. Ex.: tabela de vendedores. um conjunto de campos relacionados a uma ocorrncia especfica. Ex.: registro do vendedor. uma categoria de informao armazenada em um registro. Ex.: campo Nome do vendedor. uma identificao unvoca de um registro, cujo propsito diferenci-lo dos demais. Ex.: matrcula do vendedor.

ACESSANDO DADOS COM O VISUAL BASICO Visual Basic permite o acesso a diversos tipos de Banco de Dados: Jet Databases Engine ISAM Databases ODBC Databases Banco de Dados do MS-Access e do Visual Basic, que manipulam os dados atravs do Jet Engine Banco de Dados ISAM (Indexed Sequential Access Method) como dBase, Fox Pro, Paradox, etc Outros Banco de Dados que suportem o padro ODBC (Open Database Connectivity) como ORACLE e Microsoft SQL Server

Aloncio de C. Santos

pgina 57

Fundamentos do Visual Basic TRABALHANDO COM O DATA CONTROLO Data Control permite o acesso a banco de dados de maneira simples. Primeiro voc relaciona um Data Control a uma tabela de um banco de dados ou at mesmo a uma consulta em SQL. Depois basta relacionar em seu formulrio os controles (textbox, label, listbox, combo box, picture, etc) a campos do seu banco de dados. Para usar o Data Control, siga os seguintes passos: 1. Selecione a ferramenta Data Control 2. Desenhe-o, arrastando com o mouse, em seu formulrio 3. Clique com o boto direito do mouse e escolha Properties, para definir as propriedades para conexo com banco de dados. As propriedades do Data Control que devemos definir para estabelecer a conexo com banco de dados so: Propriedade Name Connect DatabaseName RecordSource Descrio nome do Data Control tipo de banco de dados conectado arquivo de banco de dados tabela do banco de dados Exemplo Data1 Access C:\NWIND.MDB Clientes

Por padro, o Visual Basic trabalha com banco de dados .MDB (do MS-Access, pois usa o mesmo Jet Engine), mas voc pode escolher outros como Dbase e at formato .XLS do Excel. DatabaseName normalmente o nome do arquivo de banco de dados, porm se seu banco de dados separado em diversos arquivos (caso tpico de arquivos Xbase), indique o nome do diretrio onde esto contidos tais arquivos. RecordSource normalmente indica uma tabela, mas podemos indicar uma consulta em SQL, para buscar um subconjunto dos dados de acordo que critrios que iremos estabelecer.

Aloncio de C. Santos

pgina 58

Fundamentos do Visual BasicAgora que seu banco de dados j est indicado, falta relacionar seus campos com os controles em seu formulrio. Para relacion-los, voc precisa definir duas propriedades em seu controle: Propriedade DataSource DataField Descrio qual Data Control a origem dos dados relacionados qual campo est relacionado com o controle Exemplo Data1 Matricula

Ao trabalhar com o Data Control, voc est acessando diretamente o banco de dados, podendo manipul-lo indevidamente. Para obter maior controle sobre seus dados, usamos tcnicas mais sofisticadas de manipulao, utilizando DAO - Objetos de Acesso a Dados, que demandam maior trabalho de programao, mas oferecem maior flexibilidade (Este tpico, no faz parte do presente curso).

RECORDSETUm RecordSet um Objeto que contm um conjunto de registros fornecidos pelo Data Control. Existem propriedades e mtodos do Data control relacionados com o RecordSet, como: Propriedades RecordSet.EOF RecordSet.Bookmark RecordSet.NoMatch Mtodos Refresh Descrio Retorna indicao de final dos registros Retorna ou define um indicador para o registro corrente Retorna TRUE se nenhum registro foi encontrado atravs do mtodo Find Descrio Reestabelece a exibio do banco de dados

RecordSet.FindFirst, Localizam um registro de acordo com um determinado FindLast, FindPrevious, critrio, posicionando-o como registro corrente. FindNext

Aloncio de C. Santos

pgina 59

Fundamentos do Visual Basic USANDO SQLSQL (Structured Query Language) uma linguagem de banco de dados que contm comandos simples e padronizados para consulta e manipulao de dados. Podemos utilizar SQL no Visual Basic para especificar um RecordSource em um Data Control que contenha somente alguns dados de uma tabela, ao invs da tabela inteira, como no exemplo abaixo:Data1.RecordSource = SELECT [nome aluno] FROM Alunos

O comando SELECT utilizado para gerar consultas, oferecendo vrias clusulas e sintaxes: FROM WHERE ORDER BY indica a tabela onde esto armazenados os dados especifica condies de filtragem dos dados indica a ordenao dos registros por um determinado campo

Sintaxe SELECT lista de campos FROM tabela WHERE condies ORDER BY campos

Exemplo SELECT [codigo aluno], [nome aluno] FROM alunos WHERE sexo = F ORDER BY [nome aluno] DESC

Voc pode usar o Microsoft Access para gerar a consulta e abria-la como recordsource de um Data Control

Aloncio de C. Santos

pgina 60

Fundamentos do Visual Basic DATA FORM DESIGNERO Data Form Designer um Add-In que gera formulrios simples para manipulao de banco de dados. Para acess-lo, clique no menu Add-Ins e escolha a opo Data Form Designer. Caso esta opo no esteja visvel, clique no menu Add-Ins e escolha a opo Add-In Manager. Surgir uma caixa de dilogo na qual voc ir marcar a checkbox Data Form Designer e pressionar OK. A partir da, esta opo se tornar disponvel. Ao carregar o Data Form Designer, voc dever fornecer um nome para seu formulrio, o tipo de conexo (default o MS-Access), selecionar o arquivo de banco de dados atravs do boto de comando Open Database, e escolher a tabela que ser o RecordSource. Aps escolher seu RecordSource, sero exibidos seus campos, e voc ir escolher quais campos faro parte de seu formulrio. Escolhidos os campos, clique no boto Build the Form para que seu formulrio seja construdo.

MANIPULANDO REGISTROSApresentamos a seguir as procedures bsicas de manipulao de banco de dados. INCLUINDO A procedure abaixo inclui um novo registro em branco no final do RecordSet, permitindo a entrada de um novo registro.Private Sub cmdAdd_Click() Data1.Recordset.AddNew End Sub

Aloncio de C. Santos

pgina 61

Fundamentos do Visual BasicEXCLUINDO A procedure abaixo exclui o registro atual e move-se para o prximo registro. Caso o registro excludo tenha sido o ltimo, movemos o registro corrente para o ltimo registro atual.Private Sub cmdDelete_Click() Data1.Recordset.Delete Data1.Recordset.MoveNext Verificar se foi deletado o ltimo registro If Data1.RecordSet.EOF = True Then Data1.RecordSet.MoveLast End If End Sub

REESTABELECER A procedure abaixo reestabelece o contedo dos controles de acordo com o contedo original dos campos do banco de dados, desprezando as alteraes que voc acabou de digitar.Private Sub cmdRefresh_Click() Data1.Refresh End Sub

Note que voc s pode Reestabelecer os campos de um registro alterado enquanto voc no tenha navegado entre os registros, pois ao navegar as alteraes j so automaticamente salvas. MODIFICANDO E ATUALIZANDO A procedure abaixo atualiza o registro, posicionando como registro atual o registro modificado.Private Sub cmdUpdate_Click() Data1.UpdateRecord Data1.Recordset.Bookmark = Data1.Recordset.LastModified End Sub

Aloncio de C. Santos

pgina 62

Fundamentos do Visual BasicPROCURANDO A procedure abaixo armazena o indicador do registro atual e usa o mtodo Find para localizar um registro de acordo com um critrio (definido por strCriteria).Private Sub cmdFind_Click() Dim CurrentRecord As String armazena a opsio do registro atual CurrentRecord = Data1.Recordset.Bookmark Data1.Recordset.FindFirst strCriteria verifica se o registro no foi encontrado If Data1.Recordset.NoMatch Then Data1.Recordset.Bookmark = CurrentRecord End If End Sub

Ao encontrar a primeira ocorrncia, ser posicionada como registro corrente. Caso no seja encontrado nenhum registro de acordo com o critrio estabelecido, posiciona novamente no registro onde estava originalmente posicionado.

Questes

1. Quais as vantagens e desvantagens que voc v na utilizao do Data Control? 2. Que tipos de banco de dados podemos acessar no VB? 3. O que um RecordSet? 4. Quais so as propriedades que devemos definir para o Data Control? E para os controles relacionados em seu formulrio? 5. Por que usar SQL? Cite as principais clusulas?

Aloncio de C. Santos

pgina 63

Fundamentos do Visual Basic

Primeira Parte Exercci o 1. Crie com o Data Form Designer um formulrio para manipular os dados da tabela Agenda do Banco de dados Agenda.mdb que est na pasta C:\VB40FUND\CAP10 2. Salve o projeto com o nome de Agenda na mesma pasta

8

Segunda Parte 1. Sem o auxilio do Data Form Designer crie um formulrio para visualizar os dados da tabela de Produtos do Banco de Dados Nwind.mdb. Crie botes para Inserir novos registros, Alterar os registros e Excluir os registros 2. Salve o projeto com o nome de Produtos na pasta C:\VB40FUND\CAP10

Aloncio de C. Santos

pgina 64

Fundamentos do Visual BasicNeste captulo voc vai aprender: dicas para projetar uma boa interface para seus aplicativos caractersticas de desenvolvimento em 16 e 32 bits distribuir suas aplicaes

11DETALHES FINAIS

PROJETANDO SUA INTERFACEUm aplicativo de qualidade deve ser projetado de maneira a ser fcil de usar, claro, intuitivo para o usurio. Uma interface que seja confusa, complexa e despadronizada pode levar seu aplicativo ao total fracasso. Por isso, daremos algumas dicas importantes que devem ser levadas em conta na hora de construirmos nossos aplicativos. Uma interface de qualidade deve: ser bem organizada: ter um aspecto visual agradvel, seus controles bem distribudos, evitar congestionar visualmente os formulrio. ser fcil de utilizar: proporcionar facilidades de manipulao para o Usurio e ser bastante intuitiva. prover acessibilidade: proporcionar meios alternativos de acesso. Por exemplo, deve fornecer acesso via mouse e via teclado a comandos. ser consistente: oferecer procedimentos padronizados, telas coerentes umas com as outras, lay out semelhante entre formulrios e principalmente obedecer s convenes do ambiente Windows. minimizar interaes modais: reduzir o uso de formulrios modais, utilizlos somente quando este tipo de interao for necessria. minimizar e tratar os erros do Usurio: prevenir provveis situaes de erros e trat-los quando ocorrerem. prover retorno (feedback) das aes: demonstrar para o Usurio o resultado de aes, enviar mensagens de sucesso em operaes, situaes de erro, etc. levar em conta seus Usurios: seu aplicativo deve ser projetado pensando nos diferentes nveis de Usurios que iro utiliz-lo.

Aloncio de C. Santos

pgina 65

Fundamentos do Visual Basic DESENVOLVIMENTO EM 16 E 32 BITSPodemos criar aplicativos com o Visual Basic para plataformas 16 bits (Windows 3.X) e plataformas 32 bits (Windows 95 e Windows NT). Cada edio do VB disponibiliza duas verses: para as plataformas 16 e 32 bits (menos na edio Standard, que s possui ambiente de 32 bits). Voc pode instalar as duas verses (16 e 32 bits) em uma mesma pasta (diretrio), para economizar espao em disco. Como regra geral voc pode executar uma aplicao de 16 bits em ambos ambientes (16 e 32 bits), mas talvez queira ter uma verso separada, para usufruir dos recursos adicionais de 32 bits. Ao abrir um projeto feito em 16 bits na verso de 32 bits, os controles de 16 bits sero substitudos pelos correspondentes de 32 bits (a menos que no exista um controle correspondente). Aps aberto o projeto, basta recompilar para obter um aplicativo 32 bits.

DISTRIBUINDO SEUS APLICATIVOSAps desenvolver nossos aplicativos, devemos prepar-los para serem distribudos. Aprenderemos como gerar arquivos executveis GERANDO EXECUTVEIS Concludo, testado e aprovado seu aplicativo, iremos gerar um arquivo executvel, para que possa reunir em um nico arquivo, todos os formulrios e mdulos de seu projeto. Para gerar um arquivo executvel, no menu File escolha a opo Make EXE File e escolha onde este ser gravado. O arquivo executvel gerado pelo Visual Basic no totalmente independente, pois necessita de algumas DLLs em seu sistema para ser executado. Para distribuir seus executveis, usaremos o Setup Wizard, como veremos a seguir.

Aloncio de C. Santos

pgina 66

Fundamentos do Visual BasicSETUPWIZARD Para distribuir seu aplicativo, no basta somente copiar o arquivo executvel, pois existem recursos em seu aplicativo cuja funcionalidade proporcionada por algumas DLLs, que so indispensveis para que seu aplicativo seja executvel. Por outro lado, seria conveniente que seu aplicativo possusse a mesma forma de instalao, um mesmo tipo de programa de Setup. O Visual Basic permite a criao de programas de Setup, de maneira fcil e rpida, atravs do Setup Wizard. O Setup Wizard um assistente que gera um programa de setup para seu projeto em VB. O Setup Wizard vai gui-lo passo a passo na criao de seu programa de setup, j incluindo as DLLs necessrias para execuo de seu aplicativo, custom controls, compactando seus arquivos e gerando a quantidade de discos necessria para seu aplicativo. O Setup Wizard um programa que executado a partir do mesmo grupo de programas do Visual Basic e ir completar em 7 passos o processo de gerao dos discos de instalao de seu aplicativo. Aps gerados os discos, o Usurio far o processo de instalao da mesma maneira que feito para qualquer aplicativo do Windows. 1. Cite 4 caractersticas que devem ser consideradas na elaborao da interface de sua aplicao?

Questes

2. Podemos usar um projeto criado em uma verso anterior do Visual Basic (verso 3) nas plataformas 16 e 32 bits? Quais os problemas que poderiam ocorrer? 3. Um programador novato em VB desenvolveu em seu trabalho um aplicativo interessante, gerou um arquivo executvel deste aplicativo e levou-o para casa. Ao tentar us-lo em casa, o programa no conseguiu ser executado. O que pode ter acontecido? Qual o procedimento correto para evitar tal problema?

Aloncio de C. Santos

pgina 67

Fundamentos do Visual BasicNeste captulo voc vai aprender: rever alguns dos termos mais utilizados durante o curso servir de referncia rpida para suas dvidas

12GLOSSRIO

banco de dados - um conjunto de informaes relacionadas, armazenadasem forma de Tabelas. Um Cadastro de Clientes um exemplo de banco de dados.

break mode - um modo utilizado para depurao de aplicativos, onde seuprograma executado passo a passo e voc pode interagir com ele, visualizando e alterando objetos.

code window - janela de cdigo, que permite a edio das linhas de cdigode seu aplicativo.

constante - armazena um valor que no se modifica durante a execuo de seuprograma.

constantes pr-definidas - so constantes estabelecidas pelo VB, que noprecisam ser declaradas.

controles - so representaes grficas de objetos tais como botes decomando, caixas de edio onde o Usurio pode interagir com a aplicao.

custom controls - so controles personalizados, que ampliam afuncionalidade do Visual Basic.

data control - controle utilizado para acesso a banco de dados. depurao - processo de verificao e correo de erros em um aplicativo. design time - projeto, momento em que desenvolvemos nossa aplicao. escopo - nvel de abrangncia, visibilidade de um objeto.

Aloncio de C. Santos

pgina 68

Fundamentos do Visual Basic

events - eventos, as aes reconhecidas pelo seu aplicativo, que podem serefetuadas pelo Usurio, por seu programa ou pelo prprio Sistema Operacional.

form - servem como janelas para o desenvolvimento da sua aplicao, ondedesenhamos os controles.

function procedures - funo, procedimento que efetua um conjunto deaes, retornando um valor.

general declarations - rea de declarao genrica de um formulrio oumdulo.

methods - so aes que podem ser feitas no objeto, como exibir ou no umformulrio.

modal - mode de exibio que impede o Usurio de mudar de janela, dentro deum aplicativo, at que interaja com ela.

mdulos standard - mdulo padro ou mdulo de cdigo, rea onde socodificados procedimentos de uso genrico para sua aplicao.

objeto - algo que voc pode controlar no VB, como uma varivel, umcontrole, um formulrio, etc.

parmetros - so valores passados a uma procedure para que esta execute sualgica.

procedure - procedimentos, so blocos de cdigo que escrevemos, visandomodularizar nossos programas.

procedures de evento - so procedures que so ativadas por um evento,como um clique do mouse ou a mudana de contedo em uma textbox.

programao orientada a evento - tcnica de programao baseada nasaes do Usurio, codificando em funo dos eventos que iro ocorrer.

programao procedural - tcnica de programao cuja seqncia lgica deexecuo determinada pelo programador.

Aloncio de C. Santos

pgina 69

Fundamentos do Visual Basic

project window -janela de projeto, agrupa os elementos componentes de seuprojeto, como formulrios, mdulos e controles personalizados.

Properties - so caractersticas, valores que um objeto possui. Properties window - janela de propriedades, de so exibidas e alteradas aspropriedades de um objeto.

recordset - objeto que contm um conjunto de registros de um banco dedados.

run time - execuo, o momento quando sua aplicao est sendo executada. setup wizard - aplicativo que automatiza a criao de um programa de setup,para distribuio de seus aplicativos.

SQL - Structured Query Language, linguagem no procedural de acesso emanipulao de banco de dados.

startup form - formulrio inicial, que ser carregado quando sua aplicao forexecutada.

sub procedure - subrotina, procedimento que efetua um conjunto de aes,no retornando nenhum valor.

varivel - armazena em seu contedo um valor, que pode ser alterado durantea execuo de seu programa.

Aloncio de C. Santos

pgina 70