Revista Do Linux
 
EDIÇÃO DO MÊS
 CD do Mês

 Capa
 Estudo de Caso
 Produto
 Tutorial
 Iniciantes
 Segurança
 Hardware
 Desenvolvimento
 Entrevista
 Corporativo
 Especial
 Distro
 Comunidade
 
 
 
tutorial
 
Neste artigo voltado para todas as categorias de usuários, são apresentados os conceitos básicos de programação do Kylix e o desenvolvimento de um pequeno programa.
 
<IMG> Baseado no Delphi, o Kylix traz um ambiente completo de desenvolvimento rápido de aplicações (RAD - Rapid Application Development). Apesar de sua facilidade de utilização, é uma ferramenta muito poderosa, sendo útil tanto ao desenvolvedor iniciante, quanto aos desenvolvedores experientes.
<IMG>
Apresentando e Executando
<IMG> Ao iniciar a execução do Kylix, você verá uma tela semelhante à da Figura 1. Esta tela é muito semelhante à do Delphi. Isto não é coincidência.
<IMG> A janela central é a tela principal de uma aplicação Kylix. Para montar a interface com o usuário, o desen-volvedor escolhe o componente desejado na paleta de componentes (Figura 2), clicando sobre ele, para selecioná-lo e, em seguida, na janela, para colocá-lo lá. Pode-se então movimentar o componente e ajustar seu tamanho, dando o formato desejado.
<IMG> As janelas do Kylix são chamadas de Forms. Associado a cada Form, há um arquivo de código correspondente, chamado de Unit. O código fonte dos programas em Kylix é escrito em Pascal orientado a objetos. Para visualizar a janela de código (Figura 3), basta teclar F12 ou selecionar a opção de menu View/Toggle Form/Unit.
<IMG> Como você pode ver na Figura 3, mesmo um novo projeto já tem algum código. Uma Unit está intimamente ligada à Form: quando se cria uma nova Form, automaticamente é criada uma nova Unit e o código nela reflete o que está incluído na Form. Ao se inserir um novo componente na Form, o Kylix gera o código correspondente a ele na Unit. A Borland chama isto de two-way tool (ferramenta de duas vias).
<IMG> Um aplicativo Kylix é chamado de Projeto e pode consistir de uma ou mais Forms. Excepcionalmente, um aplicativo pode não conter nenhuma Form, como por exemplo, um aplicativo do tipo console, para ser usado na linha de comando.
<IMG> Para dar funcionalidade a um programa, deve-se inserir componentes na Form. O programa básico não mostra nada, a não ser uma janela vazia. Para adicionar componentes, você deve usar a paleta de componentes, mostrada na Figura 2. Ela contém os diversos componentes que podem ser inseridos numa Form. Os componentes são agrupados em guias, para facilitar sua escolha. Esta separação é feita por funcionalidade:
• Standard - Contém os componentes de uso mais comum.
• Additional - Nesta guia são encontrados componentes mais elaborados, com funcionamento interno mais complexo.
• System - Aqui são colocados os componentes voltados à interação com o sistema operacional.
• DBExpress - Componentes de acesso a bancos de dados.
• Data Controls - Componentes data aware, isto é, os componentes são semelhantes aos da guia Standard ou Additional, porém têm ligação com as tabelas dos bancos de dados.
Além destas guias, podem ser encontradas diversas outras. Como novos componentes são criados usando-se o próprio Kylix, é muito comum adicionar componentes elaborados por terceiros, que acrescentam novas guias à paleta.
 
Modificando as
características de um objeto
<IMG> Quando um componente é colocado numa Form, ele possui características padrões, que nem sempre são desejadas no programa final: Por exemplo, ao se colocar um TLabel na Form, o texto que é apresentado é “LabelXX”, onde XX é um número que varia conforme os labels que estão na Form.
<IMG> Além disso, a posição ou tamanho podem não corresponder ao que se deseja. O Kylix permite alterar as propriedades de um componente e visualizar o efeito final antes de executar o programa. Para alterar a posição de um componente, basta selecioná-lo clicando sobre ele e arrastá-lo para a posição desejada. Para alterar seu tamanho, basta clicar sobre a borda, arrastando-a para o tamanho desejado.
<IMG> Quando se quer alterar qualquer outra característica, utiliza-se o Object Inspector mostrado na Figura 4. Ele tem duas guias, Properties e Events. A primeira mostra as propriedades do componente e a segunda, seus eventos, que serão explicados mais adiante.
<IMG> Quando um componente é selecionado, suas propriedades e respectivos valores também são mostrados. Para alterar o valor de uma propriedade, basta clicar na segunda coluna do Object Inspector, na frente da propriedade desejada. Se, por exemplo, você colocar um label na Form e selecioná-lo, poderá alterar o texto que ele apresenta clicando em frente à propriedade Caption e digitando o novo texto. À medida que vai se digitando, o label reflete o texto na Form. Desta maneira, pode-se visualizar as modificações à medida que são processadas.
<IMG> Com estas informações, podemos criar um primeiro programa em Kylix, o já famoso “Alô, Mundo”. Vemos aqui a verdadeira facilidade do desenvolvimento RAD: para criar uma aplicação como esta para X, em linguagem C, deveremos usar aproximadamente 100 linhas de código; para criar nosso programa não precisamos digitar nem uma linha de código!
<IMG> Para criar o programa, tudo o que temos de fazer é inserir um componente TLabel, da guia Standard na Form, e mudar a propriedade Caption para “Linux, Cheguei!!!”. Para deixar o programa um pouco mais bonito, podemos escolher a propriedade Font e alterá-la para Lucida, tamanho 36, Bold Italic. Em seguida, podemos centralizar o texto na Form, usando a paleta de alinhamento, mostrada na figura 5. Se ela não estiver visível, você pode apresentá-la com a opção do menu View/Alignment Palette. Os botões da terceira coluna centralizam o Label na janela.
<IMG> Nosso programa está pronto. Podemos executá-lo, usando a opção Run/Run do menu ou teclando F9. A compilação é praticamente instantânea e o programa já está rodando (Figura 6). Note que aqui não há código interpretado - tudo é compilado e um executável foi criado. Esta foi minha maior surpresa, quando, após anos de C++ e intermináveis compilações, eu executei meu primeiro programa em Delphi 1 (em 1995) - não pude acreditar na velocidade de compilação e, sem dúvida, no Kylix isto não é diferente.
 
