programando em - visual basic ltp-ii / 2°semestre-2001 declarações comandos procedures/funções
Post on 17-Apr-2015
107 Views
Preview:
TRANSCRIPT
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.
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 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).
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 vetorDayArray(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 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.
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 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
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) ^ 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.
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 ' 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.
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
top related