PDA

Ver la Versión Completa : Record y una enorme duda


noshy
25-05-2012, 02:50:29
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:

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)

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:

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