chcFilter Components
(TchcSQLFilter*, TchcIBOFilter**, TchcIBDFilter**)

* versão para a BDE
** versão específica para o Interbase Objects

Nova Versão 2.5 !

Uma nova versão do chcFilter acaba de ser lançada ! O Upgrade para aqueles que registraram as versões anteriores é totalmente grátis !

A nova versão contém várias correções de bugs e um novo recurso que possibilita a setagem de parâmetros SQL através da tela de filtragem ! A relação completa das alterações pode ser conferida na sessão HISTORY do arquivo Readme.

Descrição

Os componentes chcFilter permitem que os usuários de aplicativos desenvolvidos em Delphi alterem a cláusula WHERE de um componente TQuery (e derivados) através de uma maneira fácil, intuitiva e visual ! Assim o usuário pode "filtrar" os dados com base em condições que ele mesmo define em tempo real de execução. Os componentes suportados atualmente são o TQuery e todos os seus descendentes (incluindo o TwwQuery da biblioteca Infopower) bem como o TIBO_Query e o TIBOQuery, específicos da biblioteca Interbase Objects (by Jason Wharton).

O processo de definição do filtro é feito de maneira VISUAL, tornando possível o seu uso por qualquer usuário final, mesmo os que não tenham noção de programação. Os componentes oferecem uma lista de operadores que podem ser usados para formar as sentenças do filtro, entre eles os operadores básicos (=, <, >, <>, >=, <=) e também operadores específicos para servidores SQL de última geração (Starting With, Contains, etc..).

Para aumentar ainda mais as opções de filtragem, o usuário pode agrupar sentenças utilizando parênteses para obter condições como como :

(cad.nome > 'C' E ((cad.cidade = 'Campinas') OU (cad.cidade = 'Sao Paulo')))

O componente utiliza todas as tabelas usadas no SQL, permitindo também a filtragem com base em campos que não estão selecionados na cláusula SELECT do SQL.

Além da definição do critério de seleção dos registros (cláusula WHERE), o usuário pode também alterar a ordem em que o resultado será exibido (cláusula ORDER BY). Para isso, basta que ele utilize o recurso de DRAG'N'DROP para montar a ordem em que os dados devem ser recuperados.

Após um filtro ser definido, ele pode ser gravado em um arquivo para que seja recuperado sempre que for necessário.

Os programadores tem total controle sobre o componente, através de uma tela de definição dos campos, onde ele pode selecionar quais campos estarão visíveis para o usuário, a ordem em que serão apresentados no combo, a descrição do campo no filtro, etc...

Para aqueles que querem praticidade e flexibilidade e não desejam utilizar a tela de definição dos campos, o componente pode automaticamente recuperar as propriedades e definições padrões dos campos e usa-las na configuração do filtro. Portanto, para um rápido começo, basta voce colocar um componente filtro em um form, liga-lo à um dataset e pronto, voce já pode utilizar o componente sem precisar configurar mais nada.

Atualmente o componente possui 2 arquivos de resource contendo as mensagens em Portugues e Ingles. Voce pode facilmente adaptar o filtro para outras linguagens apenas editando o arquivo de resource.

A partir da versão 2.0, o componente possibilita o uso de 3 tipos de componentes para a digitação de valores na tela de filtragem :

  1. Edit (o padrão utilizado na versão 1.0)
  2. DateTimePicker : para entrada de data/hora
  3. ComboBox : para seleção de valores pré-definidos na entrada de dados

A definição de qual componente será utilizado é feita na tela de definição de campos, que sofreu algumas alterações para acomodar esse novo recurso.

Quando for selecionado a opção ComboBox, o programador deverá fornecer o evento que será usado para preencher a lista de items mostrados na lista dropdown do Combo.

As versões disponíveis rodam no Delphi 5, 6 e 7.

Suporte

Os usuários registrados tem suporte grátis via Email e atualizações para sub-releases de graça (geralmente correções de bugs). Eu tentarei responder todas as perguntas o mais rápido possível, geralmente em algumas horas.

SQL Servers

O filtro foi desenvolvido e testando utilizando o Interbase como servidor de SQL. A versão BDE deve funcionar com qualquer servidor SQL suportado pela Borland Database Engine (entre eles as bases locais como Paradox e DBase). Se voce tiver algum problema com o componente e algum servidor SQL, reporte o problema para mim e tentarei resolve-lo o mais rápido possível.

Suporte, comentários, sugestões, dúvidas, etc... envie email para chcfilter@warmboot.com.br

Download Page (Versões DEMO)
Página de Registro

Revisões

Date History
06-14-2001 Nova versão 2.5 ! Além de diversas correções de bugs, um novo recurso foi implementado que permite a setagem de parâmetros SQL pela tela do filtro !
10-26-2000 New version available (2.0) ! Now you can choose between 3 diferent controls for typing the values used on the comparision : Edit, DateTimePicker and ComboBox.
08-18-2000 Changed the way that date fields are represented in the filter dialog box. Now date fields are displayed using the DateTimePicker component.
03-11-2000

- Made some code optimization to handle the scrollbox positioning when there is many filter lines in the form
- Added option to allow Descending ordering.
- Added file version when saving the filter... with this addition the filter will be able to read diferent version of saved filter files. Unfortunatelly previous saved files will not read and will have to be re-saved.
- Bug : The filter was erasing the Filter Description everytime the filter was run

02-24-2000 Bug :The filter was causing a AV when it was executed and no Dataset was defined
02-23-2000 Registered Pack released
02-14-2000 Version 1.0 Trial released to public (bug fixes and support for Delphi 5)
01-10-2000 Version 0.9 released to beta testers


Copyright (c) 2000 by WarmBoot Systems - Carlos H. Cantu - Back to Main Page