Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Lazarus, FreePascal, Kylix, etc. (https://www.clubdelphi.com/foros/forumdisplay.php?f=14)
-   -   Record y una enorme duda (https://www.clubdelphi.com/foros/showthread.php?t=78915)

noshy 25-05-2012 02:50:29

Record y una enorme duda
 
Hola gente como estan, les planteo mi problema sin solucion.

En primer lugar, estoy desarrollando en Lazarus 0.9.30.2 y tengo un Record de esta manera:

Código Delphi [-]
  TDatosPueblo = record
    ed_1: Integer;
    ed_2: Integer;
    ed_3: Integer;
    ed_4: Integer;
    ed_5: Integer;
  end;

...

VPueblos: TDatosPueblo;

Luego quiero recorrer los datos con un bucle (ya que no son 5 sino son mas de 100)

Código Delphi [-]
for i := 1 to 5 do
begin
   VPueblos.ed_"i" := 0;
end;

El problema es que no se como concatenar el nombre de la variable "ed_" con el numero que esta en la variable "i", ya que si fuera el nombre de un componente lo concateno como un string y lo utilizaria de esta manera TLabel(findcomponent('ed_'+inttostr(i))).caption por ejemplo, pero como es el nombre de una variable de un record no se como hacerlo.

Espero ser claro en el problema, y ojala consiga una solucion.

Saludos a todos.

ecfisa 25-05-2012 03:01:48

Hola noshy.

No lo veo posible ya que los identificadores tales como nombres de variables y constantes son convertidos a direcciones de memoria por el compilador.

Pero quizá te pueda servir reorganizar el registro de este modo:
Código Delphi [-]
type
  TDatosPueblo = record
    ed_: array[1..5] of Integer;
    ...
  end;

var
  VDatosPueblo: TDatosPueblo;

...
begin
  for i:= 1 to 5 do
    VDatosPueblo.ed_[i]:= 0;

Saludos.

noshy 25-05-2012 03:05:25

Gracias ecfisa, me solucionaste el problema.

muchas gracias


La franja horaria es GMT +2. Ahora son las 02:53:26.

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