36
Programando em - VISUAL BASIC LTP-II / 2°Semestre- 2001 •Declarações •Comandos •Procedures/Funções

Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Embed Size (px)

Citation preview

Page 1: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Programando em - VISUAL BASIC

LTP-II / 2°Semestre-2001

•Declarações

•Comandos

•Procedures/Funções

Page 2: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Arquivos Básicos do Projeto

Tipo de Arquivo Extensão DescriçãoArquivo de Projeto .VBP O arquivo de projeto não contém fisicamente os arquivos do

projeto , mas sim uma lista dos arquivos usados no projeto.Arquivo de Formulário .FRM

.FRXEstes arquivos incluem os formulários e os controles contidosnestes formulários e o código a ser executado quando umevento ocorrer no formulário.

Módulos padrões do Visual Basic .BAS Estes módulos contém procedures do tipo SUB e Function epodem ser chamadas por qualquer formulário ou controledentro dos formulários. O módulo padrão é opcional para oaplicativo.

Visual Basic Class Modules .CLS Estes módulos contém definições de classes, métodos epropriedades. Os CLASS MODULES são opcionais.

Controles especiais (CUSTOMCONTROLS)

.OCX

.VBXEstes controles são fornecidos pela Microsoft em adição aoscontroles padrões ou por outros desenvolvedores. Eles sãoadicionados no projeto através da opção Custom ControlsCommand no menu TOOLS e aparece na caixa de ferramentaspresente no seu projeto.

Page 3: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Comentários, Mais de um comando por linha, Continuando o comando em outra linha

• Linha de comentário - REM• Linha de comando com comentário - (‘)

– REM - Calculo da taxa de juros

– comissao = venda * 0.015 ´ calculo da comissao sobre a venda

• Escrevendo mais de um comando por linha (:)– A = B : X = Y

• Continuando o comando em outra linha ( _ )– X = “Centro Universitário Fumec” & _

A & “Visual Basic”

Page 4: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Declaração de Variáveis

• Regras para Nomes de Variáveis – O nome da variável deve começar com uma letra

– O nome deve ter no máximo 255 caracteres

– O conteúdo formado por letras, números e Sublinhado.

• Comando DIM – Declara variáveis e aloca espaços de memória.

– Dim Variável1 [ AS Tipo ] [, Variável2 [ as Tipo ] ... ]

• Exemplos:– Dim Quantidade as Integer, Nome as String

Page 5: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Declaração de Variáveis

• Comando Static – Usado dentro do procedimento para declarar variáveis e

alocar espaços de memória.Com o comando Static os valores das variáveis são retidos durante as vezes em que o procedimento é executado na aplicação.

– Static varname[([subscripts])] [As type] [, varname[([subscripts])] [As type]] . . .

• Exemplos:– Static Quantidade as Integer, Nome as String

Page 6: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Declaração de Variáveis' Definição da function..

Function KeepTotal(Number) ' Somente a variável Accumulate preserva o seu valor entre as chamadas da função.

Static Accumulate

Accumulate = Accumulate + Number

KeepTotal = Accumulate

End Function

' Definição de Static function.

Static Function MyFunction(Arg1, Arg2, Arg3)

' Todas as variáveis locais preservam seus valores entre as chamadas da função.

Accumulate = Arg1 + Arg2 + Arg3

Half = Accumulate / 2 MyFunction = Half

End Function

Page 7: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Declaração de Variáveis

• Comando Option Explicit – Usado a nível de arquivo para forçar a declaração de

todas as variáveis dentro do arquivo (Formulário ou Módulo).

Option Explicit ' Força declaração explicita de variavéis

Dim MyVar ' Declara variável tipo default variant.

MyInt = 10 ' Variável não declarada gerará erro.

MyVar = 10 ' Variável não declarada não gerará erro.

Page 8: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Tipos de dadosTipo Tamanho/DominíoByte 1 byte 0 até 255

Boolean 2 bytes True ou False

Integer 2 bytes -32,768 até 32,767

Long 4 bytes -2,147,483,648 até 2,147,483,647.

Single 4 bytes -3.402823E38 até -1.401298E-45 para valores negativos; 1.401298E-45 até 3.402823E38para valores positivos.

Double 8 bytes -1.79769313486232E308 a -4.94065645841247E-324 para valores negativos;4.94065645841247E-324 a 1.79769313486232E308 para valores positivos.

Currency 8 bytes -922,337,203,685,477.5808 a 922,337,203,685,477.5807.

Date 8 bytes Janeiro 1, 100 até dezembro 31, 9999 e Hora 0:00:00 a 23:59:59

String(tamanho variável)

10 bytes + tamanho da string (0 a aproximadamente 2 milhões)

String(tamanho fixo)

Tamanho da String (1 a aproximadamente 65,400)

Variant(com números)

16 bytes - Qualquer valor numérico com a faixa de Double.

