70
VBEsp01 1 A Linguagem Basic

VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

Embed Size (px)

Citation preview

Page 1: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 1

A Linguagem Basic

Page 2: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 2

Histórico

Darthmouth College em 1959BASIC (Beginners All-Purpose Symbolic Instruction Code)

Sub conjunto de FORTRAN

Típica de mini computadores

Linguagem interpretada

Page 3: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 3

Histórico

Interpretador de pequeno tamanho

Crescimento com os micro computadores enorme

Primeiro produto comercializado por Bill Gates

Tornou-se a linguagem conhecida pelo maior número de usuários

Page 4: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 4

Histórico

Por diversas razões a linguagem Basic tem sido bastante prestigiada pela MicrosoftEm março 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 março de 1991 foi lançada a primeira versão do produto Visual Basic, ou VB1VB tornou-se uma extensão de Basic

Page 5: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 5

Histórico

Em novembro de 1992 foi lançado o VB2 com suporte a ODBC. Nessa ocasião foi lançado o Access.Em junho de 1993 foi lançado o VB3 e o revolucionário Data ControlO VB4 foi lançado em outubro de 1996O VB5 foi lançado em abril de 1997Em outubro de 1998 foi lançado VB6.Em 2001 foi lançado o Visual Basic .NET

Page 6: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 6

Tipos de Dados

Variant tipo genéricoBoolean True ou FalseByte 0 até 255Integer -32.768 até 32.767Long -2.147.483.648 até 2.147.483.647Single -3,402823E38 até -1,401298E-45 (para valores negativos) 1,401298E-45 até 3,402823E38 (para valores positivos)Double

-1,79769313486232E308 até -4,94065645841247E-324 (negativos)

4,94065645841247E-324 até 1,79769313486232E308 (positivos)

Page 7: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 7

Tipos de Dados

Currency -922.337.203.685.477,5808 até 922.337.203.685.477,5807Decimal

+/-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 9999String 1 até aproximadamente 2 bilhões de caracteres 65.400 caracteres se tamanho fixoType definido pelo utilizador

Object referência a objetos

Page 8: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 8

Variáveis

Iniciando com letra

Com até 255 caracteres

Sem brancos, espaços, pontos, +/-

Diferentes das palavras reservadas

Page 9: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 9

Declarações de variáveis

DimCom sufixos Integer % Long & Single ! Double # Currency @ String $

Page 10: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 10

Exemplos de variáveis

vByte = 2vBoolean = TruevInteger = 333vLong = 98007vSingle = 3.141592vDouble = 3.1492574567vCurrency = 426.78vDate = #18/09/1977”#vString = “String de amostragem”

Page 11: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 11

O tipo de dados Variant

O tipo de dados Variant é o tipo Default e pode armazenar qualquer tipo de dados, reajustando-se dinamicamente ao seu conteúdo.

Page 12: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 12

Declaração de Variáveis

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

Page 13: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 13

Visibilidade das variáveis

Declaradas em procedimentos ou funções tem visibilidade local

Declaradas na área de declarações de módulos tem visibilidade dentro do módulo

Page 14: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 14

Visibilidade Pública ou Global

Dados que devam ser acessados por diversos procedimentos devem ser públicos.

Para tornar um objeto público a sintaxe é

Public nomeDaVariavel as tipoDaVariavel

Page 15: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 15

Variáveis Estáticas

Variáveis com visibilidade local são dinâmicas.O valor das variáveis dinâmicas é inicializado quando o procedimento for invocadoVariáveis que devem guardar o seu último valor são variáveis estáticasSó se pode declarar objetos estáticos nos procedimentos e não nos módulosPara tornar um objeto estático a sintaxe é

Static nomeDaVariavel as tipoDaVariavel

Page 16: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 16

Visibilidade e longevidade de uma variável

Public: visível em todos os módulos e durante toda a execuçãoPrivate ou Dim: visível dentro do seu módulo e durante toda a execuçãoDim: visível dentro do seu procedimento e durante a sua execuçãoStatic: visível dentro do seu procedimento e durante toda a execução

Page 17: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 17

Constantes

As constantes são declaradas da forma

Const nomeDaConstante as tipoDaConstante = valorDaConstante

Page 18: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 18

Constantes

