Delphi - VALORES AMPERSOM (&)

 
Vista:

VALORES AMPERSOM (&)

Publicado por ITALO PERRETTI MELLA (4 intervenciones) el 21/08/2000 00:00:00
¿cómo podré rescatar el valor que trae una variable, cuyo nombre lo he formado via programa?
Me explico, en una forma tengo "n" variables tipo Edit, cuyos nombres son: dato1, dato2...DATOn
Por código hago una rutina dentro de un for de 1 a "n" Y FORMO EL NOMBRE DE LA VARIABLE:

XXX := ´DATO´ + INTTOSTR(i)

con esto rescato el nombre; ¿Cómo rescato el Valor que trae xxx?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:VALORES AMPERSOM (&)

Publicado por Antonio M. Estévez (8 intervenciones) el 21/08/2000 00:00:00
procedure TForm1.GetEdit(Index: Integer);
begin
Result:= FindComponent(´DATO´+IntToStr(Index)) as TEdit;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VALORES AMPERSOM (&)

Publicado por Antonio M. Estévez (8 intervenciones) el 21/08/2000 00:00:00
Perdón, pero el mensaje anterior no es correcto del todo. Prueba lo siguiente

function TForm1.GetEdit(Index: Integer): TEdit;
begin
Result:= FindComponent(´DATO´+IntToStr(Index)) as TEdit;
end;
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:VALORES AMPERSOM (&)

Publicado por Armando Rodriguez (17 intervenciones) el 23/08/2000 00:00:00
Hola Italo:
Si entiendo tu pregunta ya que programo tambien en clipper, creo que esta es
la solucion que estas buscando.
A veces nos interesaría acceder a los componentes a través de un bucle
For...Next. Por ejemplo,
Button[i].caption:=´hola´. Hay quien prefiere hacerlo creando array de
controles. Esta bien, pero te obliga a
programarlo todo. En este ejemplo, cambiaremos los captions de 5 botones con
un bucle.

Pon 5 TButtons en tu form, Button1...Button5
Pon este código en el OnCLick del Button1:

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 5 do
TButton( FindComponent(´Button´+IntToStr(i)) ).Caption:=´Hola´;
end;

Otra manera:

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 5 do
(FindComponent(´Button´+IntToStr(i)) as TButton).Caption:=´Hola´;
end;

Si los componentes estuvieran en otra form, por ejemplo en la form2:

procedure TForm1.Button1Click(Sender: TObject);
var
i:integer;
begin
for i:=1 to 5 do
(Form2.FindComponent(´Button´+IntToStr(i)) as TButton).Caption:=´Hola´;
end;

Espero que sigamos en contacto, te agradecería si me podes enviar alguna
ayuda o tutoría sobre Aplicaciones Cliente/Servidor en Delphi ya que estoy
incursionando en el tema...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar