PDA

Ver la Versión Completa : como utilizar algo que no existe


principiante22
08-07-2007, 01:52:50
Estoy creando algunos labels y edits y un boton mediante codigo, mi pregunta es, como puedo llamar a un coton que todavia no existe, por ejemplo



procedure form1.Button1Click(Sender: TObject);
var
nombre: Tlabel;
edic: Tedit;
boton:Tbutton;
numero, bla, toc, lef, editlef: integer;
begin
bla:=0;
toc:= 90;
lef:= 16;
editlef:=92;
numero:=strtoint(edit2.Text);
for i:= 1 to numero do
begin
bla:=bla+1;
toc:=toc+26;
nombre:=Tlabel.Create(self);
nombre.Parent := Self;
nombre.Caption := 'Accion #' + inttostr(bla);
nombre.top:=toc;
nombre.left:=lef;

edic:=Tedit.Create(self);
edic.Parent := Self;
edic.text := '';
edic.name:='edica' + inttostr(bla);
edic.top:=toc;
edic.left:=editlef;


como podria poner esos edits y labels invisibles con otro boton???

courtois
08-07-2007, 07:55:49
cambia el ambito de tus variables, ahora son locales, hazlas publicas

principiante22
08-07-2007, 20:50:00
Pero eso me funcionaria solo si estuviera creando 1 edit y 1 label, pero la cantidad de labels y de edits la escoge el usuario. Oh como se podria poner una cantidad desconocidas de variables publicas ????

Delphius
08-07-2007, 21:11:20
Una vez creados y dispuestos. Puedes valerte de ComponentCount y FindComponent() para ocultarlos.

En este momento no tengo Delphi. Pero creo que es posible conseguirlo de esta manera: ir recorriendo en el array de componentes y poniendo en visible los indicados.

Saludos,

principiante22
08-07-2007, 22:42:19
Gracias por la ayuda delphius me sirvio de maravilla el FindComponent.

courtois
09-07-2007, 06:39:36
Oh como se podria poner una cantidad desconocidas de variables publicas ????
con un arreglo dinámico de componentes

Delphius
09-07-2007, 06:47:05
con un arreglo dinámico de componentes
Puede ser, ¿pero para que declarar un array dinámico si ya la misma forma dispone de uno?

Form1.Components[]

Y para acceder a este se puede emplear FinComponent, ComponentCount.
Saludos,