Pular para o conteúdo principal

Postagens

Mostrando postagens de abril, 2010

Lazarus - Criando relatórios com FortesReport (Parte II)

No post Lazarus - Criando relatórios com FortesReport (Parte I) mostramos a criação de um relatório simples com agrupamento. Neste artigo vamos mostrar como criar um relatório mestre detalhe usando o FortesReport. Para implementar o exemplo usei um banco de dados Firebird e ZeosLib. Use o seguinte script para criar as tabelas. Neste caso o relacionamento mestre detalhe é formado pelas tabelas VENDA e ITEM . O Data Module Inicie uma aplicação no Lazarus e insira um Data Module . Selecione a aba Zeos Access e coloque um TZConnection no Data Module . Defina as propriedades da seguinte forma: Database - informe o banco de dados Firebird que foi criado. Name - dê um nome ao componente. Por exemplo: dbVendas . Password - masterkey . Protocol - firebird-2.0 ou a versão que está sendo usada. User - sysdba . Mude Connected para true , para verificar se a conexão está configurada corretamente. Coloque um TZReadOnlyQuery e defina: Connection - selecione o TZConnection

Lazarus - Emulador WinCE/Windows Mobile

Há alguns dias escrevi um post mostrando o desenvolvimento de uma pequena aplicação para WinCE usando SQLite. Na época fiz os testes em um PDA, não usei emulador. Muitas pessoas tem entrado em contato comigo questionando sobre emuladores. Sempre tive dificuldades com os emuladores da Microsoft. Mas passei a procurar por um emulador que funcione e acabei por encontrar no site da PDAExpert . Lá encontrei as versões Standard e Professional do emulador para Windows Mobile 6. Por limitações de banda fiz o download da versão Standard que oferece três emuladores diferentes. Consegui executar o exemplo do artigo, como mostra a figura. No entanto, o programa não consegue acesso ao banco SQLite. Minha forte suspeita é que a dll não é compatível com Windows Mobile 6. Ainda não tenho dados suficientes para afirmar isso. Por conta disso, pretendo criar uma nova aplicação que grava os dados em XML ou mesmo em arquivo texto usando TFixedFormatDataSet, como mostrei no post Lazarus - Tratamento de A

Lazarus - Relógio para jogar Xadrez

Para os aficcionados do milenar jogo de Xadrez que não querem ou não podem pagar por um relógio, estou disponibilizando um programa bem simples que simula um relógio, cujo executável pode ser baixado aqui . O programa não requer instalação, podendo inclusive ser executado em um pendrive. Ele foi desenvolvido usando a fantástica ferramenta Lazarus/FreePascal e substitui com eficiência os relógios de mesa. Além disso, aqueles que estão dando os primeiros passos em Lazarus encontrarão um exmplo de programa que usa bastante componentes e código para seus exercícios. Antes de mostrar o código vou mostrar a interface e explicar o funcionamento do relógio. A interface Na parte superior do relógio está a configuração do tempo que será usado na partida. Há três caixas de texto ( TEdit ). Uma para hora, a segunda para minutos e a terceira para segundos. À direita encontram-se três botões ( TButton ). O primeiro para iniciar o relógio, o segundo para reset e o terceiro para pausar. Abaixo

Lazarus - Funcoes de tratamento de Strings

Sysutils é uma unit do Free Pascal que implementa várias funções/procedimentos utilitários e tem a vantagem de ser multiplataforma. Esses utilitários são organizados em grupos e dentre eles podemos destacar: as rotinas de conversão de dados, as rotinas de data e hora, as rotinas de formatação de strings e as rotinas de manipulação de strings. Destacamos neste post as funções/procedimentos de manipulação de strings: LeftStr(const s: string; n: integer): string; Retorna os n primeiros caracteres da string s . Por exemplo: var s: string; begin s: 'Free Pascal'; writeln(LeftStr(s, 4)); // imprime Free end; RightStr (const s: string; n: integer): string; Retorna os n últimos caracteres da string s . Por exemplo: var s: string; begin s: 'Free Pascal'; writeln(RightStr(s, 1)); // imprime "l" end; Neste caso o exemplo pega o último caractere de uma string e imprime na tela. Trim(const s: string): string; Retira os espaços das

Lazarus - Criando relatórios com FortesReport (Parte I)

Para a criação de relatórios, o Lazarus já trás o componente LazReport, no entanto ele precisa ser instalado no IDE. Para fazer a instalação do pacote, acesse o menu Package -> Open package file (.lpk) . Localize o diretório de instalação do Lazarus e na pasta components abra lazreport e depois source . Abra o pacote lazreport.lpk , clique em Compile e depois em Install . Como já sabemos isso irá recompilar o IDE. Depois de inicializado novamente estará disponível a aba LazReport . Leia aqui um tutorial básico sobre o LazReport. No entanto queremos mostrar uma alternativa ao LazReport . Por essa razão, vamos apresentar neste artigo o FortesReport . Para quem conhece o QuickReport, que fazia parte do Delphi, não terá dificuldade de desenvolver com esse componente. Baixe o pacote aqui e instale. Os procedimentos são semelhantes aos que mostramos acima. Você terá uma nova aba chamada Fortes Report . Conectando o banco de dados O primeiro passo para criar a aplicação é fazer

Lazarus - Criando XML a partir de um DataSet

Sabemos que um documento XML pode ser criado manipulando strings e arquivos texto. Esta opção não é aconselhável, pois é difícil garantir que o documento seja bem formado. A melhor forma de fazer isso é usar DOM (Modelo Objeto de Documento). Já usamos esse padrão para ler um documento XML no artigo anterior. Para ilustrar a criação de um documento vamos implementar uma aplicação que gera um XML a partir dos registros de um DataSet . Para isso vamos usar nosso banco de dados SQLite de exemplos anteriores e vamos usar ZeosLib . Mas pode ser usado qualquer conjunto de componentes, inclusive SQLdb . Coloque então um TZConnection no form, ou num Data Module . Defina a propriedade Database com o banco SQLite, ou qualquer outro. Defina a propriedade Protocol com sqlite-3 . Coloque também um TZReadOnlyQuery e defina Name como queCidade . Em Connection selecione o TZConnection . Na propriedade SQL digite SELECT * FROM CIDADE . Insira um botão, que vai executar a criação do XML. Na

Lazarus - Lendo XML em um TreeView

XML (Extensible Markup Language) é uma linguagem de marcação, baseada em texto, recomendada pela W3C para troca de informações entre diferentes sistemas e plataformas. Linguagens usadas para troca de dados, como XHTML, a maioria dos WebServices, se baseiam em XML. Aqui está o exemplo de um arquivo XML: Joao da Silva (93)3522-0001 Jose Sousa (93)3522-0002 jose@email.com.br Maria da Silva (93)3522-0003 (93)9122-0001 Raimunda de Sousa rsousa@email.com.br Em Lazarus/Free Pascal existem três units que dão suporte a XML. São chamadas XMLRead, XMLWrite e DOM. Fazem parte da FCL (Biblioteca de Componentes Livres). Só precisamos adicionar as units na cláusula uses para ter suporte a XML. DOM (Modelo Objeto de Documento) define uma interface padrão. Quando você escreve código que usa essa interface, você pode mudar para outras implementações de DOM sem precisar mudar seu código fonte. Lendo XML em um TreeView Co