Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > Lazarus, FreePascal, Kylix, etc.
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-05-2012
Avatar de noshy
noshy noshy is offline
Miembro
 
Registrado: jul 2003
Posts: 131
Poder: 15
noshy Va por buen camino
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.
__________________
\_--> NoShY <--_/
Responder Con Cita
  #2  
Antiguo 25-05-2012
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 9.870
Poder: 27
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
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.
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #3  
Antiguo 25-05-2012
Avatar de noshy
noshy noshy is offline
Miembro
 
Registrado: jul 2003
Posts: 131
Poder: 15
noshy Va por buen camino
Gracias ecfisa, me solucionaste el problema.

muchas gracias
__________________
\_--> NoShY <--_/
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Duda con Record o Array Paulao Varios 2 23-08-2008 16:11:42
record jocey Varios 3 06-05-2008 00:38:02
Fichero de Texto Enorme muli Varios 8 19-02-2008 03:23:35
No current Record TheRafa Conexión con bases de datos 0 23-08-2005 11:15:48
¿Temporal enorme en QuickReport??!!! Diegoval Impresión 12 27-05-2004 14:25:42


La franja horaria es GMT +2. Ahora son las 11:10:25.


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