Desenvolvimento - Mobile

Palm: Conhecendo a IDE do Handheld Basic

Um bom programador além de ser um profundo conhecedor da linguagem em que trabalha ele deve também conhecer cada detalhe da ferramenta adotada, para isso este artigo trata da IDE do HB++.

por Wellington Pinto de Oliveira



Um bom programador além de ser um profundo conhecedor da linguagem em que trabalha ele deve também conhecer cada detalhe da ferramenta adotada, para isso dedicarei todo este artigo para falar do IDE do HB++ e mesmo assim garanto que não será o suficiente para conhecer todos os recursos desta ferramenta.

Vamos primeiro conhecer algumas partes básicas do IDE.

Menu

No menu encontramos todas as opções e funcionalidades da ferramenta. A barra de menu horizontal está dividida em vários assuntos, e na barra vertical encontramos as funcionalidades do determinado assunto.


Figura - Barra de Menu

Decidi comentar todos os menus na tabela abaixo:

Output Window

Nesta ferramenta estão reunidas todas as informações de criação (Compilação) do projeto, uma das grandes vantagens de se trabalhar com o Handheld Basic é que ele possui uma poderosa ferramenta de Debug chamada Output Window.

Esta ferramenta é dividida em três partes (janelas): Build, Debug e Call Stack.

Build

Nesta janela é possível monitorar o processo de compilação do projeto, caso haja algum erro o HB++ exibirá um relatório de erro, para encontrar a linha do programa (código) que contem o erro basta clicar sobre o erro exibido na janela Build e clicar F4 conforme o exemplo abaixo.

Repare que um erro ocorreu e segundo o relatório gerado "y" não foi definido pelo programador, bom geralmente uma variável ou um objeto que não foi devidamente definido, com este erro selecionado basta clicar em F4 que o HB++ irá focalizar o trecho do código que contem este erro.


Figura - Trecho de código apontado pelo depurador de erros.


Figura - Relatório de Erros apontados durante a compilação.

Repare que no código acima o programador criou a variável "x" e não "y" e utilizou "y", provavelmente ele trocou o nome das variáveis. O HB++ além de focalizar o trecho do código errado ele marca com uma bola azul a linha que contem o erro.

Debug

Essa janela exibe a lista de mensagens de Debug enviadas pelo metodo DebugPrint. Caso o programador não utilize esse método nenhuma informação será exibida nessa janela.

Call Stack

Caso seu projeto tenha sido compilado corretamente e não foi encontrado erros de sintaxe, por exemplo, isso não quer dizer que ele esteja correto, ou seja, a prova de erros, a programação é uma caixinha de surpresas. Vamos ao nosso próximo exemplo, digamos que uma divisão por zero não é algo que o Debug pegue durante a compilação, logo é um erro que acontecerá durante a execução do aplicativo em campo.


Figura - Código aparentemente correto.

O código fonte acima está aparentemente correto, todas as variáveis foram criadas, atribuídas e exibidas.

O método MsgBox existe e sua sintaxe está correta e ao compilar, nenhum erro foi encontrado. Porém ao executar esta rotina o POSE será paralisado e exibirá a seguinte mensagem:


Figura - Erro de divisão por 0.

Clicando em Debug na janela acima o HB++ informará a linha de código que contem o erro conforme a imagem abaixo:


Figura - O Handheld Basic informa a linha que ocorreu o erro.

Abaixo temos um relatório mais apurado do erro.


Figura - Lista de execução (Call Stack).

Repare que a execução ocorreu normalmente até a execução da rotina frmMain.Button2_Click() conforme a imagem acima. Toolbars

A Toolbar reúne todas as principais opções da Barra de Menu, porém para acessar uma opção da Barra de Menu você precisa de pelo menos 2 cliques com o mouse ou conhecer as Teclas de Atalho. Todas as opções da Toolbar precisam apenas de um clique para serem acionadas, tornando a ferramenta muito mais produtiva.

Um exemplo é a opção de salvar, um projeto deve ser salvo inúmeras vezes ou seja utilizando a Toolbar estaremos clicando inúmeras vezes, se salvarmos o projeto utilizando o Menu estaremos clicando 2*inúmeras vezes.

Abaixo estamos definindo cada opção e sua breve descrição:

ToolBox

