22
Manuseamento de strings Right(string, length) Os length caracteres mais á direita Left(string, length) Os length caracteres mais á esquerd 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 Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

Embed Size (px)

Citation preview

Page 1: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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”

Page 2: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 3: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 4: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 5: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 6: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 7: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 8: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 9: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 10: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 11: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 12: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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)

Page 13: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 14: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 15: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

Operadores lógicos

Menor<

Menor ou igual<=

Maior que>

Maior ou igual>=

Igual=

Diferente<>

Page 16: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 17: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 18: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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)

Page 19: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 20: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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

Page 21: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

'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

Page 22: Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string, length)Os length caracteres mais á esquerda Private Sub Command1_Click()

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