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 06-09-2007
ale_metall ale_metall is offline
Miembro
 
Registrado: sep 2007
Posts: 53
Poder: 17
ale_metall Va por buen camino
busquedas con codigo delphi

Hola amigos, solicito la ayuda de ustedes, estoy haciendo una aplcacion que maneja clientes y quiero hacer una busqueda por dni o apellido, en la que tengo un edit, para el dato buscado y un dbgrid. Necesito que este me muestre los datos que se asemejen a los ingresados en el edit. Pero el roblema es que quiero hacerlo para que me vaya mostrando a medida q voy tipeando eL dato a buscar y no cuando presiono un boton de "buscar", por lo que no se como hacerlo, no me sirve un table1.findkey o findnearest??? lo se hacer con esto pero necesito de un boton y en este caso no lo quiero!!

desde ya muchas gracias...

saludos
Responder Con Cita
  #2  
Antiguo 06-09-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Código Delphi [-]
procedure TfrmBuscar.edtBuscarKeyDown(Sender: TObject; var Key: Word;
  Shift: TShiftState);
begin
   if not dxgbuscar.DataSource.dataset.locate('CampoABuscar',edtBuscar.Text,[loCaseInsensitive, loPartialKey]) then begin
     //ShowMessage('No se encuentran registros');
   end; //fin if not
   if key=VK_Return then dxgbuscar.setfocus;
end;
__________________

Responder Con Cita
  #3  
Antiguo 07-09-2007
ale_metall ale_metall is offline
Miembro
 
Registrado: sep 2007
Posts: 53
Poder: 17
ale_metall Va por buen camino
OK, pero donde lo llamo a ese procedimineto? No lo entiendo demasiado, pero lo queiro probar!!!
Responder Con Cita
  #4  
Antiguo 07-09-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Hola ale_metall

lo que te dice contraveneno en el código que puso es que tienes que poner esto

Código Delphi [-]
if not dxgbuscar.DataSource.dataset.locate('CampoABuscar',edtBuscar.Text,[loCaseInsensitive, loPartialKey]) then begin
     //ShowMessage('No se encuentran registros');
   end; //fin if not
   if key=VK_Return then dxgbuscar.setfocus;

en el evento KeyPress de Edit (para el ejemplo llamado edtBuscar

espero que te sirva...
__________________
BlueSteel
Responder Con Cita
  #5  
Antiguo 07-09-2007
ale_metall ale_metall is offline
Miembro
 
Registrado: sep 2007
Posts: 53
Poder: 17
ale_metall Va por buen camino
error

aun no pude probarlo, cuando compilo me da un error en la siguiente linea:

if key=VK_Return then Dbgrid1.setfocus;

el error es de tipos incompatibles,

molesto de nuevo porque desconosco gran parte del codigo y no me doy cuenta del error!!

gracias... y perdon por molestar tanto!!!
Responder Con Cita
  #6  
Antiguo 07-09-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Vamos a ampliar un poco la descripción de mi amigo BlueSteel.

Solo voy a pedir un pequeño favor, hay que leer el código, no solo copiar y pegar.

Si te fijas, en la primer línea dice:
Código Delphi [-]
procedure TfrmBuscar.edtBuscarKeyDown(Sender: TObject; var Key: Word;  Shift: TShiftState);
Esto te indica, que se trata del evento "OnKeyDown" del control llamado "edtBuscar". El cuál tiene el prefijo "edt" indicando que es un TEdit.

Por lo tanto, cada que presiones una letra de este control, se ejecutará la instrucción "locate" que es la que se encarga de buscar en el TDBGrid (que en mi ejemplo, el dbgrid se llama "dxgBuscar")

Ya mas claro no puedo.

P.D. Al DBgrid no le puse dbgBuscar porque no es un DBGrid Normal... es un componente eXterno, pero igual y eso no interesa para este caso.
__________________

Responder Con Cita
  #7  
Antiguo 07-09-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
Cita:
Empezado por ale_metall Ver Mensaje
aun no pude probarlo, cuando compilo me da un error en la siguiente linea:

if key=VK_Return then Dbgrid1.setfocus;

el error es de tipos incompatibles,
¿Seguro que lo pusiste en el evento "OnKeyDown"?

Si lo pusiste en el evento KeyPress, la cosa es distinta y te marcaría ese error...

Lo otro puede ser que no tengas la unidad donde estan definidos los "Virtual-Key Codes" que es donde se encuentra el "VK_Return" pero al ser esta la unidad de windows, no creo que ese sea el problema...
__________________

Responder Con Cita
  #8  
Antiguo 07-09-2007
Avatar de BlueSteel
[BlueSteel] BlueSteel is offline
Miembro Premium
 
Registrado: may 2003
Ubicación: Concepción - Chile
Posts: 2.310
Poder: 24
BlueSteel Va por buen camino
Cita:
Empezado por ContraVeneno Ver Mensaje
Esto te indica, que se trata del evento "OnKeyDown" del control llamado "edtBuscar".
suata... se me le fue ese detalle.. acostumbrado a poner todo en el onkeypress...

PS: Muy buena explicación...
__________________
BlueSteel
Responder Con Cita
  #9  
Antiguo 07-09-2007
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 24
ContraVeneno Va por buen camino
¡changos!, no me había fijado que dijiste "OnkEyPress"

Este..ahem... es en el "OnKeyDown"
__________________

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
ANN: AnyNET-Delphi: Herramienta para generar codigo fuente Delphi desde :NET mamcx Noticias 7 21-05-2007 02:12:36
Cabeceras en el código de Delphi. metalfox6383 Varios 3 06-07-2006 06:18:34
ó Código BAT o con Delphi Deiv Varios 8 12-06-2006 00:35:50
de codigo VB a codigo Delphi ingel Impresión 2 20-07-2004 14:15:44
codigo sql en delphi azaagh SQL 4 11-06-2004 18:15:55


La franja horaria es GMT +2. Ahora son las 14:08:07.


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