Página 1 de 1

Cancelar Comando SET FILTER..Tem Como?

Enviado: 21 Nov 2006 15:23
por scom
Ola amigos...

é o sequinte estou usando SET FILTER TO para filtar ums dados em um DBF e gostaria de saber se tem como CANCELAR a Filtragem tipo o apertar o ESC e o FILTER PARAR.


Atenciosamente
ROBSON

Enviado: 21 Nov 2006 15:53
por MARCELOG
Utilize uma "hot key" ou crie uma função que faça a desativação com o pressionamento de determinada tecla.

Se preferir comandos

SET FILTER TO //sem argumentos desabilita o filtro

ou função

DBSETFILTER() //sem argumentos desabilita o filtro

Ex:

IF LASTKEY() == K_ESC
SET FILTER TO // ou função ou chamada a outra função
ENDIF

SETKEY(K_ESC,{||DBSETFILTER()})

MarceloG

Enviado: 21 Nov 2006 17:10
por scom
SIM...MAS EU QUERIA É QUANDO ESTIVER FILTRANDO E TECLAR ESC PARAR O FILTRO....PORQUE AS VEZES ESTOU FILTRANDO E QUERO PARAR PARA FAZER OUTRA COISA...ENTENDEU...

ATENCIOSAMENTE
ROBSON

Enviado: 21 Nov 2006 17:49
por kiko
vc precisa fazer isso onde? na sua aplicacao ou em algum outro programa externo?!?!?

nos de mais detalhes sobre o q exatamente vc precisa pra chegarmos numa solucao juntos......

Enviado: 22 Nov 2006 17:03
por supgaroto
Use o INDEX ao inves de SET FILTER.
Muito + rápido...

Ex:
Em um bando de dados de clientes quero selecionar os clientes bloqueados.

select 1
use clientes shared Alias dbcli
index on codigo tag exemplo to arqtmp for bloqueio=="S"

***
Se for um banco de dados muito grande vc pode usar tb o WILHE no lugar no FOR.

Ex:
Selecionando os cliente da cidade de ARINOS:
vc cria este indice no inicio do programa.

select 1
use clientes shared Alias dbcli
if !file("clientes.cdx") // Verifica se existe o arquivo clientes.cdx
index on cidade tag cidade to clientes
index on codigo tag codigo to clientes
index on nome tag nome to clientes
set index to clientes
endif
dbsetoder("cidade") // ordena por cidade
dbseek("ARINOS") // localiza o primeiro cliente da cidade de Arinos.
index on codigo tag exemplo to arqtmp wilhe(Cidade=="ARINOS") // repete a pesquisa selecionando os clientes da cidade de arinos.

Espero ter ajudado!!!

Enviado: 23 Nov 2006 14:30
por Mário Isa
Alguém disse:

Se preferir comandos
SET FILTER TO //sem argumentos desabilita o filtro
ou função
DBSETFILTER() //sem argumentos desabilita o filtro


O SET FILTER TO // sem argumentos desabilita o filtro
mas o DBSETFILTER() não desabilita.

O DBSETFILTER() é uma função que retorna uma string que é a condição do filtro. Ex.:

use alguem
set filter to codigo = 1
? dbsefilter() // e o resultado será
"codigo = "1""

Mário

Enviado: 23 Nov 2006 14:31
por Mário Isa
Em tempo:

A outra função que desabilita o filtro é:

DBCLEARFILTER()

Mário

Enviado: 23 Nov 2006 14:38
por vagucs
Enfim, é DESABILITAR ou CANCELAR?

cancelar o set filter...

Enviado: 01 Dez 2006 08:37
por scom
entao eu queria e parar ele antes de terminar de filtrar....tipo o cliente ta fazendo o filter mas quer teclar esc e parar.


nao sei se tem como....acho que nao...mas...

Enviado: 01 Dez 2006 09:50
por vagucs
Nao tem como. so se fizer um friltro "manual" onde vc mesmo coleta as informações, ai dá para parar, mas o set filter nao tem tal funcionalidade.

OBRIGADO...

Enviado: 04 Dez 2006 11:55
por scom
OLA WAGNER...MUITO OBRIGADO PELA ATENÇAO...

VOU FAZER UM TEMPORARIO...OK

ABRAÇO

ROBSON