Trabalhando com Eventos
<IMG> Mas nem tudo é colocar componentes na Form e configurar propriedades: devemos dar um pouco de funcionalidade ao programa, criar um pouco de código. A programação tradicional, usada comumente em modo texto (programas DOS ou Linux) é linear, onde a seqüência do programa é conhecida, um passo após o outro. Eventualmente, chamamos uma sub-rotina e, após a execução desta, o programa retorna ao local onde a rotina foi chamada.
<IMG> Na programação em ambiente gráfico, o programa espera algo acontecer, isto é, ele apenas reage à ação do usuário: quando ele clica um botão, a ação “A” é executada, ao teclar algo, a ação “B” é executada. Este tipo de programação é chamado de Programação Orientada a Eventos.
<IMG> Em Kylix, estes acontecimentos são chamados de “eventos”. Quando um evento acontece, por exemplo, quando um botão do mouse é pressionado, o programa é avisado disto, indicando onde isso ocorreu. O programa, por sua vez, pode executar alguma rotina para processar este clique ou mesmo desprezá-lo.
<IMG> O tratamento destes eventos em Kylix é muito fácil: a segunda guia do Object Inspector, Events, mostra os eventos disponíveis para o componente. Em geral, os nomes destes eventos são iniciados por On, seguido do tipo de evento. Assim, OnMouseDown é o evento que é disparado quando o usuário clica o botão do mouse e OnCreate é ativado quando um objeto é criado.
<IMG> Pode-se associar uma rotina que será executada quando o evento for ativado. A esta rotina damos o nome de manipulador de eventos. Ao dar um clique duplo no espaço em branco em frente ao nome do evento, na guia Events do Object Inspector, abre-se o editor de código com o esqueleto de um manipulador de eventos como o mostrado a seguir:
 
procedure TForm1.Button1Click(Sender: TObject);
begin
 
end;
 
<IMG> Digita-se aí a rotina que será executada quando o evento for acionado. Não é necessário criar código para todos os eventos de um objeto: quando não houver um manipulador definido para um evento, a ação padrão será executada. Para mostrar este conceito, colocaremos um botão na janela, modificando sua propriedade Caption para Sair. Ao dar um clique duplo sobre ele, abre-se o editor de código, com o manipulador do evento OnClick. O clique duplo sobre um componente ativa uma ação pré-determinada, que pode variar de componente a componente. Por exemplo, em alguns, é aberto o editor de código num evento, em outros, abre-se uma tela de configuração do componente. Devemos apenas colocar neste manipulador a linha mostrada em negrito:
 
procedure TForm1.Button1Click(Sender: TObject);
begin
Close;
end;
 
<IMG> Assim, quando o botão é clicado, o comando Close é executado, fechando a janela e o programa.
<IMG> Como você pôde ver aqui, a programação com o Kylix é muito facilitada pelas ferramentas que oferece. Por outro lado, esta simplicidade não se traduz em programas simples, que têm pouca funcionalidade - apenas leva o desenvolvedor a se preocupar com aquilo que realmente deve se preocupar: os algoritmos de funcionamento dos seus programas. Facilitando a criação da interface com o usuário, sobra mais tempo para desenvolver programas melhores, mais otimizados e robustos.
 
Vantagens da Interface do Kylix
<IMG> Não é perdida a experiência adquirida pelos programadores Delphi no Windows, diminuindo a curva de aprendizado para a programação Linux
<IMG> Mantém um ambiente de desenvolvimento semelhante para as duas plataformas.
<IMG> O Kylix é um ambiente de trabalho completo; não precisa de nenhuma outra ferramenta para desenvolvimento de programas:
<IMG> A edição de código é feita com seu próprio editor, com destaque de sintaxe (syntax highlighting), complementação de código e ferramentas para facilitar a criação de código e a navegação pelo programa.
<IMG> A interface com o usuário é criada de maneira visual: o que se cria em tempo de projeto é o que o usuário verá em tempo de execução.
<IMG> A compilação do código é feita usando-se o menu ou a barra de ferramentas; as mensagens de erro de compilação são mostradas em uma janela, podendo ser sincronizadas com o código fonte.
<IMG> A depuração dos programas é feita com o depurador integrado, que permite parar em determinado ponto do código, executar linha a linha, ou analisar o valor das variáveis. O Kylix permite ainda mostrar o código Assembler gerado, depurando instrução a instrução.
 
Nota:
O Kylix gera executáveis nativos: não são necessários programas interpretadores ou distribuição de parte do Kylix com os executáveis.
 
O Kylix permite desenvolver aplicações Linux, e não device drivers - para isto, você terá que usar o compilador gcc.
 
O Kylix também permite a criação de aplicativos não gráficos, usados em linha de comando
 
Bruno Sonnino
sonnino@netmogi.com.br
 
 

A Revista do Linux é editada pela Conectiva S/A
Todos os Direitos Reservados.

Política de Privacidade
Anuncie na Revista do Linux