Variant(com caracteres)

22 bytes + tamanho da string (Mesma faixa da variável String).

Page 9: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Variáveis públicas e privadas

• Variáveis Private– Só existem no arquivo em que são declaradas

• Private Total As Integer

• Variáveis Public – Estas variáveis podem ser referenciadas em

todos os módulos dentro da aplicação e devem ser declaradas nos arquivos tipo módulo.

• Public Total As Integer

Page 10: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Constantes

• As constantes possui um nome mas o seu conteúdo não pode ser alterado durante a execução do programa.

• Const nome_constante1 [ as Tipo ] = valor da constante1 [ , nome_constante2 [ as Tipo ] = valor da constante2 ... ]

' Constante Public

Public Const MyString = "HELP”

' Constante Private

Private Const MyInt As Integer = 5

' Constantes são Private por default

Const MyVar = 459, MyDouble As Double = 3.4567

Page 11: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Declaração de Vetores / Matrizes

• Declaração' DayArray é um vetor com 51 elementos indexado, de 0 a

50, índice base é 0 (default)

Dim DayArray(50) as integer

' Matriz com 2 e 3 dimensões

Dim Matrix(3, 4) As Integer

Dim MyMatrix(1 To 5, 4 To 9, 3 To 5) As Double

Public BirthDay(1 To 10) As Date

Dim MyArray() As Integer ' Declarar vetor dinâmico.

• Fazer referência a um elemento do vetorDayArray(25) = 35 ‘ Atribuição de valor ao 25° item

Page 12: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Declaração de Vetores / Matrizes • Comando Option Base {0 | 1}

– Usado no módulo para declarar o valor default do menor índice dos array´s (vetores/matrizes).

Option base 1 ' Atribui valor default de 1 para o menor index de array´s.

Dim Lower

Dim MyArray(20), TwoDArray(3, 4) ' Declaração de array´s.

Dim ZeroArray(0 To 5) ' Alterar base default para este vetor.

' Usar a função Lbound para testar o menor índice dos vetores

Lower = LBound(MyArray) ' Retorna 1.

Lower = LBound(TwoDArray, 2) ' Retorna 1.

Lower = LBound(ZeroArray) ' Retorna 0.

Page 13: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Redimensionamento de Vetores dinâmicos

• Comando ReDim – Usado dentro do procedimento para realocar espaço

para vetores dinâmicos.Option Base 1Dim MyArray() As Integer ' Declarar vetor dinamico.Redim MyArray(5) ' Aloca 5 elementos.For I = 1 To 5 ' Loop 5 vezes. MyArray(I) = I ' Inicializa o vetor.Next I

‘ O bloco abaixo redimensiona o vetor e inicializa o elementos.

Redim MyArray(10) ' Redimensiona para 10 elementos.For I = 1 To 10 ' Loop 10 vezes. MyArray(I) = I ' Inicializa o vetor.Next I

‘ O comado abaixo redimensiona o vetor mas preserva os valores.

Redim Preserve MyArray(15) ' Redimensiona para 15 elementos.

Page 14: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Vetores - A função Array• Array(arglist)

– Retorna uma Variant contendo um vetor.Option Base 1

Private Sub Command1_Click()

Dim Semana

Semana = Array("Domingo", "Segunda", "Terça", _ "Quarta", "Quinta", "Sexta", "Sábado")

MsgBox "Dia Corrente: " & Semana(Weekday(Date))

End Sub

Page 15: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Declaração de Registros• Usado nos arquivos Módulo para declaração de tipos Registro.

[Private | Public] Type NomeTipoNomeItem As type[NomeItem As type]. . .

End Type

Type TEmpregado ' Criar um type.

Codigo As Integer ' Definir os itens do data type.

Nome As String * 20

Endereco As String * 30

Telefone As Long

Data_Admissao As Date

End Type

Public Reg_Empregado as TEmpregado ‘ Declara variável registro

Page 16: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Referência aos Campos do Registro

• Qualificação:

<Variável_Registro>.<Nome_do_Campo>

• Comando With

With <Variável_Registro>

.<Nome_do_Campo>

.<Nome_do_Campo>

......

End With.

Page 17: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Exemplo do Comando With num procedimento

With Reg_Hospital .NUM_INSC = ""

.DV_INSC = ""

.RAZAO_SOC = ""

.FANTASIA = ""

.ENDERECO = ""

.BAIRRO = ""

.CIDADE = ""

.UF = ""

.CEP = ""

.Telefone = ""

.CGC = "”

End With

Page 18: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

With facilitando a referencia de propriedades dos objetos

With Form1

.Height = 100 ' Mesmo que Form1.Height = 100.

.Caption = "Hello World" ' Mesmo que Form1.Caption = "Hello World”

. With .Font

.Font .Color = Red ' Mesmo que Form1.Font.Color = Red.

