| Princípio | Criações fotográficas | Poemas e citações | Infomáticas |
Finalmente
mais uma actualização no âmbito do VB! Pois é,
tardou mas chegou.
Voltei a pensar relativamente ao arquivo e
decidi que não ia pôr links para cada lição,
pois poderia ter problemas de espaço no servidor. Por causa
disso, achei melhor que quem quisesse uma dada lição,
ma pedisse por mail. :-).
Antes de avançar para a próxima lição de VB, vou apresentar as imagens de apresentação do ambiente do VB 6l Ei-las:
'Écran
inicial do VB 'Como criar um novo projecto 'Aspecto geral e anatomia
do programa (aspectos essenciais)
'A
tal barrazinha amarela que tinha falado na lição
anterior; Aparece uma igual a estas, em todas as funções
que se chamam, com os respectivos parâmetros
Vamos então à próxima lição:
Ora
bem. Vamos iniciar um capítulo importante (e também
interessante) que é a manipulação de
variáveis.
Estas são como caixas onde armazenamos
valores, de modo a podermos operar sobre estes ou mesmo armazenar
apenas para lhes aceder posteriormente.
Havendo
vários tipos de dados, há também vários
tipos de variáveis.
Os dois tipos principais de dados são
Números e Texto. Ainda assim há uma
distinção dentro destes dois últimos, há
que ter em conta se (no caso de ser número) é inteiro
ou decimal, o seu tamanho, o número de algarismos
significativos...
Vejamos então os diferentes tipos de variáveis:
-> |
Integer:
armaznea valores inteiros entre -32
768 e +32 767 |
É
bom reter estas noções acima listadas, são muito
importantes e muito facilitadoras de trabalho e eviatm muitas dores
de cabeça. Eu, por exemplo, dei voltas e voltas a um programa
que estava a fazer, porque não conseguia obter valores
decimais; isto, até perceber o erro que cometi: estava a usar
uma variável do tipo Long em vez do tipo Single ou Double
(recorrendo à lista acima apresentada, facilmente o leitor
percebe o erro).
Por enquanto não vamos trabalhar com todas estas variáveis, e é provável até que não cheguemos a trabalhar com todas, dadas semelhanças entre alguns tipos.
Declarar variáveis
Antes
de declarar uma variável, há que ter em conta, para
além do tipo de dados, uma coisa importante: convém ter
em conta se estamos a declará-la dentro ou fora de uma rotina
ou de uma função, ou se estamos a declará-la
fora de ambos. Isto, porque o programador pode querer declarar uma
variável que seja válida para o programa todo, ou mesmo
só para um detrerminado módulo. Isto, sublinhando que
não pode haver interacção entre variáveis
de rotinas ou de funções diferentes.
Sendo
assim, temos três maneiras de declarar varáveis:
->
Dim
variavel As
Tipo :
No caso de ser declarada dentro de uma rotina ou de uma função;
só é válida nesse bloco
-> Private
variavel As
Tipo :
No caso de ser declarada fora de uma rotina, nas declarações
gerais de um módulo; só é
válida dentro desse módulo
-> Public
variavel As
Tipo : Caso a variável declarada seja válida
para o programa todo, para todos os módulos que dele fizerem
parte
Nota |
Ao definir uma variável é importante NÃO COLOCAR ACENTOS. Não que seja crime, ou detectado como erro, mas é uma noção importante a ter, pois pode ter consequências inclusive ao nível da compilação. Um
módulo é todo um conjunto de texto referente a uma
form, ou outros interfaces do programa. Por exemplo, todo o código
referente a uma form constitui um módulo (já se nos
referirmos apenas a uma parte desse código, a expressão
”módulo” não é correcta e deverá
ser substituída por “bloco”, ou “segmento”
ou outra semelhante); é como uma folha de papel à
parte onde declaramos variáveis e/ou funções
válidos para todo o programa. Desta maneira, a mesma função
pode ser utilizada no código de mais do que uma form, por
exemplo. |
Operar sobre as variáveis
As operações sbore as variáveis são variadas. Antes de mais, depende, como é óbvio, do tipo de dados em causa.
A primeira coisa essencial, a seguir a saber declarar uma variável, é saber atribuir-lhe um valor; é tão simples ou tão complicado como o passo seguinte:
variavel = valor
Isto faz com que tenhamos, por exemplo:
(...)
Dim
numero as long
numero
= 4
(...)
Ou ainda
(...)
Dim
texto as String
texto
= “Olá”
(...)
Se estivermos a falar de números, podemos também aplicar as quatro operações aritméticas: + - * e / (sendo * correspondente à multiplicação e / à divisão), de modo a interralacionar múltiplas variáveis entre si, ou simplesmente uma relação entre uma variável e um valor.
Por
exemplo:
a
= b + 2
b = c / d
d = 2 *3
h = k – j
k = (a + b) *
2 / c
E no lugar das letras poderiam estar
números, bem como outros nomes de variáveis.
existem ainda outras maneiras de operar sobre variáveis, recorrendo a funções já incorporadas no próprio VB. São estas:
- No que toca a valores numéricos:
Nome |
Função |
Estrutura |
Utilização |
---|---|---|---|
Val |
Converte uma string para um valor numérico* |
Val(String) |
x = val(“123”) |
Int |
Arredonda por excesso um valor, tornando-o num valor inteiro |
Int(Val) |
b = Int(2,5) |
Rnd |
Apresenta um valor aleatório entr 0 e x |
Rnd |
b = Rnd*x |
Cos |
Determina o Co-Seno de um dado valor V |
Cos(V) |
c = Cos(V) |
Sin |
Determina o Seno de um dado valor V |
Sin(V) |
b = Sin(V) |
Tan |
Determina a tangente de um dado valor V |
Tan(V) |
a = Tan(V) |
Sqr |
Determina a raiz quadrada de um dado valor V |
Sqr(V) |
a = Sqr(V) |
CDbl |
Converte um valor V numérico para o tipo Double |
Cdbl(V) |
b = Cdbl(V) |
-
Falando de texto, obviamente a coisa muda de figura: o texto não
se soma nem se multiplica. No entanto, há umas funções
engraçadas para tratar Strings (texto).
São algumas
dessas:
Nome |
Função |
Estrutura |
Utilização |
---|---|---|---|
Len |
Mede o comprimento (número de caracteres) de uma string |
Len(String) |
x = Len(texto) |
Left |
Capta p caracteres de uma string, a contar do seu princípio |
Left(String, p) |
b = Left(texto, 3) |
Mid |
Atinge n caracteres de uma string, a contar de uma posição p |
Mid(String,n,p) |
b = Mid(texto,0,3) |
Right |
Atinge p caracteres de uma string, a contar do seu fim |
Right(String,p) |
c = Right(texto,4) |
Lcase |
Converte todos os caracteres de uma string para minúsculos |
Lcase(String) |
b = LCase(a) |
UCase |
Converte todos os caracteres de uma string para maiúsculos |
UCase(String) |
a = UCase(b) |
InStr |
Verifica se String2 está presente em String1 e devolve a posição da sua primeira (se for mais do que uma) ocorrência (o parâmetro “p” indica a partir de que posição de String1 é suposto procurar a presença de String2 em String1) |
InStr(Start,String1,String2, vbCompareMethod) |
a = InStr(p, String,texto) |
Str |
Converte um valor tipo numérico para um valor string* |
Str(Val) |
b Str(c) |
Nota: Noção de “posição” |
Quando falo em 'posição', refiro-me ao caracter. Isto é: Suponhamos
uma string com um comprimento de 7 caracteres: “aldrabão”; Assim, se, por exemplo quisessemos saber o valor de InStr(1,“r”,”adrabão”), ser-nos-ia devolvido o valor 4 Mais
uma coisa, o parâmetro “p” serve para o
seguinte: Se fizermos InStr(1, texto, “auto”), a função devolve o valor 1, porque “auto” começa no caracter 1 da string; já se fizermos InStr(5,texto, “auto”), o valor devolvido será 0, porque a função só está a ler a variável texto a partir da posição 5, e a partir da posição 5, não há o excerto “auto”, pois da posição 5 para a frente apenas resta “móvel”. |
E pronto, ficam estas aqui para o leitor ter uma noção, pois mais do que isso virá quando chegar a altura de falarmos delas
* - O conteúdo da variável não sofre alterações (Uma variável que contenha o valor 123, não passa a ter “cento e vinte e três” nem parecido), o que se passa é que o valor 123 deixa de ter valor numérico pe passa a ser apenas uma sequência dos três caracteres 1, 2 e 3. Da mesma forma que a função Val faz exactamente o oposto da função Str; transforma uma simples sequência de caracteres como a descrita num valor numérico.
Sugestão : Experimentar as funções hoje aprendidas. As soluções serão apresentadas na próxima lição. Pegue no VB e aplique as seguintes funções: Len, Left, Right, LCase, UCase, e InStr. Siga o modelo: |
Dim
txt As String |
Fico-me então por aqui, à disposição para qualquer dúvida.
Abraço,
João