3.2-Dados Variáveis, Dados constantes e alguns tipos assumidos
Os programas são gestores de dados,letras , números,textos ...
Ora num programa existem dois tipos de dados, ou seja o "ser" de um certo dado assume duas opções - ou variável ou constante!
ser Variável - o seu valor muda conforme o programa se executa.
ser Constante - o valor permanece sempre.
Como já referi acima a variável comummente conhecida assim (entender como dado que varia) vem sempre antes do procedimento dela num Módulo, se ela vem antes fica assim depois disponível para o procedimento e sub rotinas de todo o código desse programa.
Se queremos adicionar um certo dado o qual é variável no principio de um Módulo procedemos a →
(PUBLIC | PRIVATE) nome_variável AS tipodela
Recordem se o dado variável o definirmos como PUBLIC é público, acessivel desde outros ficheiros do programa distintos ao seu onde foi declarada, se a definimos PRIVATE só fica disponivel dentro desse ficheiro , não é acessível desde outros ficheiros distintos ao seu.
Se por outro lado queremos declarar um dado o qual é variável já dentro de um procedimento usamos o DIM (outra palavra nova da sintaxe Gambas)
DIM nome_variável AS tipodela
Os dados assumidos constantes -!Só são definidos no principio dos Módulos!-
(PUBLIC | PRIVATE) CONST nome_de_constante AS tipo_constante = valor
!!!Então as constantes também podem ser públicas ou privadas!!!
Como assumem os dados o seu tipo de - dado de programa?
-Fácil adquirem o tipo pelo conjunto de dados que a linguagem entende também vejam bem →
Boolean
Byte
Short
Integer
Long
Single
Float
Date
String
Variant
Object (objecto criado em Gambas)
Em prática →
PUBLIC iMeuValor AS Integer 'dado variável de tipo inteiro
PUBLIC sMeuNome AS String 'dadovariável de tipo texto
PUBLIC fMeuNumero AS Float 'dado variável de tipo real
...
Para o primeiro caso teríamos um dado assumindo-se como variável de nome iMeuValor que iria ser declarada no inicio de um módulo com um estatuto público - PUBLIC, com um tipo AS (como) inteiro (Integer).
Depois dentro desse procedimento damos o valor - exemplificando →
iMeuValor = 1984 (Integer)
sMeuNome = Minguno (String)
fMeuNumero = 123,45 (Float)
Olha , olha , olha uma ideia e se eu quisesse que um dado variável tivesse ou assumi-se o valor de outro ?
Primeiro teria que declarar e depois voltava a dar-lhe o valor no procedimento mas desta vez indicando-lhe , não o valor do outro dado variável mas sim o nome do próprio dado variável ficando assim:
PUBLIC iMeuValor AS Integer 'variável de tipo inteiro
PUBLIC sMeuNome AS String 'variável de tipo texto
PUBLIC fMeuNumero AS Float 'variável de tipo real
PUBLIC sPrimeiroNome AS String 'variável tipo texto
Dentro do procedimento
iMeuValor = 1984 (Integer)
sMeuNome = "Minguno" (String)
fMeuNumero = 123,45 (Float)
sPrimeiroNome = sMeuNome (String)*
* onde a variável sPrimeiroNome "apanha" o valor da sMeuNome e fica também com o valor dela , pois eu estou a dizer-lhe que o sPrimeiroNome é igual ao sMeuNome.
Recordem → 'isto é um comentário
Recordem → uma variável pode tomar o valor de outra mas tem de se ter em atenção o tipo dela um Boolean não é igual a String por exemplo!!!
Recordem → para que uma varável String assuma o seu valor texto temos de usar "" , exemplo "Minguno" .
Imagino que alguém ficasse com a dúvida do porquê de abaixo do Public sMeuNome As String = "Minguno" | estar um Public Sub Main()
É bastante fácil , recordem que antes do procedimento declaramos variáveis (dados) que variam , e depois podemos usar, mas se nós declarássemos o :
Public sMeuNome As String = "Minguno"
sem depois lhe darmos o procedimento Public Sub Main() -> (aqui ressalto a rotina Main) o Gambas apenas saberia que estava realmente ali um dado declarado de estatuo público , com um tipo de dado assumido String que era capaz de ser variável e com o valor Minguno, não obstante era apenas a declaração de dado valor assumido mais nada, precisariamos do procedimento de uso que vem com :
Public Sub Main()Print sMeuNome
reparem que o Print chama o dado variável pelo seu nome - sMeuNome
Vamos falar e pegar no exemplo do dado que é um constante!
Assim entende-se bem como dizer ao Gambas que um certo dado não pode variar e portanto torna-se uma constante .
Para dizer ao Gambas que um dado não varia e é constante (fixo) usamos o termo sintaxe Const precedendo o nome do dado.
E agora finalmente acho que já conseguem entender a imagem a seguir →
Aproveitamos agora para explicar timtim por timtim a coisa que cá nos trás.
Ora bem , dentro dos programas existem un certos dados.
Esse dados em virtude do que queremos fazer com eles podem assumir dois tipos de existência ou são variáveis ou constantes.
O Gambas precisa de que esses dados estejam disponivieis seguindo umas regras:
- a primeira a de declarar o dado (a existência dele)
- a segunda o de o poder usar depois num procedimento (sem procedimento é só dado) por exemplo usando a subrotina Main.
Feito isso temos de pensar mais uma vez na sintaxe e o Gambas precisa de saber o estatuto (Public) (Private) o qual antecede tudo o resto.
Depois tem de saber se ele vai variar ou não , ora se for para variar não colocamos nada entre o PUBLIC|PRIVATE e o Nome do dado , no entanto se não quisermos que varie temos de lá colocar um CONST.
Ao colocarmos o CONST sabemos que ele não vai variar jamais!
Depois importa saber que os dados têm de ser conhecidos pelo Gambas e como fazemos isso? - dando-lhe nomes os que nós desejarmos e lembrem-se um nome pode ser um alvo de valor a tomar por exemplo um dado variável pode tomar o valor de um outro exemplo - sPrimeiroNome=sMeuNome.
Depois também temos de saber que existe o AS (que é um como) sem o AS nada feito.
E finalmente devemos saber que tipo o dado assume (STRING, BOOLEAN...)
Para que o "valor" assuma um valor !atenção aos valores !, não fique orfão portanto , temos de os especificar ou no momento de declarar o dado no inicio de um Módulo ou dentro de um procedimento exemplo Main (aqui dentro de um Main antes do nome do dado variável colocamos um DIM), assim e então dar alvo de valor faz-se tão simplesmente com um -( = )valor.
Se esse valor for do tipo String então à frente do = levará umas aspas "" e dentro delas algo escrito exemplo = "Minguno" , caso contrário o Gambas diz ERRO! volta cá para a próxima! eheh.
Se esse valor for numérico exemplo um Integer não leva as aspas exemplo = 1984.
E nesse fim de tipo de dado assumido ficamos a saber que o que varia é na verdade ele (esse fim) um String pode variar para outro etc, se houver um CONST essa variação fica bloqueada o valor é fixo!!!
E assim → na imagem anterior vocês já percebem o todo e o porquê disso que dizem ser variáveis - porque variam e se não forem para variar tem que se meter lá o "coisinho" a dizer - CONST! Por certo um "coisinho" que faz parte de uma det. sintaxe , lembram-se da sintaxe!
Tudo é sintaxe e matemática ou lógico-matemática (esta é a parte chata da coisa e onde eu sou como gato para ir a banho de água , tento sempre fugir ehehe).
Gostaram?
Na próxima vamos bater mais sobre isto, e se algum amigo sem conhecimentos de programação ainda tiver dificuldades , convido-o a reler , eu fui daqueles que andei e andei e andei e andei, até começar a entender algo , é encontrar a forma como nós e o nosso cérebro gosta de assimilar as coisas e depois já vai bem, acreditem em mim, já sofri muito para entender aquela etapa dita básica do Gambas. E agora estou aqui a colocar-vos a matéria do modo mais fácil que consigo, algo que eu não tive, aprendi sozinho lendo código e pedindo ajuda em códigos a usuários programadores, nesse grémio não te ensinam assim desta maneira esmiuçada - só te dão luzes depois desenrasca-te e fazem bem acho eu , se queres aprender ou lês mesmo ou vais pagar e tirar um curso como eles fizeram.
Se houver dificuldades releiam esse é o segredo, tal como o segredo de um bom programador é ler código.
A seguir exemplo de um jogo feito em Gambas por jsbsan, por enquanto nós estamos na fase do texto e feedback texto , - escrevemos código e obtemos por linha de comando a saída é importante ter boas noções da linguagem e os primeiros passos em toda a programação e seguindo essa opção ajuda , para depois dar o salto para os métodos de uso botão janelinha etc...
[youtube][MEDIA=youtube]ft3g9Vgl_AQ[/MEDIA][/youtube]