Upload
internet
View
109
Download
0
Embed Size (px)
Citation preview
Manuseamento de stringsRight(string, length) Os length caracteres mais á direita
Left(string, length) Os length caracteres mais á esquerda
Private Sub Command1_Click()Dim a, b as string a = "Olá mundo" b = Left(a, 5)End Sub
b= “Olá m”
Private Sub Command1_Click()Dim a, b as string a = "Olá mundo" b = Right(a, 5)End Sub
b= “mundo”
Manuseamento de strings
StrComp(str1, str2) Compara duas strings retorna Se str1 > str2 = 1 Se str1 = str2 = 0 Se str1 < str2 = -1
A < B a < b A < a aaA < aaa aa < ab
Numerar caracteres dentro da string
Str1 = “Olá ” Str2 = “Mundo”
Str3 = Str1 & Str2 Str3= “Olá Mundo”
Ex: StrComp(“A”,”a”) -1 Ex: StrComp(“a”,”A”) 1
Ex: StrComp(“a”,”a”) 0
Algumas notas sobre a aula anterior
As variáveis são constituídas por letras, números e _ (underscore)
Declarar variáveis
Evita erros
Melhora o controlo das necessidades de memória
Atribuir valores a uma variável
25 = var1
ERRADO
Var1=25
Correcto
Máximo 255 caracteres
Funções e Procedimento
Um programa deve de ser dividido em pequenos módulos e cada um deles com um objectivo bem determinado
Modularidade
Vantagens
Facilita a pesquisa de erros
Reutilização do código
Os comentários são indispensáveis ao fácil entendimento do programa e por conseguinte à sua reutilização
Dividir para reinar
Facilita a construção do programa
Dividir um problema grande em vários pequenos
Funções e Procedimento
Adicionar uma nova função ou procedimento
Tools Add procedure
Adicionar um Modulo ou Form ao projecto
Project Add Module Project Add Form
Funções e procedimentos são pequenos blocos de código com um objectivo bem definido
As funções têm um tipo e devolvem sempre algo desse tipo(um número, uma string, um objecto ou um boolean)
Os procedimentos executam uma determinada tarefa não têm um tipo nem devolvem dados
Private Function nomeDaFunção(parametro1 as tipo, ....) as tipo Corpo da função
nomeDaFunção = 25 (valor) RetornoEnd Function
Definição de funções
Public Function nomeDaFunção(parametro1 as tipo, ....) as tipo Corpo da função
nomeDaFunção = 5*3.14^2 (expressão) RetornoEnd Function
Funções e Procedimento
Função conhecida só dentro do modulo onde está inserida
Função conhecida em qualquer local do projecto
Public Static Function nomeDaFunção(parametro1 as tipo, ....) as tipo Corpo da função
nomeDaFunção = nomeDeOutraFunção(argumento ) * 2End Function
Todas as variáveis usadas na função são estáticas
Funções e Procedimento
Chamada de uma função
Public Function nomeDaFunção(parametro1 as tipo, ....) as tipo Dim var1 as double
var1 = nomeDeOutraFunção(argumento1 , ...) End Function
Procedimentos
Private Sub nomeDoProcedimento(parametro1 as tipo, ....) Corpo do procedimento
End Sub
Public Sub nomeDoProcedimento (parametro1 as tipo, ....) Corpo do procedimento
End Sub
Funções e Procedimento
Procedimento conhecido só dentro do modulo onde está inserido
Procedimento conhecido em qualquer local do projecto
Public Static Sub nomeDoProcedimento (parametro1 as tipo, ....) Corpo do procedimentoEnd Sub
Todas as variáveis usadas na função são estáticas
Funções e Procedimento
Chamada de um procedimento
Public Sub nomeDoProcedimento(parametro1 as tipo, ....) as tipo Dim var2 as integer var3 as string
Call nomeDeOutroProcedimento(argumento1, ...)
End Sub
Funções e ProcedimentoArgumentos vs Parâmetros
1 – O número de argumentos tem de ser igual ao nº de parâmetros
2 – A ordem é importante o 1º argumento corresponde ao 1º parâmetro o 2º argumento ao 2º parâmetro e assim sucessivamente
3 – O tipo de cada argumento tem de ser igual ao parâmetro correspondente
4 – Os nomes NÃO são importantes, NÃO existe qualquer correspondência entre os nomes dos argumentos e dos parâmetros
VariáveisVariáveis Locais
São conhecidas só dentro das funções ou procedimentos onde são declaradas e o espaço que ocupam em memória é libertado logo que as funções / procedimentos terminam
Sempre que uma função ou procedimento é invocado todas as variáveis são inicializadas
Perdem-se Todos os valores
Declaração
Dim nomeVariavel as tipo
Static nomeVariavel as tipoNão perde o valor quando a função
ou procedimento terminar
Dentro da função ou procedimento
Variável estática
Variáveis
Variáveis Globais
PrivateA variável é global no modulo onde foi declarada
Conhecida em todas as funções e procedimentos desse modulo
Declaração No topo do modulo fora de qualquer função ou procedimento
Private nomeVariavel as tipo
Dim nomeVariavel as tipo
Permanecem em memória desde o inicio até ao fim do programa (mantém os dados)
VariáveisPublic
A variável é global em todo o projecto
Conhecida em todas as funções e procedimentos do projecto
Declaração No topo de um modulo fora de qualquer função ou procedimento
Public nomeVariavel as tipo
Como utilizar
nomeForm.nomeVariavel = 25
nomeModulo.nomeVariavel = 25
NOTA: Se utilizadas fora do modulo onde estão declaradas
Variáveis
As variáveis globais private não devem de ser utilizadas
Tornam a programação difícil de perceber
Perde a modularidade
Não deve de utilizar as variáveis globais Public nos seus programas
Tornam a programação difícil de perceber
Operadores lógicos
Menor<
Menor ou igual<=
Maior que>
Maior ou igual>=
Igual=
Diferente<>
IF ... Then ... Else
If condição then Código que será executado se a condição for verdadeira
else Código que será executado se a condição for falsa
End If
IF ... Then ... ElseIf condição_1 then Código que será executado se a condição1 for verdadeira
ElseIf condição_2 then Código que será executado se a condição2 for verdadeira
. . .
ElseIf condição_n then Código que será executado se a condição_n for verdadeira
else Código que será executado se todas as condições forem falsas
End If
Private Sub cmdCalcular_Click() Dim diametro As Double, raio As Double diametro = val(txtDiametro.Text) ' Ler o valor da caixa de texto raio = diametro / 2 txtRaio.Text = raio txtArea.Text = areaCirculo(raio) txtPerimetro.Text = perimetroCirculo(raio)
picOutput.ClspicOutput.Print "O raio de um circulo com "; diametro; "de diâmetro
é "; Format(raio, "#,###.##")picOutput.Print "A área de um circulo com "; diametro; "de
diâmetro é "; Format(areaCirculo(raio), "#,###.##")
picOutput.Print "O perímetro de um circulo com "; diametro; "de diâmetro é "; Format$(perimetroCirculo(raio), "#,###.##")
End Sub
Private Sub txtDiametro_KeyPress(KeyAscii As Integer)
If KeyAscii = 44 Then ‘ ascii 44 , KeyAscii = 46 ‘ ascii 46 . End IfEnd Sub
'Objectivo: Substituir a virgula pelo ponto‘Parâmetro: código asci da tecla pressionada
'objectivo: Terminar o programaPrivate Sub cmdSair_Click() End 'termina o programaEnd Sub
'Objectivo: Activar o botão de cmdCalcular
Private Sub txtDiametro_Change() cmdCalcular.Enabled = True 'activa o botão que
acciona o calculo cmdCalcularEnd Sub
No modulo Funções
Const PI = 3.1416
Public Function areaCirculo(raio as Double) as Double areaCirculo = PI * raio ^ 2 End Function
Public Function perimetroCirculo(raio as Double) as Double perimetroCirculo = PI * raio * 2 End Function