System-defined constants: True; False; Null; Empty; NothingIntrinsic constants (bibliotecas do VBA): Const LEFT_BUTTON = 1Symbolic constants: Const PI = 3,14

Page 19: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 19

Operadores

Texto & (concatenação)

Relacionais = (igual a) > (maior que) < (menor que) <> (diferente de) >= (maior ou igual) <= (menor ou igual) Like (padrões de texto) Is (referência de

objetos)

Page 20: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 20

Precedência de Operadores

Maior precedência^ exponenciação- negação* , / multiplicação e divisão\ divisão inteiraMod resto da divisão+ , - adição e subtração& concatenação= , > , < , <> , >= , <= , Like , Is comparaçãoAnd , Or , Not , Imp , Xor , Eqv lógica

Menor precedência

Page 21: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 21

Outros caracteres

‘ ou Rem comentários: múltiplas instruções na

mesma linha_ uma instrução em

múltiplas linhas

Page 22: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 22

Arrays

Arrays são agregados de valores homogêneos

A linguagem VB possui arrays fixos e dinâmicos

Arrays fixos tem seu número de elementos determinado na declaração

Arrays dinâmicos

Page 23: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 23

Declaração de Arrays

Dim/Public/Private nomeDoArray (númeroDeElementos) [sufixo] As tipoDoArray

Dim Valores(500) as Integer

‘ Array com 500 elementos inteiros visível localmente

Public Valores(500) as Integer

‘ Array com 500 elementos inteiros visível globalmente

Page 24: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 24

Declaração de Arrays

Dim Alfa (200) ‘ Array com 200 elementos tipo Variant visível localmente

Public Alfa (200) ‘ Array com 200 elementos tipo Variant global

Dim Dias (7) As String ‘ Array com 7 elementos tipo String visível localmente

Public Dias (7) As String ‘ Array com 7 elementos tipo String global

Page 25: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 25

Declaração 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

Page 26: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 26

Acesso a elementos de Arrays

Dias(1) = “Domingo”

Alfa(1) = “Rio de Janeiro”

Alfa(15) = #12/12/1812#

Alfa(180) = 512

Valores(12) = 412

Page 27: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 27

Arrays dinâmicos

ReDim: redefine os limites de um dado arrayRedim Preserve: redefine os limites de um

dado array e preserva os valores nele existentes (é aplicável apenas quando se redefine a última dimensão)

LBound: retorna o limite inferior de um dado array

UBound: retorna o limite superior de um dado array

Page 28: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 28

Procedimentos

Tipos Procedimentos Funções

Classificação Da linguagem De eventos Do usuário

Page 29: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 29

Definições

Procedimentos e funções da linguagem são aqueles fornecidos pelo fornecedor do produto VB (Microsoft)

Procedimentos e funções de eventos são ações em resposta a eventos da interface

Procedimentos e funções do usuário são a parte do algoritmo implementada pelo usuário

Page 30: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 30

Procedimentos de eventos

Procedimentos de eventos são iniciados aplicando um duplo clique no objeto correspondente, o que abre a janela de código correspondenteSub Objeto_Evento (arg1, arg2, .. argN)

‘ comandos do procedimento

End Sub

Page 31: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 31

Exemplo de procedimentos de eventos

Private Sub cmdExecutar_Click()Dim i, j As SingleIf Text1.Text = "" Then ‘ Caixa de textos 1 vazia i = 0 Else: i = CSng(Text1.Text) ‘Converter para real o conteúdoEnd IfIf Text2.Text = "" Then ‘ Caixa de textos 2 vazia j = 0 Else: j = CSng(Text2.Text) ‘Converter para real o conteúdo End IfText3.Text = i + jEnd Sub

Page 32: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 32

Procedimentos do usuário

Procedimentos e funções do usuário são criados da forma: Abrir a janela de códigos do módulo Dar um clique no menu Tools Selecionar a opção Add Procedure Efetuar as escolhas de tipo, escopo e tipo de

variáveis Dar um clique no botão OK Digitar o código

Page 33: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 33

Procedimentos do usuário

Sub Nome_do_Procedimento (arg1, arg2, .. argN)

‘ comandos do procedimento

End Sub

Page 34: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 34

Exemplo de procedimento do usuário

Sub Calculo (X As Variant)

X = X * 5

MsgBox “ O resultado desejado é “ & X

End Sub

Page 35: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 35

