Pular para o conteúdo principal

Postagens

Mostrando postagens de junho, 2010

Lazarus - Dicas de LazReport

Neste post vou apresentar algumas dicas para criar relatórios com mais eficiência em LazReport. No post Lazarus - Criando relatórios com FortesReport (Parte I) eu mostrei como instalar o LazReport e o link para um tutorial que ensina passo a passo como criar um relatório. Exportando um relatório para PDF Esse é um procedimento bastante simples, mas é necessário instalar dois pacotes. Para exportar um relatório para PDF você precisa do LazReportPDFExport . Este componente está em source\addons\pdfexport no mesmo diretório do LazReport. Mas este componente depende do PowerPDF . Você pode fazer o download do pacote PowerPDF no repositório de componentes e código Lazarus . Instale o PowerPDF e depois o LazReportPDFExport . O PowerPDF irá aparecer em uma nova aba de componentes e o LazReportPDFExport será um novo componente - TfrTNPDFExport - na aba do LazReport. Supondo que você já criou o relatório, coloque um TfrTNPDFExport no mesmo form onde está o TfrReport . Execute o seu

Java - Strings, memória e imutabilidade

O entendimento sobre pilha e heap pode facilitar em muuito a compreensão de temas como passagem de parâmetros, polimorfismo, garbage collector, etc. Mas neste post darei apenas uma rápida visão para poder falar o assunto principal que é a forma como Java trata os objetos String . Em geral, variáveis de instância, objetos e arrays - que também são objetos - residem no heap . Já as variáveis locais, tanto de tipos primitivos quanto as referências, residem na pilha . Sabemos que uma String pode ser instanciada de várias maneiras, como nestes exemplos: String s = new String("abcd");   // ou s = "abcd"; Para que o uso da memória seja mais eficiente em Java, a JVM mantém uma área especial de memória chamada pool de Strings constantes . Quando o compilador encontra um literal String , ele verifica se existe uma String idêntica no pool . Se existir, a referência ao novo literal é direcionada à String existente e não é criado novo objeto String . Mas quando um

Lazarus - Conectando Oracle com SQLdb ou ZeosLib

A Oracle oferece uma versão free do Oracle Database 10g. É o Oracle Database 10g Express Edition . Utilizamos esta versão neste artigo. Além disso, utilizamos a versão 0.9.29 do Lazarus, Free Pascal 2.4.1 e ZeosLib 7.0.0. Para os testes usamos o usuário do Oracle hr , que é criado em uma nova instalação. Depois de instalado o banco de dados, o usuário hr deve ser desbloqueado pelo DBA e definida uma senha. Esse usuário tem acesso às tabelas do schema hr , também instalado junto com o banco. No entanto criamos uma nova tabela para os testes, de forma a manter as tabelas originais inalteradas. Criamos então nossa famosa tabela CIDADE. CREATE TABLE "CIDADE" ( "ID_CIDADE" NUMBER NOT NULL ENABLE, "NOME" VARCHAR2(40), CONSTRAINT "CIDADE_PK" PRIMARY KEY ("ID_CIDADE") ENABLE ) Existe ferramenta de administração visual na instalação do Oracle, mas não é objetivo deste artigo expor a utilização da mesma. Conexão com