![]() |
reusar un mismo form
Hola Amigos del foro tengo esta duda, sucede lo siguiente tengo esto:
***FTramite(form)*** SpeedButton1...10 DBEdits1...10 ***FBuscarPed(form)*** DBGrid1 BitButton1 Bitbutton2 hasta ahora supongo que van entendiendo, quisiera reusar el form FBuscarPed por cada SpeedButton que hay en FTramite. por ejemplo: en el SpeedButton1 abre el form FBuscarPed y el codigo del BitButton1 es el siguiente:
aqui esta el asunto como hago que en cada SpeedButton cuando abre el mismo form FBuscarPed el codigo varie? por ejemplo: SpeedButton2.FBuscarPed.Show el bitbutton1 del FBuscarPed cambie de codigo asi:
en vez del primer codigo y asi sucesivamente, no se si me hice entender, solo que quiero evitar tener que hacer el form FBuscarPed 10 veces, supongo que se hace con la sentencia CASE, espero que hayan podido entender lo que trato de hacer. Saludos. |
Busqueda de Componentes por nombre
Una forma sencilla de realizar los es utilizando el método FindComponent del formulario para buscar Dinamicamente el que corresponde a cada botón, como necesitas diferenciar cuales son el conjunto de componentes asociados a cada boton utiliza la propiedad tag del boton como indice.
Ejemplo: Código:
procedure TForm1.Button1Click(Sender: TObject); |
Gracias rcubillos por tu respuesta pero no me llego a funcionar lo tengo asi:
y me sale el siguiente error: Cita:
Saludos... |
|
Hola dec y rcubillos lo he puesto asi:
pero sucede que me sale este error aque se debe?: Cita:
|
Estás haciendo mal las cosas...
La función FindComponent te devuelve un objeto de tipo TComponent. Este objeto lo tienes que "convertir" en un TEdit para poder asignar bien el valor:
Con el ejemplo anterior, a cada TBitBtn de tu forma debes asignarle su propiedad Tag de tal forma que el que quieras que llene los TDBEdits con terminación 1 tenga como valor 1... Saludos... |
Gracias maeyanes por tu respuesta, pero debido a mi ignorancia al no saber nada sobre los Tags y debido tambien a que el codigo que me sugeriste tampoco me funciono, decidi usar las sentencias if...then.else de esta manera:
les agradezco a todos por sus respuestas y tambien recibo criticas y mejoras del actual codigo.. gracias Saludos |
Mmm... criticas... si puede ser... creo q la forma q decidiste utilizar no es la mas eficiente, puesto q te podrias ahorrar lineas de codigo utilizando las formas presentadas anteriormente en las respuestas...
Pero bueno... queda a criterio tuyo, te recomendaria seguir intentando hacerlo como te dijeron para de paso darte la oportunidad de aprender... En cuanto al codigo q elegiste... una recomendacion... no es q este escrito en algun libro, simplemente yo lo considero mejor... Cuando se trata de comparar cadenas de texto, es conveniente quitar espacios al principio de la cadena y pasar todo el texto a mayúsculas, para de esa forma poder comparar mejor dos cadenas... En este caso no se de q depende el texto del Label3 pero si este depende del usuario, el mismo debera ingresar el texto exactamente como tu se lo asignas a primero y segundo. Esto te recomiendo q cambies en tu codigo:
{Saludos} |
La franja horaria es GMT +2. Ahora son las 05:51:39. |
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