FTP | CCD | Buscar | Trucos | Trabajo | Foros |
#1
|
||||
|
||||
Busqueda Winamp
Saludos a Tod@s,
Como puedo hacer una busqueda tipo winamp, rápida, eficiente y que ocupe poca memoria? Que componente utilizaron o que instruccion? |
#2
|
||||
|
||||
una solucion
la verdad que no se como lo harán en el winamp, pero una solcuion que te puedo dar, es que cuando hagan clic en el boton de busqueda, o presionen la "j", como se hace en el winamp, se carguen todos los nombres de archivos (no la ruta completa), en una base de datos, y dsp podes usar un componente que en estos momentos no me acuerdo como se llama para buscarlo, es algo asi como un edit. Digamos que despues cuando se elija el archivo te tiene que devolver el valor de la posicion que ocupa en la lista original, y dsp simplemente posicionar ahi el tema y que empiece a reproducir. Se entiende??? Si necesitas que sea mas claro decime y te ayudo. Esta es la solucion que se me ocurre.
|
#3
|
||||
|
||||
Gracias por tu respuesta, pero...
Me refiero a la pantalla que sale en Winamp cuando presionamos "J" (Jump to File). Esta hace un filtro muy eficiente, sin importar que las palabras esten en orden o no. Ej: Quiero buscar la musica de Alejandro Sanz - Amiga Mia. puedo digitar en esa pantalla "Mia Sanz" ó "Amiga Alej" y me filtra perfectamente, puedo poner "Sanz alejandro" y hace un filtro de toda la lista que tengo de ese artista. Que instruccion usaron?? (SQL??? LIKE %..% ) Entiendes?? |
#4
|
||||
|
||||
La clausula LIKE es la solucion basica que todos usan. Te puede funcionar asi que intentalo. Otra opcion es usar SOUNDEX (si lo soporta nativamente tu BD).
Para hacerlo RAPIDO usa una HashTable+SOUNDEX y te deberia resultar bueno el resultado...(sino estoy mal en Delphi la hashtable se llama buckettable?) Ahora, este tipo de cosas se hacen con un componente de busqueda de texto completa, y TAL VEZ winamp use algun componente de estos. De hecho estoy trabajando en un proyecto para hacer una libreria de estas, pero lastima que esta en ALPHA y todavia no se puede usar .
__________________
El malabarista. |
#5
|
||||
|
||||
Cita:
Pero no se absolutamente nada de Hastable Soundex y Buckettable!! Donde puedo buscar mas informacion de ellos, para saber. |
#7
|
||||
|
||||
Mira en las ayudas sobre
Soundex TBucketList La idea es que usas BucketList para almacenar cada palabra y SOundex para hacer comparaciones... Quiero decir, en vez de algo directo como: if 'Ejemplo' in ListaString Es if Bucket('Ejemplo') in Soundex(ListaString) PD: Obvio que esa sintaxis me la invente
__________________
El malabarista. |
#8
|
||||
|
||||
Solucionado
Saludos.
Creo haber encontrado la solucion. Me he empe~ado un poco en eso hasta conseguirlo. Le mostrare el codigo para que el que le interese y para optimizar el mismo. Estoy habierto a sugerencias Este formulario contiene: 1 edit, 1 dbgrid y 1 query
Hasta Luego
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! Última edición por vtdeleon fecha: 19-05-2005 a las 22:24:05. Razón: Aclarar un poco & corregir |
#9
|
||||
|
||||
vtdeleon
gracias por el aporte lo estoy checando nomas unas preguntas. si no es mucha molestia "cadena" es
las valiables "nkey" "condi" "ParamByNAme" esta no creo que sea variable pero tambien me marca error "prepare" todas esas me marcan "undeclared indetifier" saludos gracias |
#10
|
||||
|
||||
Cita:
condi es String ParamByName viene referenciado del Query1 prepare es un metodo del Query1
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#11
|
||||
|
||||
esta linea me marcava error en "ParamByName"
entonses le puse "parameters"
ahora me marco error en el "AsString" se lo cambie por "value"
"prepare" me seguia marcando error creo que es "prepared"
pues lo cambie por "prepared" no se si este bien pero el error se quito nkey y condi lo puse variables locales ya todo esto lo corri y se me traba probe muchos mesajes para sever donde esta el erro y el en el open del query una sentencia sql a de estar mal hecha =S bueno gracias ati si te fuenciona tal y como esta? o tengo que poner otras cosas que no se muestran en el codigo puesto saludos |
#12
|
||||
|
||||
Cita:
Cita:
Cita:
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#14
|
||||
|
||||
ah se me paso comentar
si me puede esplicar que hacen esa sentencias sql
como no conosco FireBird. si ,me puede esplicar ala mejor las puedo pasar a ms sql server " "containing" que es? saludos |
#15
|
||||
|
||||
Saludos
Esa sentencia concatena los campos. Para no tener dos campos divido, decidi unirlos con ||, le agregue otro de esos para el espacio ya que si no lo hago Código:
Tabla original ================ nombre apellido Alberto Gonzalez Casimiro Boneti Maria Perez ********************** Resultado Empleados Alberto Gonzalez Casimiro Boneti Maria Perez ************ Un solo campo
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#16
|
||||
|
||||
Saludos
Cita:
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! Última edición por vtdeleon fecha: 31-08-2005 a las 18:24:44. |
#17
|
||||
|
||||
hola de nuevo
al ir borrando lo que escribiste caracter por caracter te lo actualiza? por que como lo pase el ms sql. me pasa eso no me va actualizando al ir quitando caracter por caracter. saludos gracias |
#18
|
||||
|
||||
Saludos
Dices qeu no actualiza al pulsar caracter por caracter? Es extra~o ya qe el codigo esta puesto en el evento OnKeyUp del Edit de busqueda. Revisa bien tu codigo
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! |
#19
|
||||
|
||||
todo funciona bien
al ir pulsando caractec x caracter te va mostrando el filtro actulizando nomas pregunto si al hacerlo al reves ir quitando "vk_back" caracter X caracter se va filtrando actualizando. para saber si el codigo original lo hace, para saber yo si lo pase mal el codigo o es algo que le falta, para buscarle: ya que por ejemplo: busco , computadora me va a rojar toas la palabras con computadora emtonses si le voy quintado un caracter "computador" el filtro no se me regresar a computador se queda en "computadora" asi susesivamente saludos espero haver sido claro =P |
#20
|
||||
|
||||
Saludos
hmm, no se si entendi bien.(faltan comas y puntos en algunas oraciones) Chequea bien tu codigo y/o BD, ya que me funciona a la perfeccion. Por cada pulsacion de uno de estas teclas Va filtrando* *Me gustaria que hubiera alguna opinion sobre el codigo planteado, ya que no es muy practico porque (en red) carga mucho y a medida qeu se encuentren mas registro, mas lentoe es.
__________________
Van Troi De León (Not) Guía, Code vB:=Delphi-SQL, ¿Cómo? Viajar en el tiempo no es teóricamente posible, pues si lo fuera, ya estarían aqui contándonos al respecto! Última edición por vtdeleon fecha: 31-08-2005 a las 19:24:52. |
Herramientas | Buscar en Tema |
Desplegado | |
|
|
|