Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 31-08-2008
Avatar de jirbert
jirbert jirbert is offline
Miembro
 
Registrado: nov 2007
Ubicación: Valencia-Venezuela
Posts: 60
Poder: 17
jirbert Va por buen camino
Thumbs up

buenas noches como andan haciendo unas correciones a lo planteado por yusnerqui modifique el codigo a mi conveniencia haciendo los que buscaba irixita al igual que mi persona en un principio, haciendo la busqueda letra por letra y reflejandolo, pero le anexe que mientras el edit de busqueda este en blanco muestre todos los registros. aqui se los dejo a mi me funciono de maravilla!! ahora ando buscando como hacer que la busqueda sea indiferente a lo que ingrese es decir asi yo pise 'x' bien sea mayuscula o minuscula me registre todo lo que comience por dicha 'x'...
Código Delphi [-]
Var
Valor,Valor1 : String;
begin
     if Edit1.text = '' then
     begin
     Tabla.Filtered := false;
     exit;
     end;
         Tabla.Locate('campo', edit1.Text,[loPartialKey,loCaseInsensitive]);
         valor := Edit1.text;
         Valor1 := Valor;
         inc(valor1[length(Valor1)]);
         Tabla.Filter := 'campo >= '+QuotedStr(Valor)+ ' and campo < ' +QuotedStr(valor1);
         Tabla.Filtered := true;
          end;

sin mas nada que agregar saludos!!
__________________
Uso Delphi 6 y Tablas dBase IV...
Responder Con Cita
  #2  
Antiguo 01-09-2008
Avatar de yusnerqui
yusnerqui yusnerqui is offline
Miembro
 
Registrado: mar 2004
Ubicación: Cuba
Posts: 679
Poder: 21
yusnerqui Va por buen camino
Hola
Bueno en primer lugar no le veo sentido a esta línea:
Código Delphi [-]
  Tabla.Locate('campo', edit1.Text,[loPartialKey,loCaseInsensitive]);
estás haciendo una búsqueda y después un filtrado, es como trabajar dos veces , por otra parte, he probado el código y he comprobado que efectivamete es insencible a mayusculas y minúscula, es decir que es justo lo que buscas
__________________
Lo importante no es llegar primero, sino saber llegar.

Para que puedas llegar mejor lee la Guia de Estilo

Responder Con Cita
  #3  
Antiguo 12-09-2008
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is online now
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.324
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por edfz Ver Mensaje
Cómo puedo hacer para que al ir escribiendo en un edit, se vaya buscando la palabra en un dbgrid? Teniendo la grilla ya cargada.
En mi página web, en la sección de ejemplos, tienes uno titulado:
"Realizar búsqueda incremental y visualizarla sobre un DBGrid"

Creo que te puede servir, si no exactamente, al menos de Guía. Está con el código fuente, así que puedes descargarlo y mirartelo.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 08-11-2008
Lizette Lizette is offline
Miembro
 
Registrado: jun 2008
Posts: 98
Poder: 16
Lizette Va por buen camino
Hola, yo utilizo este codigo:

Var
Valor,Valor1 : String;
begin
if Edit1.text = '' then
begin
Tabla.Filtered := false;
exit;
end;
Tabla.Locate('campo', edit1.Text,[loPartialKey,loCaseInsensitive]);
valor := Edit1.text;
Valor1 := Valor;
inc(valor1[length(Valor1)]);
Tabla.Filter := 'campo >= '+QuotedStr(Valor)+ ' and campo < ' +QuotedStr(valor1);
Tabla.Filtered := true;
end;El problema, es que si tecleo una letra y no tengo ningun registro que coincida me pone en blanco el dbgrid, y quisiera que me diera un mensaje de que no se encontro, y que me borrara dicha letra del edit y me permitiera volver a teclear..

Otra cosa, es que si tecleo la primera letra, y la borro, me causa error, y quisiera que me permitiera dejar el edit en blanco y volver a teclear..
Responder Con Cita
  #5  
Antiguo 08-11-2008
Avatar de enecumene
[enecumene] enecumene is offline
Miembro de Oro
 
Registrado: may 2006
Ubicación: Santo Domingo, Rep. Dom.
Posts: 3.040
Poder: 22
enecumene Va por buen camino
Hola Lizette, me tomé la molestia de colocar tu código con las etiquetas Delphi, por favor úsalos :

Código Delphi [-]
Var
Valor,Valor1 : String;
begin
     if Edit1.text = '' then
     begin
     Tabla.Filtered := false;
     exit;
     end;
         Tabla.Locate('campo', edit1.Text,[loPartialKey,loCaseInsensitive]);
         valor := Edit1.text;
         Valor1 := Valor;
         inc(valor1[length(Valor1)]);
         Tabla.Filter := 'campo >= '+QuotedStr(Valor)+ ' and campo < ' +QuotedStr(valor1);
         Tabla.Filtered := true;
          end;

Saludos.
__________________

Mi BLOG - ¡Joder, leanse la guia de estilo!
Las Palabras son enanas, los ejemplos gigantes.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 08:34:31.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi