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 23-11-2011
lucas05 lucas05 is offline
Miembro
 
Registrado: ago 2010
Posts: 116
Poder: 14
lucas05 Va por buen camino
Busqueda incremental en un Edit

Hola estoy usando Delphi 7 y MySQL. Quería saber como hacer una búsqueda incremental, como la de los buscadores de Internet. Mi intención es que mientras escriba dentro de un Edit, abajo de este aparezcan las distintas opciones, luego presionar Enter y que la opción elegida pase a una grilla.

Muchas Gracias.
Responder Con Cita
  #2  
Antiguo 23-11-2011
Avatar de microbiano
microbiano microbiano is offline
Miembro
 
Registrado: sep 2008
Ubicación: Mexico D.F
Posts: 349
Poder: 16
microbiano Va por buen camino
en la parte inferior de este hilo tiens muchos enlaces
Responder Con Cita
  #3  
Antiguo 23-11-2011
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola.

Creo que vas a lograr un efecto similar a lo que buscas usando un TComboBox con su propiedad Style = csSimple:
Código Delphi [-]
...
implementation
CONST
  CBOX_HEIGHT = 21;

procedure TForm1.FormCreate(Sender: TObject);
begin
  with ComboBox1 do
  begin
    Style:= csSimple;
    CharCase:= ecUpperCase;
    Text:= '';
    Height:= CBOX_HEIGHT;
  end;
end;

procedure TForm1.ComboBox1Change(Sender: TObject);
begin
  with TComboBox(Sender) do
  begin
    if Text > '' then
    begin
      Query.Close;
      Query.SQL.Clear;
      Query.SQL.Add('SELECT CAMPO FROM TABLA');
      Query.SQL.Add('WHERE CAMPO LIKE UPPER(:VALOR)');
      Query.ParamByName('VALOR').AsString:= ComboBox1.Text+'%';
      Query.Open;
      while not Query.Eof do
      begin
        if Items.IndexOf(Query.FieldByName('CAMPO').AsString) = -1 then
          ComboBox1.Items.Add(Query.FieldByName('CAMPO').AsString);
        Query.Next;
      end;
      Height:= DropDownCount * CBOX_HEIGHT;
    end
    else
    begin
      Clear;
      Height:= CBOX_HEIGHT;
    end;
  end;
end;

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 24-11-2011
lucas05 lucas05 is offline
Miembro
 
Registrado: ago 2010
Posts: 116
Poder: 14
lucas05 Va por buen camino
Gracias ecfisa por la ayuda.
Responder Con Cita
  #5  
Antiguo 07-05-2012
dekorone16 dekorone16 is offline
Registrado
NULL
 
Registrado: abr 2012
Posts: 9
Poder: 0
dekorone16 Va por buen camino
Aque te refieres cuando pones VALOR ?????????
Responder Con Cita
  #6  
Antiguo 07-05-2012
dekorone16 dekorone16 is offline
Registrado
NULL
 
Registrado: abr 2012
Posts: 9
Poder: 0
dekorone16 Va por buen camino
Ya puede resolver, VALOR es una propiedad del combobox, otra pregunta, como puedo hacer para que al momento que encuentre un resultado y al darle click o enter se desaparezca la ventanita?????????????????
Responder Con Cita
  #7  
Antiguo 07-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
Empezado por dekorone16 Ver Mensaje
Aque te refieres cuando pones VALOR ?????????
Hola dekorone16.

VALOR es el nombre del parámetro que se le envia a la consulta SQL. Dentro de la consulta y para que pueda ser reconocido como parametro siempre debe ir precedido de dos puntos ( : ).

Por ejemplo si tomando en cuenta el código anterior hicieramos:
Código Delphi [-]
   ShowQuery.ParamByName('VALOR').AsString:= 'PER'+'%';
La consulta que se efectuaría sería:
Código SQL [-]
SELECT CAMPO FROM TABLA
WHERE CAMPO LIKE UPPER('PER%')
Mostrando aquellos campos que comienzan por PER y por haber usado la función UPPER también per, Per, pER, etc.

Saludos.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 07-05-2012 a las 21:36:57.
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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
busqueda incremental lucas05 Varios 15 23-08-2010 20:21:04
Busqueda incremental con ComboBox Lenny Varios 2 18-05-2010 01:02:34
busqueda incremental con mysql schaka SQL 2 09-02-2008 04:56:06
Consulta Busqueda Incremental Gustavo Gowdak SQL 1 13-12-2004 09:27:08
busqueda incremental con ado slat Conexión con bases de datos 1 11-07-2004 18:32:52


La franja horaria es GMT +2. Ahora son las 05:02:06.


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