360 likes | 450 Views
Programando em - VISUAL BASIC LTP-II / 2°Semestre-2001. Declarações Comandos Procedures/Funções. Arquivos Básicos do 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 - (‘)
E N D
Programando em - VISUAL BASICLTP-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 decomentá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. • Staticvarname[([subscripts])] [Astype] [, varname[([subscripts])] [Astype]] . . . • 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.
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. RedimPreserve 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] TypeNomeTipoNomeItem Astype[NomeItem Astype]. . . 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 queForm1.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 ) : notnegação. ande orou Xorou exclusivo ( uma das relações verdadeiras ) Eqvequivalê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 datacom 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") CaseIs > 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 If Loop 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