.Bold = True ' Mesmo que Form1.Font.Bold = True.

End With

End With

Page 19: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Expressões e Operadores

• Aritméticos ( em ordem de prioridade) ^ Exponenciação ( potência ).

- Inversão de sinal

*,/ Multiplicação e divisão.

\ Divisão inteira

mod Resto da divisão ex: (A mod B) = 0+,- Adição e subtração.

Page 20: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Expressões e Operadores

• Relacionais:< menor que.

> maior que.

= igualdade.

<> diferente.

<= menor igual.

>= maior igual.

Page 21: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Expressões e Operadores

• Lógicos ( em ordem de prioridade ) :not negação.

and e

or ou

Xor ou exclusivo ( uma das relações verdadeiras )

Eqv equivalência ( as duas relações c/ mesmo resultado)

Page 22: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Expressões e Operadores• Strings:

+ concatenação de strings.& concatenação de strings e conversão de parcelas

para string se necessário.

– Exemplo:MsgBox "Teste " & Date & " - " & 10

Page 23: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Expressões e Operadores• Datas:

+ Calcula a soma de uma data com um número de dias e retorna uma data.

- Calcula a diferença em dias de duas datas e retorna a diferença em dias, ou a diferença de uma data com um número de dias retornando uma data.

– Exemplo:MsgBox "Data Final: " & Format(#1/18/2001# + 10,

"dd/mm/yyyy")

Page 24: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Expressões e Operadores• Horas:

+ Calcula a soma de duas horas e retorna uma hora.- Calcula a diferença em dias de duas horas e

retorna a diferença em horas.

– Exemplo: MsgBox Format(#10:00:15 AM# - #10:00:10 AM#,

"hh:mm:ss")

Page 25: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Atribuição de Valores

• [ LET ] Nome_da_variável = Expressão

– Exemplo:

Total = 0

soma = soma + 1

depto = “ “

Page 26: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Alternativa IF-ENDIF

If condição Then

[comandos]

[ElseIf condição-1 Then

[comandos]] . . .

[ElseIf condição-2 Then

[comandos]] . . .

[ElseIf condição-n Then

[comandos]] . . .

[Else

[comandos]]

End If

Page 27: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Alternativa If-End If - Exemplo

IF a >= 0 Then x = x + 1

b = a

End IF

IF X+Y <= 0 Then

X = 0

ELSEIF Y > 0 Then

Y = 0

ELSE

X = 0

Y = 0

End IF

Page 28: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Múltipla escolha - CASE

Select Case expressão[Case expressão - n

[comandos - n]] . . .

[Case Else[comandos - n ]]

End Select

Page 29: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Múltipla escolha - CASE - Exemplo

Number = 8 ' Inicializa variável.

Select Case Number ' Avalia Number.Case 1 To 5 ' Number entre 1 e 5.

MsgBox("Entre 1 e 5")

Case 6, 7, 8 ' Number entre 6 e 8.

MsgBox("Entre 6 e 8")

Case Is > 8 And Number < 11 ' Number é 9 ou 10

MsgBox("Maior que 8 e Menor que 11")

Case Else ' Outros valores.

MsgBox("Não está entre 1 e 10")

End Select

Page 30: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Repetição - DO WHILE | UNTIL

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

[comandos]

[Exit Do]

[comandos]

Loop

Page 31: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Repetição - DO WHILE | UNTIL

Do

[comandos]

[Exit Do]

[comandos]

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

Page 32: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Repetição - DO WHILE | UNTIL

Check = True: Counter = 0 ' Inicializa variáveis.

Do ' loop externo.

Do While Counter < 20 ' loop interno.Counter = Counter + 1 ' Incrementa Counter.

If Counter = 10 Then ' Se condição é verdadeira

Check = False ' Set valor do flag para False. Exit Do ' Saida do loop interno

End IfLoop

Loop Until Check = False ' Saida do loop externo.

Page 33: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Repetição -While...Wend

While <Expressão Lógica>

[comando]

[comando]

[comando ...]

Wend

Page 34: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Repetição -While...Wend

Counter = 0 ' Inicializa variável

While Counter < 20 ' Testa valor do Counter.

Counter = Counter + 1 ' Incrementa Counter.

Wend ' Saida do repetição While quando Counter > 19.

MsgBox(Counter) ' Mostra 20 na Caixa de Mensagem.

Page 35: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Repetição -For...Next

For var = inicio To fim [ Step inc ]

[comandos]

[Exit For]

[comandos]

Next [variável]

Page 36: Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001 Declarações Comandos Procedures/Funções

Repetição -For...Next

For Words = 10 To 1 Step -1 ' Controlar até 10 repetições.

For Chars = 0 To 9 ' Controlar até 10 repetições.

MyString = MyString & Chars

' Incluir numero na string.

Next Chars ' Incrementar contador

MyString = MyString & “ “

‘ incluir um espaço na string.

Next Words