Arquivo da tag: delphi

instalando o quickreport no delphi 7

o quickreport está na pasta do delphi7, mas não está instalado.

  1. vá à opção do menu component > install packages
  2. clique no botão add
  3. selecione o arquivo “dclqrt70.bpl”, elé estará na pasta bin do delphi (por padrão, c:\arquivos de programas\borland\delphi7\bin)

instalando os componentes zeos no delphi 2007

O ZeosLib é um conjunto de componentes para bano de dados MySQL, PostgreSQL, Interbase, Firebird, MS SQL, Sybase, Oracle e SQLite para Delphi, FreePascal/Lazarus, Kylix e C Builder.

Detalhes do projeto:

  • Administradores do projeto: frank_linde, markdaems, miseeger
  • Desenvolvedores: 16
  • Licença: GNU General Public License (GPL), GNU Library ou Licença Pública Menos Geral (LGPL )
  • Sistema Operacional: Todos os 32-bit MS Windows (95/98/NT/2000/XP), Todos os POSIX (Linux/BSD/UNIX-like SO), Linux
  • Linguagem de Programação: C, Delphi/Kylix

Instalando o Zeos:

  1. Descompacte o arquivo e abra o grupo de projetos ZeosDbo.groupproj na pasta .\packages\delphi11;
  2. Vá no menu Project > Compile All Projects;
  3. No Project Manager, abra o menu suspenso de ZComponentDesign110.bpl e selecione Install
  4. Componentes instalados, agora falta incluir o diretório dos arquivos compilados (.dcu) no Library path (menu Tools > Options > Environment Options > Delphi Options > Library – Win32)

Gostei bastante dos componentes, pelo pouco que testei. Farei uns testes comparando sua velocidade e praticidade em relação a outros componentes, e postarei os resultados

DateTimePicker.Checked não está funcionando no windows vista

Notei estranho o comportamento estranho desse componente num pc novo, eu desmarcava o check e a consulta continuava filtrando por data, ai coloquei uma data bem antiga e todos os registros apareceram. Pensei: — Como assim?! eu tinha testado isso..

Abri um novo projeto, inseri o DateTimePicker (propriedade ShowCheckBox = true) e um botão onde coloquei:

ShowMessage(BoolToStr(DateTimePicker1.Checked))

Executei:

  • Estava desmarcado, cliquei no botão, 0 (certo)
  • Marquei, botão, -1 (certo)
  • Desmarquei, botão, -1 (opa! ta errado)

Depois de ler, o que fiz:

Abri a unit ComCtrls (onde esta o componente). Para abri-la basta clicar com o direito em TDateTimePicker e selecionar a primeira opção do menu suspenso (Find declaration).

Procurei a procedure “TDateTimePicker.CNNotify”:

procedure TDateTimePicker.CNNotify(var Message: TWMNotify);
var
DT: TDateTime;
AllowChange: Boolean;
begin

DTN_DATETIMECHANGE:

{if FShowCheckbox and IsBlankSysTime(st) then * linha original}

if FShowCheckbox and (dwFlags = GDT_NONE) then {linha atualizada}

FChecked := False

Fiz uma pesquisa na pasta do Delphi pelo arquivo ComCtrls.dcu porque é ele que será usado quando você compilar o projeto. resultado nestas pastas:

  • C:\Program Files\CodeGear\RAD Studio\5.0\lib
  • C:\Program Files\CodeGear\RAD Studio\5.0\lib\debug

Fui no menu “Tools>Options>Enviroment Options>Delphi Options>Library – Win32” e coloquei o diretório do arquivo .pas (C:\Program Files\CodeGear\RAD Studio\5.0\source\Win32\vcl) no início da lista do “Library path”.

Compilei o projeto, para gerar o arquivo .dcu no diretório do arquivo .pas. Peguei esse .dcu e coloquei nos dois diretórios que falei aqui em cima (o da pesquisa).

Voltei lá no Library path e tirei o diretório recém colocado.

Pronto! Tudo certinho!

fontes:

newsgroups.cryer.info

msdn (microsoft developer network)

Output Directory ignorado pelo Delphi 2007 no Vista

Comecei a usar o Deplhi 2007 no Windows Vista, só que quando compilava, a dll (ou executáveis) ficava no diretório dos fontes. Dei uma pesquisada até achar a página da CodeGear (opa, agora é da Embarcadero).

O caso é que o caminho de saída dos arquivos que está no arquivo seu_projeto.dproj fica condicionado à plataforma usada:

<Platform Condition=” ‘$(Platform)’ == ” “>AnyCPU</Platform>

<DCC_DCCCompiler>DCC32</DCC_DCCCompiler>