Funções do usuário

Function Nome_da_Função (arg1, arg2, .. argN)

‘ comandos da função

End Function

Page 36: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 36

Exemplo de Função do usuário

Private Function maximo(i As Double, j As Double)

If i > j Then

maximo = i

Else

maximo = j

End If

End Function

Page 37: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 37

Edição de rotinas do usuário

A visualização e edição das rotinas (procedimentos e funções) do usuário podem ser feitas usando:

– Os ComboBoxes da janela de Códigos– As chamadas da rotina– O utilitário ObjectBrowser

Page 38: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 38

Edição de rotinas do usuário usando ComboBoxes

Abrir a janela de código do componente aonde foi inserida a rotina

No ComboBox de objetos selecionar General

Abrir a lista de procedimentos

Selecionar o módulo desejado

Page 39: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 39

Edição de rotinas do usuário usando as chamadas

Abrir a janela de código do componente aonde foi inserida a rotina

Posicionar o cursor sobre uma chamada à rotina

Pressionar as teclas SHIFT+F2

Page 40: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 40

Edição de rotinas do usuário usando Object Browser

Pressionar F2 ou abrir o menu View e selecionar Object BrowserAbrir a janela de código do componente aonde foi inserida a rotinaNa ListBox de Classes selecionar o nome do componente aonde foi inserida a rotinaNa ListBox de “Member of...” selecionar a rotina

Page 41: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 41

Declaração de parâmetros

Os tipos de parâmetros são declarados na definição das rotinas

Sub Objeto_Evento (arg1 As Tipo_1, arg2 As Tipo_2, ..., argN As Tipo_N)

‘comandos

End Sub

Page 42: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 42

Exemplo de declaração de parâmetros

Private Sub Text1_KeyPress(KeyAscii As Integer)

Dim Tecla as String

Tecla$ = Chr(KeyAscii)

If Tecla >= “0” And Tecla$ <= “9” Then

Beep

KeyAscii = 0

End If

End Sub

Page 43: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 43

Declaração de parâmetros

Os argumentos podem ser passados por referência ou por valor

O default é a passagem por referência

Page 44: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 44

Declaração de parâmetros

Quando não se desejar que a rotina altere os dados do procedimento chamador deve-se usar a passagem por valor que pode ser feita:Na definição da rotina

Sub Objeto_Evento (ByVal arg1 As Tipo_1, ByVal arg2 As Tipo_2, ..., ByVal argN As Tipo_N)

‘comandosEnd Sub

ou na chamada da rotinaObjeto_Evento (arg1), (arg2), ..., (argN)

Page 45: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 45

Exemplo de passagem por valor

Sub Calculo (ByVal X As Variant)

X = X * 5

MsgBox “ O resultado desejado é “ & X

End Sub

Page 46: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 46

Argumentos Opcionais

Com a declaração Optional especificam-se argumentos que o usuário pode utilizar ou não

Quando o usuário não especificar argumentos opcionais serão utilizados argumentos default

Quando se usa a declaração Optional para uma lista de parâmetros, todos os parâmetros subsequentes deverão também ser opcionais

Page 47: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 47

Visibilidade de Rotinas

Tal como as variáveis os procedimentos e as funções podem ser dos tipos Public Private Static

O default para as rotinas é Public

Procedimentos de eventos são privados

Page 48: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 48

Estruturas Condicionais

Tipos

If .. End If

Select Case End Select

Page 49: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 49

Exemplo do uso de If'Testa o número digitado If Text1.Text = "0" Or Text1.Text = "" Then 'Se for 0 ou vazio End 'Finaliza a aplicação ElseIf Text1.Text = "1" Then 'Se for 1 MsgBox "Número 1 foi digitado" ElseIf Text1.Text = "10" Then 'Se for 10 MsgBox "Número 10 foi digitado" Else 'Se não for 0,1, 10 ou "" (vazio) If IsNumeric(Text1.Text) Then 'Se o conteúdo for numérico MsgBox "Número Inválido" ElseIf VarType(Text1.Text) = vbString Then MsgBox "Não são permitidas as entradas de Strings" Else MsgBox "Conteúdo Inválido" End If End If

Page 50: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 50

Estruturas Condicionais

If .condição Then

comandos

[ElseIf condiçãox Then]

comandos

[Else]

comandos

End If

