![]() |
busqueda dentro de en un listbox
Hola ha todos.
quiera saber como realizar una busqueda de un monbre especifico dentro de todos los nombres que esten dentro de un listbox atraves de un edit, me explico, quisiera que cuando este digitando la primera letra del nombre a buscar dentro de un edit, en el listbox enfoque el primer nombre que empieze con dicha letra y cuando se digite la segunda letra enfoque el primer nombre que empieze con esas 2 primeras letras haci cada ves que digite la siguiente letra del nombre. pense utilizar for y pos(busqueda de una cadena dentro de otro cadena)buscar item por item desde el nombre que empieze con a hasta la z pero mi listbox tiene como 1000 nombres o mas y realizar esta busqueda desde la a hazta la z cada ves que digite una letra la verdad no se si abra otra manera mas sencilla. gracias a todos de ante mano.:) [IMG]file:///C:/WINDOWS/TEMP/moz-screenshot.jpg[/IMG][IMG]file:///C:/WINDOWS/TEMP/moz-screenshot-1.jpg[/IMG][IMG]file:///C:/WINDOWS/TEMP/moz-screenshot-2.jpg[/IMG][IMG]file:///C:/WINDOWS/TEMP/moz-screenshot-3.jpg[/IMG][IMG]file:///C:/WINDOWS/TEMP/moz-screenshot-4.jpg[/IMG][IMG]file:///C:/WINDOWS/TEMP/moz-screenshot-5.jpg[/IMG] |
Hola Max_E
Asi: CBFiltro es un combobox, en donde indico si es por nombre o apellido la busqueda, con solo poner la primera letra va filtrando hasta encontrar lo requerido. Saludos |
busqueda en un listbox (una ayuda mas)
hola:Gracias por ayudarme
El componente ATnombre no es un listbox, el listbox no tiene la propiedad filtered ni filter. podrias decirme que componente es y si es un listbox como activo esta propiedad por que no la tiene como predeterminada. gracias por tomarte el tiempo para responder.:) |
Hola
ATNombre en este caso es el nombre de la tabla o query que usas. Saludos |
aun mas ayuda
hola denuevo:
Hice la aplicación con la ayuda que me diste y utilice un Query que tiene su base de datos con datos de nombre, apellidos y área de trabajo, pero como muestro o enfoco los nombres en el listbox que se van filtrando mientras voy digitando el nombre en el edit. creo que esa seria la ultima ayuda (ojala) para cerrar el tema. gracias por tu tiempo en leer y contestar mis dudas. |
Hola Max_E
Aqui te envio un codigo para que busques en este caso Clientes, los nombres de las tablas por supuesto son los mios, tendras que poner los tuyos para que te funcione, pero el codigo funciona perfectamente y lo puedes aplicar si le pones un poco de atencion, es realmente facil. Como veras aqui se aplican varias cosas en el filtro, codigo, nombre, telefono. Yo no uso un listbox para esto, uso un dbgrid, ya que me da la informacion completa del cliente en este caso, no creo que tengas mas problemas de todos modos si necesitas algo me dices. Saludos |
ayuda en Busqueda en DBgrid
hola denuevo::)
he hecho esto Código Delphi [-]unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, DB, DBTables, Grids, DBGrids, StdCtrls; type TForm1 = class(TForm) Edit1: TEdit; ComboBox1: TComboBox; DBGrid1: TDBGrid; Query1: TQuery; DataSource1: TDataSource; procedure FormCreate(Sender: TObject); procedure Edit1Change(Sender: TObject); procedure FormDestroy(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin query1.Open; end; procedure TForm1.Edit1Change(Sender: TObject); var Filtro : String; begin If (Edit1.Text <> '') then begin Query1.Filtered := False; case combobox1.ItemIndex of 0:Filtro := 'Nombre Like '+Edit1.Text + '*'''; 1:Filtro := 'Codigo Like '+Edit1.Text + '*'''; end; Query1.Filter := Filtro; Query1.Filtered := True end else Query1.Filtered := False; end; procedure TForm1.FormDestroy(Sender: TObject); begin Query1.Close; end; end. 1º hice una table con campos Nombre y codigo nada mas, llenando nombres y codigos al asar (jose - 3411, luis - 3415,.......). 2º coloque en el SQL del query Select* from busqueda (busqueda es el nombre de la tabla de 2 campos) 3º al ejecutar el programa no me salen errores, pero al digitar 'j' en el edit me sale el error (Query1: Field 'j' not found) y logico no busca nada o algo parecido 4º no se :( como le hiciste o que es ATClientesCodCliente: TIntegerField; ATClientesNombreCliente: TWideStringField; en tus codigos quiza aqui este mi problema. podrias explicame donde esta mi gravisimo error Saludos y gracias por tu tiempo. |
ayuda en busqueda en DBgrid
hola denuevo::)
he hecho esto 1º hice una table con campos Nombre y codigo nada mas, llenando nombres y codigos al asar (jose - 3411, luis - 3415,.......). 2º coloque en el SQL del query Select* from busqueda (busqueda es el nombre de la tabla de 2 campos) 3º al ejecutar el programa no me salen errores, pero al digitar 'j' en el edit me sale el error (Query1: Field 'j' not found) y logico no busca nada o algo parecido 4º no se :( como le hiciste o que es ATClientesCodCliente: TIntegerField; ATClientesNombreCliente: TWideStringField; en tus codigos quiza aqui este mi problema. podrias explicame donde esta mi gravisimo error Saludos y gracias por tu tiempo. |
La franja horaria es GMT +2. Ahora son las 09:24:40. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi