![]() |
Funcion para leer compomentes
Buenas dilferos.
¿ Existe alguna funcion, procedimiento... que pueda leer todos los nombres de los compomentes visuales que existan en un From? Gracias. |
Hola, mira a ver si esto es lo que necesitas.
Código:
procedure TForm1.Button1Click(Sender: TObject); |
Gracias me sirve, pero como puedo leer dentro de ese componente sus propiedades como por ejemplo Height.
Lo que estoy intentando hacer es una funcion donde lo se paso los nombres de los componentes visuales y el me pueda leer y cambiar algunas propiedades. Lo hago para cuando se cambia la resolucion poder adaptar el from a el (No encuentro un procedimiento ya realizado para que al cambiar la resolucion o las dimensiones del from en tiempo de ejecucion pueda adaptarlo automaticamente). Gracias. |
Hola de nuevo.
A ver si esto te sirviera: Código:
procedure TForm1.Button1Click(Sender: TObject); Saludos |
Cita:
Mejor de esta forma: Si el "Edit1" es una TLabel, por ejemplo, se produciría un error "gordo". No sé si todo el mundo nombra los componentes según su clase, pero es más seguro la opción que he citado, creo. |
Cita:
:rolleyes: |
Cita:
¿Cómo sabes que Edit1 es un TEdit? Y si en lugar de Edit1 lo has nombrado: CodigoDelCliente ¿cómo sabes de qué clase es? Incluso lo más habitual: edCodigoCliente, lbCodigoCliente, etc. ¿cómo sabes que el primero es un TEdit y el segundo un TLabel? Y lo mismo para otros prefijos edtCodCli, lblCodCli, etc. No existe un método fijo para nombrar los componentes, y por su nombre es imposible saber de qué tipo es. Aunque lo mismo tengo la cabeza en otro sitio (que la tengo) y no me he dado cuenta de lo que dices :rolleyes: |
Cita:
Hombre.... si yo que estoy creando un formulario incluyo un Edit al que llamo Edit1 ¿sé que es un edit? :confused::confused: |
Tal y como lo plantea Casimiro, yo lo veo como mejor opción... Más abstracto, más genérico. más elegante, trasladable, reaprovechable, etc...
Por que si no no hace falta hacer un bucle que se recorra todos los objetos... con hacer n llamadas a FindComponent('Editn').With := x; ya estaría... Código:
procedure TForm1.Button1Click(Sender: TObject); |
Cita:
|
Cheeeeeeeeeeeeeeeeeeeeeeeee.... pues si que estoy tonto.
Si sabes el nombre del componente lo atacas directamente. :o |
Cita:
Cualquier día le cambias el nombre por cualquier motivo y deja de funcionar. Pero, bueno, para un caso puntual como este puede servir perfectamente. |
Cita:
|
La franja horaria es GMT +2. Ahora son las 10:36:43. |
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