Page 51: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 51

Estruturas Condicionais

Select Case condição

[Case expressão1]

[comandos]

[Case Else]

[comandos]

End Select

Page 52: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 52

Exemplo do uso de Selectmesi=month(date)Select case mesi Case 1 stringMes="Janeiro" Case 2 stringMes="Fevereiro" Case 3 stringMes="Março"

Case 12 stringMes="Dezembro" End Select

Page 53: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 53

Repetições

Tipos

Do While

While

For

Page 54: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 54

Repetições

Do [{While | Until} condição]

[comandos]

[Exit DO]

[comandos]

Loop

Page 55: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 55

Repetições

While condição

[comandos]

Wend

Page 56: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 56

Exemplo da estrutura While

contador = 0

While menor <= maior

menor = menor + terceiro

contador = contador + 1

Wend

Text3.Text = contador

Page 57: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 57

Repetições

For contador = valor_inic To valor_final [Step incremento]

[comandos]

[Exit For]

[comandos]

Next [contador]

Page 58: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 58

Exemplo do uso de For .. Next

Dim Contador% 'Variável contadora

‘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

Page 59: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 59

Estrutura Width

Esta estrutura simplifica a escrita de código permitindo que os objetos apareçam implícitos em suas propriedades.

Sintaxe

Width objeto

comandos

End Width

Page 60: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 60

Exemplo da estrutura Width

Private Sub cmdTestar_Click()

With Label1

.Caption = “Veja o teste”

.FontBold = True

.ForeColor = vbRed

.AutoSize = True

End Width

End Sub

Page 61: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 61

Estrutura For Each

Esta estrutura permite a execução de uma seqüência de comandos para cada um dos elementos de um array ou conjunto.Sintaxe

For Each elemento In grupo [comandos] [Exit For] Next

Page 62: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 62

Exemplo de For ... Each

Dim qry As QueryDef

' Processar cada consulta armazenada

For Each qry In DB.QueryDefs

QryList.AddItem qry.Name

Next

Page 63: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 63

Cláusula ParamArray

Esta cláusula permite que um array seja definido como um parâmetro de procedimento.

A chamada do procedimento pode ser feita passando quantos parâmetros forem necessários.

Page 64: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 64

ExemploOption ExplicitSub Insere (ParamArray Argumentos()) Dim x as Variant For Each x In Arguments List1.AddItem x NextEnd SubPrivate Sub btnInsere_Click() Insere “Argumento 1”, “Argumento 2”, _ “Argumento 3”End Sub

Page 65: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 65

Argumentos Nomeados

Utilizando-se argumentos com nome pode-se chamar um procedimento ou função passando os argumentos em qualquer ordem.

Dentro da chamada deve-se usar o nome do parâmetro com atribuição de valor pelos símbolos “:=“.

Exemplo

Page 66: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 66

Uso de argumentos com nome

Private Sub Command1_Click() Exibir _ pLugar := vbCenter, pMens:= “Argumentos”, pTamanho: = 12End SubPrivate Sub Exibir (pMens As String, pTamanho As Integer,

pPLugar as Integer) Label1.Alignment = pLugar Label1.FontSize = pTamanho Label1.Caption = pMensEnd Sub

Page 67: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 67

Projetos Visual Basic

Page 68: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 68

Arquivos Componentes de um Projeto

De Projeto (.vdp)

De Formulários (.frm)

De Módulos (.bas)

De Controles ActiveX (.ocx)

De Controles do usuário (.ctl)

De páginas de propriedades (.pag)

De recursos (.res_)

Externos (.exe, .dll e outros)

Page 69: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 69

Componentes de um Projeto

Arquivos de Projeto contém um índice dos componentes do Projeto

Documentos ActiveX são semelhantes a formulários visualizados por browsers

Controles do usuário são controles ActiveX criados pelos usuários

Page 70: VBEsp011 A Linguagem Basic. VBEsp012 Histórico Darthmouth College em 1959 BASIC (Beginners All-Purpose Symbolic Instruction Code) Sub conjunto de FORTRAN

VBEsp01 70

Componentes de um Projeto

Páginas de propriedades são arquivos para gerar interfaces de manipulação dos controles ActiveX gerados pelo usuário

Arquivos de Recursos armazenam dados referentes a textos, menus, mapas de bits, sons, etc.