CAPÍTULO 2
Programação visual com Software Livre
EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo.  Prólogo de Benoit Minisini



Declaração de variáveis


             
Os programas manipulam dados continuamente. Estes dados podem ser de muitos tipos: números, letras, textos, etc. e trocam seus valores ao longo da execução do programa (neste caso recebem o nome de variáveis) ao permanecer com um valor fixo durante todo o tempo (então se denominam constantes). A estes dados que um programa usa é necessário atribuir um nome identificador.

O BASIC permite usar variáveis e constantes sem havermos declarado antes, quer dizer, sem haver exposto no inicio do programa uma lista de todas as variáveis que iremos usar.

Isso produz programas ilegíveis e quando chega a um tamanho médio é uma fonte constante de erros. Para evitar isto, Gambas obriga a declarar as constantes e as variáveis antes de utiliza-las

Os lugares onde se pode declarar variáveis, depende do âmbito que se vai usar. Se declararmos dentro de uma subrotina ou função (nos parágrafos seguintes veremos com detalhes o que são subrotinas e funções), estará disponível para ser usada somente dentro dessa subrotina ou função. Se declararmos no inicio de um arquivo de código (seja um Módulo ou um Classe)  estará disponível para todo o código desse arquivo, em todas as subrotinas.

Para declarar uma variável  em uma subrotina ou função é só empregar a sintaxe:

        DIM nome_variável AS tipo_variável
 
O tipo_variável faz referência ao tipo de dados da variável: número inteiro, cadeia de texto, número decimal, etc. O nome da variável o programador escolhe livremente. É recomendável que seja algo que indique o uso da variável. Devemos fugir de nomes como a, b, c e usar por exemplo, idade, data_nascimento, altura, etc.    
                                                                   
As variáveis que declaramos dentro de uma subrotina ou função só serão usadas dentro delas. Quando termina se destruirão. Isso permite usar o mesmo nome da variável dentro de várias subrotinas e seu valor nunca se confundirá ou mesclará.

Para declararmos uma variável no inicio de um Módulo ou Classe usamos a sintaxe:

    [STATIC] (PUBLIC | PRIVATE) nome_variável AS tipo_variável

    Se definirmos a variável como PRIVAT, estará disponível dentro do arquivo, mas não será acessível nos outros arquivos do mesmo projeto. Se à declararmos PUBLIC, podemos acessá-la no arquivo onde foi declarada ou de qualquer arquivo do projeto.

    A palavra STATIC se usa nos arquivos de Classe, não nos Módulos. Serve para definir um comportamento especial em todos os objetos de uma mesma classe. Em poucas palavras poderíamos explicar com um exemplo: se temos uma classe cachorro, teremos algumas variáveis como cor, raça, peso, etc., e cada objeto cachorro terá seu próprio valor em cada uma dessas variáveis.

Ao mesmo tempo, podemos declarar uma variável que seja número_de_patas, de forma que se trocarmos seu valor de 4 para 3, todos os objetos cachorro terão 3 patas e cada um continuará com seu próprio peso, cor, etc. Neste caso a variável número_de_patas se declarará STATIC no código BASIC no arquivo da classe cachorro. Veremos todos estes comportamentos mais adiante neste mesmo capítulo.

As constantes se define só no inicio de arquivos, Módulo ou Classe, não podemos defini-las dentro das subrotinas e funções. A sintaxe é:

    (PUBLIC | PRIVATE ) CONST nome_constante AS  tipo_constante = valor

Portanto, é igual as variáveis, podem ser privada ou públicas.
   
Vejamos um exemplo de tudo isso:

'Gambas module file
'Arquivo do módulo com o nome: exemploVariavel
'No livro em espanhol a constant era assim PRIVATE CONST Pi = 3.141592
'No meu teste só funcionou como está no exemplo

PRIVATE idade AS Date
PRIVATE altura AS Single
PRIVATE CONST Ppi AS Float = 3.141592
PUBLIC qualidade AS Integer

PUBLIC SUB Subrotina1()

DIM num AS Integer

DIM nome AS String
idade = 30
num  = 54

END

PUBLIC SUB subrotina2()

DIM num AS Integer
DIM apelido AS String
idade = 32
num  = 4

END

Neste exemplo observamos que as variáveis, idade e altura podem ser usadas em todo o arquivo. Portanto, quando executar a subrotina1, idade valerá 30 e, depois que executar a subrotina2 valerá 32. Vimos também que a variável num  está definida nas duas subrotinas. O valor de num desaparece ao acabar cada uma das subrotinas e, portanto, durante a subrotina1  valerá 54 e durante a subrotina2 valerá 4 mas depois que se executa o END de cada uma dessas subrotinas, simplesmente não existirá e se fizermos referência a num em qualquer outro ponto do programa se produzirá um erro.

Finalmente vemos que a variável qualidade está definida como pública. Isso significa que de qualquer outro arquivo do programa pode ser feita referência a ela mediante o nome exemploVariavel.qualidade, onde exemplo Variável é o nome que foi dado ao arquivo onde foi declarado qualidade.




Cópia literal

Extraído do livro “GAMBAS, programação visual com software Livre”, da editora EDIT LIN EDITORIAL S.L,  dos autores  Daniel Campos Fernández e José Luis Redrejo. Prólogo de Benoît Minisini

LICENSA DESTE DOCUMENTO


É permitido a cópia e distribuição da totalidade ou parte desta obra sem fins lucrativos. Toda cópia total ou parcial devera expressar o nome do autor e da editora e incluir esta mesma licença, adicionando se é uma cópia literal “Cópia literal”. Se é autorizada a modificação e tradução da obra  sem fins lucrativos sempre se deve constar na obra resultante  a modificação o nome da obra original o autor da obra original e o nome da editora e a obra resultante também deverá ser livremente reproduzida, distribuída, ao publico e transformada em termos similares ao exposto nesta licença.

Tradução

Cientista
 (Antonio Sousa)