Programando em - VISUAL
BASIC
LTP-II / 2°Semestre-2001
•Declarações
•Comandos
•Procedures/Funções
Arquivos Básicos do Projeto
Extensão
.VBP
Tipo de Arquivo
Arquivo de Projeto
Arquivo de Formulário
.FRM
.FRX
Módulos padrões do Visual Basic
.BAS
Visual Basic Class Modules
.CLS
especiais
Controles
CONTROLS)
(CUSTOM
.OCX
.VBX
Descrição
O arquivo de projeto não contém fisicamente os arquivos do
projeto , mas sim uma lista dos arquivos usados no projeto.
Estes arquivos incluem os formulários e os controles contidos
nestes formulários e o código a ser executado quando um
evento ocorrer no formulário.
Estes módulos contém procedures do tipo SUB e Function e
podem ser chamadas por qualquer formulário ou controle
dentro dos formulários. O módulo padrão é opcional para o
aplicativo.
Estes módulos contém definições de classes, métodos e
propriedades. Os CLASS MODULES são opcionais.
Estes controles são fornecidos pela Microsoft em adição aos
controles padrões ou por outros desenvolvedores. Eles são
adicionados no projeto através da opção Custom Controls
Command no menu TOOLS e aparece na caixa de ferramentas
presente no seu projeto.
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”
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
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
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
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.
Tipos de dados
Tipo
Byte
Boolean
Integer
Long
Single
Double
Currency
Date
String
Tamanho/Dominío
1 byte 0 até 255
2 bytes True ou False
2 bytes -32,768 até 32,767
4 bytes -2,147,483,648 até 2,147,483,647.
4 bytes -3.402823E38 até -1.401298E-45 para valores negativos; 1.401298E-45 até 3.402823E38
para valores positivos.
8 bytes -1.79769313486232E308 a -4.94065645841247E-324 para valores negativos;
4.94065645841247E-324 a 1.79769313486232E308 para valores positivos.
8 bytes -922,337,203,685,477.5808 a 922,337,203,685,477.5807.
8 bytes Janeiro 1, 100 até dezembro 31, 9999 e Hora 0:00:00 a 23:59:59
10 bytes + tamanho da string (0 a aproximadamente 2 milhões)
(tamanho variável)
String
Tamanho da String (1 a aproximadamente 65,400)
(tamanho fixo)
Variant
16 bytes - Qualquer valor numérico com a faixa de Double.
(com números)
Variant
(com caracteres)
22 bytes + tamanho da string (Mesma faixa da variável String).
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
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
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 vetor
DayArray(25) = 35 ‘ Atribuição de valor ao 25° item
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.
Redimensionamento de Vetores dinâmicos
• Comando ReDim
– Usado dentro do procedimento para realocar espaço
para vetores dinâmicos.
Option Base 1
Dim 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.
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
Declaração de Registros
• Usado nos arquivos Módulo para declaração de tipos Registro.
[Private | Public] Type NomeTipo
NomeItem 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
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.
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
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
Expressões e Operadores
• Aritméticos ( em ordem de prioridade)
^
*,/
\
mod
+,-
Exponenciação ( potência ).
Inversão de sinal
Multiplicação e divisão.
Divisão inteira
Resto da divisão ex: (A mod B) = 0
Adição e subtração.
Expressões e Operadores
• Relacionais:
< menor que.
> maior que.
= igualdade.
<> diferente.
<= menor igual.
>= maior igual.
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)
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
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")
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")
Atribuição de Valores
• [ LET ] Nome_da_variável = Expressão
– Exemplo:
Total = 0
soma = soma + 1
depto = “
“
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
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
Múltipla escolha - CASE
Select Case expressão
[Case expressão - n
[comandos - n]] . . .
[Case Else
[comandos - n ]]
End Select
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
Repetição - DO WHILE | UNTIL
Do [ {While | Until} condição ]
[comandos]
[Exit Do]
[comandos]
Loop
Repetição - DO WHILE | UNTIL
Do
[comandos]
[Exit Do]
[comandos]
Loop [ {While | Until} condição ]
Repetição - DO WHILE | UNTIL
Check = True: Counter = 0
' Inicializa variáveis.
Do
' loop externo.
Do While Counter < 20
' loop interno.
Counter = Counter + 1
If Counter = 10 Then
Check = False
Exit Do
End If
Loop
Loop Until Check = False
' Incrementa Counter.
' Se condição é verdadeira
' Set valor do flag para False.
' Saida do loop interno
' Saida do loop externo.
Repetição -While...Wend
While <Expressão Lógica>
[comando]
[comando]
[comando ...]
Wend
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.
Repetição -For...Next
For var = inicio To fim [ Step inc ]
[comandos]
[Exit For]
[comandos]
Next [variável]
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
Download

Programando em