<DCC_DependencyCheckOutputName>C:\diretorio_de_saida\aplicativo.exe</DCC_DependencyCheckOutputName>

Para resolver:

  1. Menu Tools -> Options
  2. Vá em Environment Options -> Environment Variables
  3. Selecione o item PLATFORM
  4. Clique em Add Override…
  5. Em Variable value digite AnyCPU
  6. Reinicie o Delphi antes de compilar

udf’s do firebird pelo delphi

Estava eu precisando criar uma função no firebird que me retornasse uma data, e isso deu trabalho.. pesquisei várias vezes, mas pouco encontrei. bem, até encontrei algumas páginas, mas essas eram muitas vezes traduções de umas páginas da codegear (essa ou essa), e que não estavam me esclarecendo muito não.. nesses exemplos é explicada a criação de quatro funções, módulo (retorna o resto de uma divisão), left (pegar os primeiros n caracteres de uma string), year e hour (retornar o ano e a hora de uma variável date e time respectivamente).

Até a função do módulo tudo funcionou corretamente, mas já a partir da função left a coisa começou a desandar. chega uma parte em que são declaradas variáveis do tipo ulong e o autor não menciona de onde isso vem, ou eu não vi mesmo relendo vários vezes. o maior problemas mesmo é com variáveis date.

Consegui fazer o que queria depois de baixar umas udf’s e fuçar os seus fontes. basicamente usei apenas a “freeudf otimizada por paulo henrique albanez” (linque original) que baixei na comunidade-firebird.org.

Nesse arquivo zipado existem os arquivos ib_externals.pas e ibase.pas. neles estão as declarações e transformações necessárias para que você crie uma udf com certa facilidade, basta coloca-los na seção uses da sua unit.

As variáveis contendo texto deverão ser tratadas com pchar, as datas como pisc_quad, as inteiras como integer mesmo, mas deverão ser declaradas com var.

Na unit da dll, no delphi:

uses
SysUtils, Classes,
ib_externals, ibase, { deve estar no search path ou no diretório, do projeto (dll)}
{$IFDEF WIN32}
Windows;
{$ELSE}
Types;
{$ENDIF}

//*** variáveis contendo datas ***
function fUltDia(ib_date: PISC_QUAD) :PISC_QUAD; cdecl; export;

//*** variáveis contendo textos e valores inteiros ***
function fLength(sz: PChar): Integer; cdecl; export;

implementation

Declaração da udf no banco de dados:

declare external function udf_ultdia
Date
returns Date
entry_point ‘fUltDia’ module_name ‘gsibfuncoes’;

declare external function udf_Length
cstring(32767)
returns integer by value
entry_point ‘fLength’ module_name ‘gsibfuncoes’;

DLL que fiz
Outras UDF’s

RxLib e QuickReport para o Delphi 2007

Depois de muito procurar, tá aí:

RxLib 2.7.7 (sourceforge.net)

Instalando: após deszipar, observe que tem o arquivo install_eng.txt.

  1. No Delphi, vá no menu Tools > Options…
  2. Acesse na árvore, Environment Options > Delphi Options > Library – Win32;
  3. Em Library path, clique no botão com os 3 pontos…
  4. Na janela que abrirá, ponha o caminho das units (ex: c:\delphi\rxlib-2.7.7\packages\delphi2007). Depois clique em Add;
  5. Agora abra o arquivo Rxlib.groupproj e compile-o, Project > Compile all projects;
  6. Abra o Project Manager, View > Project Manager, clique com o direito no arquivo e depois em Install, faça isso em:
    • dclrxbd100.bpl
    • dclrx100.bpl
    • dclrxdb100.bpl

QuickReport Professional 4.07

Aí está o instalador, ele vai pôr os arquivos do QuickReport na pasta \Arquivos de programas\CodeGear\RAD Studio\5.0\QuickRep. Agora é só entrar no Delphi e instalar.

  1. No Delphi, vá no menu Tools > Options…
  2. Acesse na árvore, Environment Options > Delphi Options > Library – Win32;
  3. Em Library path, clique no botão com os 3 pontos…
  4. Na janela que abrirá, ponha o caminho das units. $(BDS)\QuickRep. Depois clique em Add;
  5. No menu Component > Install Packages…
  6. Clique no botão Add…
  7. Selecione QR4DesignD2007.bpl, está na pasta que falei acima.

observação: o arquivo QR4RunD2007.bpl não precisa ser instalado.

Essa versão vem com uns componentes para exportação. Entre outros formatos, exporta para PDF, XML e XLS (excel).

downloads:
onde peguei
mediafire
rapidshare
badongo