terça-feira, 14 de junho de 2011

Livros sobre Lazarus

A comunidade Lazarus conta agora com excelentes opções de publicações sobre esta fantástica ferramenta. Confiram:

Lazarus - The Complete Guide - mais de 720 páginas
Autores: M. van Canneyt, M. Gärtner, S. Heinig, F. Monteiro de Cavalho, I. Ouedraogo.
Idioma: inglês e alemão
http://www.blaisepascal.eu/index.php?actie=./subscribers/lazarusbookinfoEnglish

Desenvolvendo Aplicativos com Lazarus - 346 páginas
Autor:
Jean Patrick
Idioma: português do Brasil
http://www.clubedeautores.com.br/book/33568--Desenvolvendo_Aplicativos_com_Lazarus
http://agbook.com.br/book/46758--Desenvolvendo_Aplicativos_com_Lazarus


Programando com o Lazarus - 64 páginas
Autor:
Vitor Amadeu Souza
Idioma: português do Brasil
http://www.clubedeautores.com.br/book/24590--Programando_com_o_Lazarus
http://agbook.com.br/book/44784--Programando_com_o_Lazarus


[]'s,

Ericson Benjamim.

quarta-feira, 8 de junho de 2011

Aplicação Lazarus Web para cálculo do MDC

Esta semana o meu sobrinho torrou minha paciência pedindo a todo instante que corrigisse seus cálculos do máximo divisor comum (MDC). Para não perder mais tempo acabei criando uma aplicação para fazer os cálculos necessários. A aplicação foi feita no Lazarus 0.9.31 com FPC 2.5.1 e componente fpWeb. E compila tanto em Windows quanto em Linux. Também foi testada com sucesso no Lazarus 0.9.28 com FPC 2.4.2.

O link para aplicação compilada, incluindo código-fonte, é:

http://fanzinepas.awardspace.com/mdc.html

Abaixo os screenshots da aplicação:



O MDC é exibido em vermelho:



Foi a minha primeira incursão no mundo Lazarus/Web com o componente fpWeb. Outro componente interessante para aplicações Web no Lazarus é o Free Spider. O Free Spider é mais simples de usar, mas o fpWeb é mais poderoso.

[]'s,

Ericson Benjamim.

sexta-feira, 6 de maio de 2011

Eliminando o efeito flicker do letreiro digital

Esta semana um de meus clientes reclamou do flickering ou efeito flicker (pisca-pisca) no letreiro digital de um de meus programas de painel eletrônico. Realmente havia um pouco de flicker, mas nada que atrapalhasse tanto. Porém ele afirmou que o efeito estava tornando a mensagem ilegível. Pesquisando um pouco descobri que alguns temas, como o Classic, do Windows 7 (S.O. do cliente), este efeito aparece bastante nos forms. Pedi para ele testar o tema Aero enquanto não encontrava uma solução. Mas com um pouco mais de pesquisa descobri uma propriedade que praticamente eliminou o efeito: DoubleBuffered.

Basta acrescentar o código abaixo no evento OnCreate do form:

Panel1.DoubleBuffered := true;
Label1.ControlStyle := Label1.ControlStyle + [csOpaque];

A propriedade ControlStyle também ajuda na eliminação deste efeito. Quando em true, DoubleBuffered vai requerer um pouco mais de memória, mas nada que comprometa o desempenho do sistema. A idéia por trás da propriedade DoubleBuffered é preparar a imagem da tela na memória, antes de sua exibição e então torná-la visível.

Fontes:

Picture Motion - Double Buffering
http://delphi.about.com/library/bluc/text/uc092700a.htm

GDI Graphics In Delphi
http://delphi.about.com/library/bluc/text/uc052102g.htm

[]'s,

Ericson Benjamim.

sábado, 16 de abril de 2011

Vencedor do Lazarus International Games Contest 2010

O vencedor do Lazarus International Games Contest 2010 foi Nathan Bartram, autor do jogo Connect 4 - um jogo muito curioso e divertido. Um bom desafio, pois o software joga muito bem e deixa bem pouco espaço para os adversários humanos.



Instalador do jogo (Windows): install_connect4.zip
Código-fonte: Connect4-2.zip

Fonte: http://lazarusbrasil.org/contest.php

[]'s,

Ericson Benjamim.

terça-feira, 5 de abril de 2011

PasToHtm

Procurando por um conversor de vídeo acabei encontrando um programa muito útil para nosso meio: um conversor de código Pascal para HTML. Sei que há alguns perdidos pela Internet, mas gostei especialmente deste pela facilidade em configurá-lo (via arquivo INI).

PasToHtm:

http://www.pazera-software.com/products/pas-to-htm/

Exemplo:

http://www.pazera-software.com/products/pas-to-htm/example.html

Em breve pretendo fazer uma interface gráfica (com o Lazarus) para ele.

[]'s,

Ericson Benjamim.

quinta-feira, 17 de março de 2011

Lazarus no Linux

Apesar de levantar a bandeira de multiplataforma a um bom tempo com o Lazarus, pouquíssimas vezes precisei compilar meus programas no Linux. Esta semana um de meus clientes solicitou o executável de uma de minhas aplicações compatível com o Linux. A antiga receita de bolo que tinha (converter rpm para deb via alien) não deu certo no Ubuntu 10.10. Após uma pesquisa na Web, descobri uma wiki bem legal mostrando como instalar o Lazarus no Ubuntu.

A wiki contem o script abaixo que baixa e instala o Lazarus de maneira automática:


Seguindo a wiki, colei o conteúdo do script acima em um arquivo (getlaz) no diretório home. Depois executei os seguintes comandos:

chmod +x getlaz
./getlaz

A versão baixada foi a 0.9.28 com FPC 2.4.0.

[]'s,

Ericson Benjamim.

quinta-feira, 20 de janeiro de 2011

Lazarus - Error while compiling resources

Depois de instalar o Lazarus 0.9.31 com FPC 2.5.1, abri um antigo projeto que havia iniciado na versão 0.9.26 do Lazarus. O primeiro problema que enfrentei foi a ausência do componente TNotebook, resolvido com a substituição deste pelo TPageControl. Após esta ocorrência o projeto compilou sem problemas. Após editar as informações de versão (menu Project / Project Options / Version Info) o projeto começou apresentar o erro abaixo:

project1.lpr(42,1) Error: Error while compiling resources
project1.lpr(42,1) Fatal: There were 1 errors compiling module, stopping

Parti para a pesquisa no Google e encontrei algo falando dos arquivos de recursos. Acabei descobrindo uma solução para meu caso: removi a seguinte linha de código do arquivo project1.lpr:

{$IFDEF WINDOWS}{$R project1.rc}{$ENDIF}

Meu projeto voltou a compilar corretamente. Outra coisa que precisei editar manualmente foi a inclusão das seguintes tags no arquivo project1.lpi, dentro da tag CompilerOptions:



Neste último caso foi para definir o nome do aruivo compilado.

[]'s,

Ericson Benjamim.