Manuseamento de strings Right(string, length)Os length caracteres mais á direita Left(string,...

Preview:

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

Recommended