A Toolbox reúne todos os controles disponíveis no HB++ e mais os controles que você cria durante o desenvolvimento do projeto. Estes controles criados pelo programador são chamados de User Control. Abaixo temos todos os possíveis controles e sua breve descrição:

A tabela acima é apenas uma breve descrição, entremos dedicando um capítulo inteiro para Controles e estaremos desenvolvendo vários exemplos com estes.

Form Editor

O Handheld Basic possui um poderoso construtor de formulários, com ele o programador pode montar todos os controles e preparar o Layout da futura janela.


Figura - Layout do Form Editor

Como podemos ver na imagem acima temos um formulário com vários objetos já posicionados, todo o trabalho é visual e muito rápido.

Agora que sabemos o que é o Form Editor devemos aprender a configurar conforme a necessidade de cada usuário, por exemplo, o tamanho do Layout o a existência ou não do grid, para isso vamos acessar a janela de configuração do Form Editor, para isso vamos até o Menu e selecionar a seguinte opção Tools | Options, será exibido um formulário conforme a imagem abaixo.


Figura - Opções de configuração do Form Editor

  • Grid Setings: Modifica as opções de Grid;
  • Colors: Você pode definir se o formulário deve ser colorido ou não;
  • Initial zoom: Aqui podemos definir o zoom do Layout do formulário.
Code Editor

Após definir o Layout do projeto e das telas o programador deve começar então a dar vida ao aplicativo, para isso o Handheld Basic conta com uma importante ferramenta de edição de código, para quem não conhece a linguagem os recursos desta ferramenta ajuda a acelera o processo de aprendizado.

Para editar o código de um botão, por exemplo, basta selecionar o nome do botão em um popUp existente no topo da ferramenta e será listado todos os eventos possíveis deste botão.


Figura - Seleção de Objetos.

Após selecionar o objeto vamos selecionar o evento ao qual este objeto está relacionado.


Figura - Eventos do Botão

Embora eu tenha escolhido a opção "Click()" todas as outras opções listadas são validas para um botão.

Ao clicar na opção "Click()" o Handheld Basic automaticamente criará a rotina para este evento.


Figura - Rotina gerada para o evento Click() do botão.

Um objeto pode ter muitos eventos e você pode atribuir vários eventos a um único objeto, porém cada evento possui a sua função, o evento acima, por exemplo, executa um código quando o usuário clicar sobre o Botão.

Abaixo podemos ver um recurso importante da ferramenta.


Figura - Opções para o objeto tabela.

Quando criei um Objeto Tab o Handheld Basic me informou uma série de opções para este novo objeto, este recurso ajuda o programador inexperiente a aprender com maior agilidade a linguagem aumentando a velocidade de desenvolvimento de um aplicativo.

No código acima podemos ver que algumas palavras reservadas possuem uma cor diferenciada do resto do código, esta diferença de cor, é possível configurar algumas propriedades desta ferramenta através da janela de Options, para isso vá até o Menu e clique na opção Tools | Options.

As Strings por default possuem a cor Cinza o que torna a sua visibilidade um pouco desagradável em um NoteBook, vamos modificar a cor para um Violeta conforme a imagem abaixo:


Figura - Modificando as cores das Strings.

Agora meu código ficou mais visível em meu NoteBook.

Project Explorer

O Handheld Basic possui um gerenciador de objetos e arquivos utilizados pelo projeto, este gerenciador é chamado de Project Explorer.

Todo o objeto criado ou adicionado é exibido no Project Explorer facilitando assim o acesso do mesmo pelo programador.


Figura - Project Explorer

Properties

Todo o objeto criado possui propriedades que podem ser editadas, por exemplo, o caso de um botão, ele possui uma demissão, um texto, um formato, etc.. Podemos editar as propriedades de um objeto através da janela de Properties.


Figura - Janela de Propriedades

Na imagem acima podemos ver as propriedades de uma tabela, entre a qual se encontra o nome da Tabela, esta tabela será referenciada através do nome em toda a programação.

Discutiremos os detalhes de cada controle e alguns objetos nos próximos artigos.

Wellington Pinto de Oliveira

Wellington Pinto de Oliveira - Autor do livro "Desenvolvendo Aplicações Palm com NS Basic", atualmente trabalha com automação de processos industriais e códigos de barras. http://www.softpalm.com.br.