Apresentando o Gambas2

Apresentando o Gambas2

O gambas2, é um interpretador BASIC, com ele você pode criar aplicações gráficas, baseado do QT ou GTK, acessar os mais diferentes bandos de dados, como Sqlite, Firebird, Mysql, postgreSQL, ou qualquer outro banco de dados que tenha drives, ODBC. Nessa dica vou apresentar um pouco sobre esse projeto, dando ênfase, na conexão com banco de dados, que será o Sqlite3, e o Mysql.

O Gambas2 é o Visual Basic do Linux ?

Não, mesmo acompanhando a sintaxe basic, o seu código não é compatível, mesmo em alguns pontos sendo bem parecido, será necessário, correções para que seu programa possa ser executado.

Um ponto que vale ressaltar é que, quando se cria um projeto no gambas2, ele fica dentro de um determinado diretório, na hora de abrir você deve abrir o diretório com o gambas2, como se fosse por exemplo abrir com o navegador de arquivos.

Dessa maneira todos os módulos e classes, e formulário são aberto assim que o diretório for executado com o gambas2.

A instalação

Use o gerenciador de pacotes de sua distribuição, será muito mais rápido e pratico do que compilar, mas, se quiser se aventurar, baixe a versão mais recente do site oficial:

http://gambas.sourceforge.net/

Se você possui, Debian, Mandriva, OpenSuse, ou Ubuntu aqui tem passo a passo e o que é necessário em cada uma:

http://gambasdoc.org/help/install?pt_BR

Se utiliza Slackware:

http://www.slacky.eu/aadm/pkgs/index.php?ver=6&pkg=134

Os componentes

O gambas2, possui vários componentes que podem ser adicionados e removidos do projeto conforme a sua necessidade, por exemplo se o seu projeto for utilizar banco de dados, será necessário, o componente, gb.db, se quiser o que o seu projeto utilize, gtk será o componente, gb.gtk. Você não pode utilizar QT e GKT no mesmo projeto; se tentar isso o programa emitirá um aviso.

Para chegar a essas configurações siga o “menu. Project – Properties” ( ou ctrl – p ) depois, clique na aba components e lá estarão os componentes que podem ser inseridos ou removidos.

Você pode consultar a lista completas sobre os componentes no:

http://gambasdoc.org/help/comp?pt_BR

m1ec0f94a

Os tipos de dados em gambas2

Definição: Tipo de dados, é uma atribuição ao tipo de informação com que a variável irá trabalhar, pode ser numero texto, etc…

Declaração de variável texto.

Também existe os tipos combinados como arranjo.

  • Public -> é usada em todo o projeto.
  • Dim -> é usado apenas na classe que está definida.

Exemplo:

Puclic nome as string

arranjo.

Public nome as string[5]


Nesse caso é definido um vetor com 5 posições. Lista dos tipo de dados em gambas2:

http://www.gambasdoc.org/help/cat/datatypes?pt_BR

Conhecendo a interface

O gambas2 possuir interface bem simples:

4410be80

Não vou nessa dica mostrar como fazer coisas simples como uma calculadora por exemplo, pois já existe até apostilas na internet de como fazer isso.

Ao invés de falar um monte disso vou introduzir ao assunto de banco de dados.

Banco de dados

Vamos estudar o Mysql e Sqlite. Antes de mais nada ative o componente gb.db, para podermos trabalhar com banco de dados:

PUBLIC banco AS NEW Connection ‘ Será essa variável que recebera o banco de dados.

PUBLIC res AS Result ‘ Essa é responsável, pelas consulta e modificações dentro do banco.

PUBLIC PROCEDURE conectar_banco() ‘ aqui começa o procedimento para conectar o banco.

bd.Type = “mysql” ‘ Nessa string você termina o valor, como sqlite3, mysql.
bd.User = “root” ‘ Usuário do banco.
bd.Password = “” ‘ Senha

bd.Name = “banco” ‘ O nome do seu banco de dados.
bd.Open()
bd.Begin() ‘ Dá inicio a conexão.

END


Há uma questão nesse trecho, é o seguinte, é melhor colocar isso dentro de um modulo, assim pode chamar ele em qualquer parte do projeto sem necessidade de referenciar ao local.

É interessante usar o recurso de auto incremento, ao criar o banco de dados no Mysql, isso torna mais simples na hora de programar.

Um exemplo de cadastro no Mysql:

PUBLIC SUB Button2_Click()

conectar_banco() ‘ Chama o procedimento fazer a conexão.
res = conexao.bd.Create(“cadastro”) ‘ determina em qual tabela será acrescido, um ‘registro.
res!nome_cad = TextBox1.Text ‘ Vai aplicar os valores das textbox nos campos da tabela.
res!ender_cad = TextBox2.Text
res!rg_cad = TextBox3.Text
res!telefone_cad = TextBox4.Text
res!data_nasc_cad = TextBox5.Text
res!data_cad = Day(Date) & “/” & Month(Date) & “/” & Year(Date) ‘ Aqui ele pega a ‘data atual,
‘ eu poderia deixar apenas “date” mas dessa maneira consigo deixar no estilo ‘dd/mm/aaaa

res.Update() ‘Salva
banco.Commit() ‘ atualiza o banco
Message.Info(“Registro salvo com sucesso !”) ‘ Emite uma mensagem.

END


Um exemplo de conexão com sqlite:

? PUBLIC banco AS NEW Connection

PUBLIC res as result
PUBLIC SUB Button1_Click()

banco.Type = “sqlite3”
banco.Close()
banco.Name = “/home/jose/banco.db”
banco.Open()
banco.Begin()
END


Da mesma maneira que no mysql, é interessante deixar essa parte acima dentro de um modulo.

PUBLIC SUB Button2_Click()

res = banco.Create(“cadastro”)
res!cidade = TextBox2.Text
res!nome = TextBox1.Text
res!telefone = TextBox3.Text
banco.Update()
banco.Commit()
Message.info(“Seu registro foi salvo com sucesso”)

END


Vou abordar a questão das consultas e edições de registro já realizado, mais a frente, então, para dar uma idéia, de como funciona é assim.

res = banco.exec(“select * from tabela where cod_cad = ‘1’”)

textbox1.text = res!cod_cad
textbox2.text = res!nome_cad


Dessa maneira, Textbox1.text recebe o valor do código do primeiro registro.

E textbox2.text recebe o nome.

Você também poderia jogar os dados em uma tableview, que é um dos componentes mais úteis quando se trabalhar com banco de dados.

A Edição de registro também é simples:

res = banco.Edit(“cadastro”, “cod_cad=’1′”, 7)

Nesse caso ele determina qual será o registro a ser editado.

Agora é só jogar os valor nas textbox:

textbox1.text = res!cod_cad
textbox2.text = res!nome_cad

… e depois fazer todo o procedimento normal para salvar:

res!cod_cad = textbox1.text
res!nome_cad = textbox2.text

banco.Update()

banco.Commit()
Message.info(“Seu registro foi salvo com sucesso”)

Vou apresentar estas questões de edição e consulta, de maneira bem detalhada nas próximas dicas. Disponibilizarei também alguns exemplos práticos, para que você possa baixar e estudar pelo próprio fonte comentado.

Outros artigos de minha autoria:

http://www.vivaolinux.com.br/artigos/userview.php?login=joserribeirojuni

Por José Ribeiro <joserribeiro26 [at]gmail.com>

Sobre o Autor

Redes Sociais:

Deixe seu comentário

X