Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Usar objetos con variables. (https://www.clubdelphi.com/foros/showthread.php?t=83081)

jularaXD 09-05-2013 13:53:42

Usar objetos con variables.
 
Buenas gente!

Querria saber si hay alguna manera para usar objetos con variables o con matrices. Me explico mejor con este ejemplo:

Código:

procedure holamundo;
var
boton:string;
begin
boton:=button1;
if boton.caption=('hola') then begin
boton.caption:=('adios');
end
else begin
boton.caption:=('hola');
end;
end;

o
Código:

procedure holamundo;
begin
matriz[1,1]:=button1;
if matriz[1,1].caption=('hola') then begin
matriz[1,1].caption:=('adios');
end
else begin
matriz[1,1].caption:=('hola');
end;
end;

Estoy (o al menos intento) haciendo un parchis para aprender a usar delphi, y me gustaria tener una matriz con el nombre de todas las fichas y asi poder manipular varias fichas a la vez con un bucle, sin tener que estar escribiendo las propiedades ficha por ficha.

saludos y gracias de antemano

Neftali [Germán.Estévez] 09-05-2013 14:48:20

Por partes....

Código Delphi [-]
procedure holamundo;
var
  boton:string;
begin
  boton:=button1;
  if boton.caption=('hola') then begin 
    boton.caption:=('adios');
  end
  else begin
    boton.caption:=('hola');
  end;
end;

La idea es buena y el código debería funcionar salvo por un detalle; Estás asignando un botón (TButton) a otra cosa que es un tipo String (boton).

Define la variable boton como TButton y prueba.

Código Delphi [-]
var
  boton:TButton;
...

Para una matriz igual, puedes definir una matriz de enteros, de strings o de Tbutton.

jularaXD 13-05-2013 21:41:35

Ei, muchas gracias!! Me funcionó perfectamente :)

Una pregunta mas, hay alguna manera de hacer algun tipo de StrToTbutton?

Gracias!

Neftali [Germán.Estévez] 14-05-2013 11:06:20

Directamente no.
Debes utilizar la función FindComponent. Si buscas en los foros sobre esta función encontrarás muchos ejemplos (en la ayuda de Delphi también).


La franja horaria es GMT +2. Ahora son las 02:18:33.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi