Informáticas


| Princípio | Criações fotográficas | Poemas e citações | Infomáticas |



Visual Basic

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:

- Manipulação de variáveis -

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
Long: armazena valores inteiros muito grandes situados entre -2 000 000 000 e +2 000 000 000
Double: números de vírgula flututante com no máximo 14 algarismos siginificativos
Single: idêntico ao anterior, mas com um máximo de 7 algarismos significativos
Boolean: só pode conter dois valores: “verdadeiro” (True) ou “falso” (False)
String: armazena valores sob a forma de texto
Byte: valores inteiros entre 0 e 255
Variant: pode conter qualquer tipo de valores


É 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.
De qualquer forma, à medida que formos trabalhando com módulos, este conceito vai ficando mais claro.
Ainda para perceber melhor quando é que um módulo corresponde apenas a uma form, basta clicar-lhe duas vezes, ou num controlo que esteja inserido nesta. Todo o código que aparece, constitui o módulo.



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”;
A posição do caracter “r” é 4, uma vez que este é o 4º caracter da string.

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:
Suponhamos a string texto:
Dim texto as String
texto = “automóvel”

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

Fico-me então por aqui, à disposição para qualquer dúvida.

Abraço,
João