Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Array de TEdit (https://www.clubdelphi.com/foros/showthread.php?t=4530)

tarco35 19-10-2003 13:34:02

Array de TEdit
 
Necesitaria porder crear en tiempo real un array del componente TEdit (por ejemplo) y despues situarlos en pantalla donde quisiera con la propiedad:
Array[xx] TEdit.Left := .-.......

la dimension maxima del array la tengo fijada en una constante pero no siempre en el mismo caso deben de aparecer todas lineas de lectura.... una veces el array tendrá 2 TEdit y otras 7 y otras 5.. etc.

Al igual puede pasar con una array de CheckButons , etc...

Alguien me puede ayudar un poquito...
gracias.:confused:

CarlosV 20-10-2003 14:15:14

Hola prueba con esto:


- la definición
aEdit:Array of TEdit;


- Asignarle tamaño en tiempo de ejecución:
setlength(aEdit,<Longitud que desees>);

esto lo puedes hacer tantas veces como necesites ampliar el array. Los datos que ya tengas almacenados no desaparecen.


- Para tratar sus propiedades

TEdit(aEdit[<posicion>]).left:=.......

Esto lo puedes hacer con Edit,CheckButons, etc.


Un saludo

CVB

CarlosV 20-10-2003 15:45:01

Se me olvidaba
para crear y asignar:

setlength(aEdit,length(aEdit)+1 );
aEdit[length(aEdit)-1]:=TEdit.Create(<Owner donde quieres situar el componente, Ej Panel, Grupbox, etc>);

el índice [length(aEdit)-1] te lo pongo como ejemplo, lo normal es que tengas un contador numérico que te indique la posición que quieres tratar.

Acuerdate que después de crear, asignar a cada elemento el parent ej: aEdit[elemento].parent:=Panel ó GroupBox, etc;

Un saludo

CVB

__cadetill 20-10-2003 17:51:43

Sólo un comentario a la buena explicación

Cita:

Posteado originalmente por CarlosV
TEdit(aEdit[<posicion>]).left:=.......
Este casteo no es necesario, puedes acceder directamente ya que el array es de tipo TEdit

Código:

aEdit[<posicion>].left:=.......

CarlosV 21-10-2003 09:23:52

Cierto, se me fue la cabeza por otro tema que estoy haciendo en el que no conozco los tipos de antemano. Gracias por la corrección.



Un saludo

CVB


La franja horaria es GMT +2. Ahora son las 08:06:13.

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