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
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:
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:
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 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:
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 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.
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.
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:
Nesse caso ele determina qual será o registro a ser editado.
Agora é só jogar os valor nas textbox:
textbox2.text = res!nome_cad
… e depois fazer todo o procedimento normal para salvar:
res!nome_cad = textbox2.text
banco.Update()
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>
Deixe seu comentário