![]() |
Crear una clase y asignar objetos como propiedades
Hola Amigos. Felices Pascuas para todos.
Trabajo con Delphi 7 y MySQL 5.0 con componentes dbExpress. Estoy tratando de hacer una clase llamada "Buscador", les cuento de qué se trata con un ejemplo: Tengo un formulario que muestra en un DBGrid una lista de clientes, (ClientDataSet1) ordenados por nombre, al abrirse el formulario tengo el siguiente código; ClientDataSet1.IndexName := 'oNom'; También tengo en el formulario un TEdit, llamado txtBuscador, en cuyo evento OnChange tengo el siguiente código: ClientDataSet1.FindKey([txtBuscador.Text]); Y todo funciona perfecto, a medida que el usuario va ingresando el nombre del cliente, éste aparece seleccionado en la grilla. Lo que quiero es hacer una clase "Buscador", en la que pueda asignarle: * El ClientDataSet en que tiene que buscar el dato ingresado. * El índice por el cuál tiene que buscar. * El tratamiento que hay que darle al texto ingresado, por ejemplo, si voy a buscar por código, el texto a buscar sería StrToInt(TextoABuscar). Ya estuve haciendo varias clases simples, pero acá me surge la duda sobre qué tipo de propiedades utilizar, y una vez resuelto el tema, cómo hago para ejecutar el FindKey. Resumiendo, la pregunta es: ¿Cómo lo hago? Desde ya les agradezco su tiempo!!! |
Dale una visual a este hilo Allí se habla de como construir las sqls, para según qué tipo de campo, integer, string, etc. ( Mira a partir del mensaje nº 10)
Saludos |
Gracias Lepe por tu respuesta (te lo agradezo un poco tarde, :)). Gracias a la info pude solucionar uno de los temas.
Ahora lo único que me queda por resolver es cómo le indico al "Buscador" en qué DataSet tiene que buscar la info. Saludos para todos. |
Si quieres hacerlo en tiempo de ejecución es lo más fácil:
Lo dejas preparado así, y después puedes asignar el dataset y ejecutar la busqueda:
La rutina EjecutarBusqueda mirará en la variable BuscarEn y accederá a los campos de ese TDataset (que puede ser un TTable, Tquery, etc); Saludos |
Gracias Lepe !!!!
Anduvo todo perfecto. |
La franja horaria es GMT +2. Ahora son las 08:06:45. |
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