Escolar Documentos
Profissional Documentos
Cultura Documentos
VBEsp01
Histrico
Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN Tpica de mini computadores Linguagem interpretada
VBEsp01
Histrico
Interpretador de pequeno tamanho Crescimento com os micro computadores enorme Primeiro produto comercializado por Bill Gates Tornou-se a linguagem conhecida pelo maior nmero de usurios
VBEsp01 3
Histrico
Por diversas razes a linguagem Basic tem sido bastante prestigiada pela Microsoft Em maro de 1988 Alan Cooper desenvolveu o produto drag-and-drop Tripod e negociou o conceito deste produto, cognominado Ruby com a Microsoft. Bill Gates comprou a empresa. Em maro de 1991 foi lanada a primeira verso do produto Visual Basic, ou VB1 VB tornou-se uma extenso de Basic
VBEsp01 4
Histrico
Em novembro de 1992 foi lanado o VB2 com suporte a ODBC. Nessa ocasio foi lanado o Access. Em junho de 1993 foi lanado o VB3 e o revolucionrio Data Control O VB4 foi lanado em outubro de 1996 O VB5 foi lanado em abril de 1997 Em outubro de 1998 foi lanado VB6. Em 2001 foi lanado o Visual Basic .NET
VBEsp01 5
Tipos de Dados
Variant tipo genrico Boolean True ou False Byte 0 at 255 Integer -32.768 at 32.767 Long -2.147.483.648 at 2.147.483.647 Single -3,402823E38 at -1,401298E-45 (para valores negativos) 1,401298E-45 at 3,402823E38 (para valores positivos) Double -1,79769313486232E308 at -4,94065645841247E324 (negativos) 4,94065645841247E-324 at 1,79769313486232E308 (positivos)
VBEsp01 6
Tipos de Dados
Currency -922.337.203.685.477,5808 at 922.337.203.685.477,5807 Decimal +/79.228.162.514.264.337.593.543.950.335 (sem casas decimais) +/-7,9228162514264337593543950335 (com casas decimais) Date 1 de Janeiro de 100 at 31 de Dezembro de 9999 String 1 at aproximadamente 2 bilhes de caracteres 65.400 caracteres se tamanho fixo Type definido pelo utilizador VBEsp01 7
Variveis
Iniciando com letra Com at 255 caracteres Sem brancos, espaos, pontos, +/Diferentes das palavras reservadas
VBEsp01
Declaraes de variveis
Dim Com sufixos
Integer Long Single Double Currency String
% & ! # @ $
VBEsp01 9
Exemplos de variveis
vByte = 2 vBoolean = True vInteger = 333 vLong = 98007 vSingle = 3.141592 vDouble = 3.1492574567 vCurrency = 426.78 vDate = #18/09/1977# vString = String de amostragem
VBEsp01 10
VBEsp01
11
Declarao de Variveis
Dim nomeUm as Integer Dim inteiroUm as Integer Dim longoDois as Long Dim singleTres as Single Dim duploUm as Double Dim quantiaUm as Currency Dim textoUm as String
VBEsp01 12
VBEsp01
13
VBEsp01
14
Variveis Estticas
Variveis com visibilidade local so dinmicas. O valor das variveis dinmicas inicializado quando o procedimento for invocado Variveis que devem guardar o seu ltimo valor so variveis estticas S se pode declarar objetos estticos nos procedimentos e no nos mdulos Para tornar um objeto esttico a sintaxe Static nomeDaVariavel as tipoDaVariavel
VBEsp01 15
16
Constantes
As constantes so declaradas da forma Const nomeDaConstante as tipoDaConstante = valorDaConstante
VBEsp01
17
Constantes
System-defined constants: True; False; Null; Empty; Nothing Intrinsic constants (bibliotecas do VBA): Const LEFT_BUTTON = 1 Symbolic constants: Const PI = 3,14
VBEsp01
18
Operadores
Texto
& (concatenao) = (igual a) > (maior que) < (menor que) <> (diferente de) >= (maior ou igual) <= (menor ou igual) Like (padres de texto) Is (referncia de objetos)
VBEsp01 19
Relacionais
Precedncia de Operadores
Maior precedncia ^ exponenciao - negao * , / multiplicao e diviso \ diviso inteira Mod resto da diviso + , - adio e subtrao & concatenao = , > , < , <> , >= , <= , Like , Is comparao And , Or , Not , Imp , Xor , Eqv lgica Menor precedncia
VBEsp01 20
Outros caracteres
ou Rem comentrios : mltiplas instrues na mesma linha _ uma instruo em mltiplas linhas
VBEsp01 21
Arrays
Arrays so agregados de valores homogneos A linguagem VB possui arrays fixos e dinmicos Arrays fixos tem seu nmero de elementos determinado na declarao Arrays dinmicos
VBEsp01 22
Declarao de Arrays
Dim/Public/Private nomeDoArray (nmeroDeElementos) [sufixo] As tipoDoArray Dim Valores(500) as Integer
Array com 500 elementos inteiros visvel localmente
VBEsp01
23
Declarao de Arrays
Dim Alfa (200) Array com 200 elementos tipo Variant visvel localmente Public Alfa (200)
Array com 200 elementos tipo Variant global
Declarao de Arrays
Por default o primeiro elemento de um array tem ndice 0 Dim Valores (10 to 40) as Integer Dim Alfa (100 to 150) Public Dias (1 to 7) As String
VBEsp01
25
VBEsp01
26
Arrays dinmicos
ReDim: redefine os limites de um dado array Redim Preserve: redefine os limites de um dado array e preserva os valores nele existentes ( aplicvel apenas quando se redefine a ltima dimenso) LBound: retorna o limite inferior de um dado array UBound: retorna o limite superior de um dado array
VBEsp01
27
Procedimentos
Tipos
Procedimentos Funes
Classificao
Da linguagem De eventos Do usurio
VBEsp01 28
Definies
Procedimentos e funes da linguagem so aqueles fornecidos pelo fornecedor do produto VB (Microsoft) Procedimentos e funes de eventos so aes em resposta a eventos da interface Procedimentos e funes do usurio so a parte do algoritmo implementada pelo usurio
VBEsp01 29
Procedimentos de eventos
Procedimentos de eventos so iniciados aplicando um duplo clique no objeto correspondente, o que abre a janela de cdigo correspondente
Sub Objeto_Evento (arg1, arg2, .. argN) comandos do procedimento End Sub
VBEsp01
30
31
Procedimentos do usurio
Procedimentos e funes do usurio so criados da forma:
Abrir a janela de cdigos do mdulo Dar um clique no menu Tools Selecionar a opo Add Procedure Efetuar as escolhas de tipo, escopo e tipo de variveis Dar um clique no boto OK Digitar o cdigo
VBEsp01 32
Procedimentos do usurio
Sub Nome_do_Procedimento (arg1, arg2, .. argN) comandos do procedimento End Sub
VBEsp01
33
VBEsp01
34
Funes do usurio
Function Nome_da_Funo (arg1, arg2, .. argN) comandos da funo End Function
VBEsp01
35
VBEsp01
36
VBEsp01
37
VBEsp01
38
VBEsp01
39
Declarao de parmetros
Os tipos de parmetros so declarados na definio das rotinas Sub Objeto_Evento (arg1 As Tipo_1, arg2 As Tipo_2, ..., argN As Tipo_N) comandos End Sub
VBEsp01
41
Declarao de parmetros
Os argumentos podem ser passados por referncia ou por valor O default a passagem por referncia
VBEsp01
43
Declarao de parmetros
Quando no se desejar que a rotina altere os dados do procedimento chamador deve-se usar a passagem por valor que pode ser feita: Na definio da rotina Sub Objeto_Evento (ByVal arg1 As Tipo_1, ByVal arg2 As Tipo_2, ..., ByVal argN As Tipo_N) comandos End Sub ou na chamada da rotina Objeto_Evento (arg1), (arg2), ..., (argN)
VBEsp01 44
VBEsp01
45
Argumentos Opcionais
Com a declarao Optional especificam-se argumentos que o usurio pode utilizar ou no Quando o usurio no especificar argumentos opcionais sero utilizados argumentos default Quando se usa a declarao Optional para uma lista de parmetros, todos os parmetros subsequentes devero tambm ser opcionais
VBEsp01
46
Visibilidade de Rotinas
Tal como as variveis os procedimentos e as funes podem ser dos tipos
Public Private Static
Estruturas Condicionais
Tipos If .. End If Select Case
End Select
VBEsp01
48
Exemplo do uso de If
'Testa o nmero digitado If Text1.Text = "0" Or Text1.Text = "" Then 'Se for 0 ou vazio End 'Finaliza a aplicao ElseIf Text1.Text = "1" Then 'Se for 1 MsgBox "Nmero 1 foi digitado" ElseIf Text1.Text = "10" Then 'Se for 10 MsgBox "Nmero 10 foi digitado" Else 'Se no for 0,1, 10 ou "" (vazio) If IsNumeric(Text1.Text) Then 'Se o contedo for numrico MsgBox "Nmero Invlido" ElseIf VarType(Text1.Text) = vbString Then MsgBox "No so permitidas as entradas de Strings" Else MsgBox "Contedo Invlido" End If VBEsp01
49
Estruturas Condicionais
If .condio Then comandos [ElseIf condiox Then] comandos [Else] comandos End If
VBEsp01 50
Estruturas Condicionais
Select Case condio [Case expresso1] [comandos] [Case Else] [comandos] End Select
VBEsp01
51
VBEsp01
52
Repeties
Tipos Do While While For
VBEsp01
53
Repeties
Do [{While | Until} condio] [comandos] [Exit DO] [comandos] Loop
VBEsp01
54
Repeties
While condio [comandos] Wend
VBEsp01
55
VBEsp01
56
Repeties
For contador = valor_inic To valor_final [Step incremento] [comandos] [Exit For] [comandos] Next [contador]
VBEsp01
57
Repete iniciando contador% com 0 'at que o contador seja igual 2000 For Contador% = 0 To 2000 'Adiciona um novo tem no List Box List1.AddItem "tem " & Str(Contador%) Next
VBEsp01 58
Estrutura Width
Esta estrutura simplifica a escrita de cdigo permitindo que os objetos apaream implcitos em suas propriedades. Sintaxe Width objeto comandos End Width
VBEsp01 59
VBEsp01
62
Clusula ParamArray
Esta clusula permite que um array seja definido como um parmetro de procedimento. A chamada do procedimento pode ser feita passando quantos parmetros forem necessrios.
VBEsp01
63
Exemplo
Option Explicit Sub Insere (ParamArray Argumentos()) Dim x as Variant For Each x In Arguments List1.AddItem x Next End Sub Private Sub btnInsere_Click() Insere Argumento 1, Argumento 2, _ Argumento 3 End Sub VBEsp01
64
Argumentos Nomeados
Utilizando-se argumentos com nome podese chamar um procedimento ou funo passando os argumentos em qualquer ordem. Dentro da chamada deve-se usar o nome do parmetro com atribuio de valor pelos smbolos :=. Exemplo
VBEsp01 65
VBEsp01
67
VBEsp01
68
Componentes de um Projeto
Arquivos de Projeto contm um ndice dos componentes do Projeto Documentos ActiveX so semelhantes a formulrios visualizados por browsers Controles do usurio so controles ActiveX criados pelos usurios
VBEsp01
69
Componentes de um Projeto
Pginas de propriedades so arquivos para gerar interfaces de manipulao dos controles ActiveX gerados pelo usurio Arquivos de Recursos armazenam dados referentes a textos, menus, mapas de bits, sons, etc.
VBEsp01
70