Asunto: Declarar array dentro de otro tipo record en Delphi
Estoy desarrollando una aplicación en Delphi de facturación y contabilidad, tengo varios arrays declarados así:
Código:
...
type
reParte = record
fecha : string;
numero : integer;
end;
type
reObrero = record
nombre : string;
horas : Double;
id : integer;
end;
var
formImportacionCSV: TformImportacionCSV;
implementation
uses UnidadDatos;
{$R *.dfm}
var
arrPartes : array [0..30] of reParte;
arrayObreros : array [0..2000] of reObrero;
Lo que quiero es declarar, si se puede, otro array dentro del de "arrayObreros" de tipo registro (record) con los valores "numFecha" (integer) y "horas" (Double). El array dentro del otro tendría un tipo record como este:
Código:
type
reHoras = record
numFecha : integer;
horas : Double;
end;
¿Es posible esto en Delphi o me tengo que buscar la vida con tablas temporales y demás?
Publicado:
Mar Ene 11, 2011 6:48 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Declarar array dentro de otro tipo record en Delphi
Anuncios
varios escribió:
Estoy desarrollando una aplicación en Delphi de facturación y contabilidad, tengo varios arrays declarados así:
Código:
...
type
reParte = record
fecha : string;
numero : integer;
end;
type
reObrero = record
nombre : string;
horas : Double;
id : integer;
end;
var
formImportacionCSV: TformImportacionCSV;
implementation
uses UnidadDatos;
{$R *.dfm}
var
arrPartes : array [0..30] of reParte;
arrayObreros : array [0..2000] of reObrero;
Lo que quiero es declarar, si se puede, otro array dentro del de "arrayObreros" de tipo registro (record) con los valores "numFecha" (integer) y "horas" (Double). El array dentro del otro tendría un tipo record como este:
Código:
type
reHoras = record
numFecha : integer;
horas : Double;
end;
¿Es posible esto en Delphi o me tengo que buscar la vida con tablas temporales y demás?
Sí es posible, te mostramos un ejemplo siguiendo tus indicaciones:
Código:
type
reParte = record
fecha : string;
numero : integer;
end;
type
reHoras = record
numFecha : integer;
horas : Double;
end;
type
reObrero = record
nombre : string;
horas : Double;
id : integer;
arrayHoras : array [0..30] of reHoras;
end;
var
formImportacionCSV: TformImportacionCSV;
implementation
uses UnidadDatos;
{$R *.dfm}
var
arrPartes : array [0..30] of reParte;
arrayObreros : array [0..2000] of reObrero;
Como ves, dentro del tipo record "reObrero" hemos declarado un elemento de tipo Array también de tipo record.
Publicado:
Mar Ene 11, 2011 7:03 am
varios Magnífico usuario
Registrado: Oct 10, 2006 Mensajes: 2092
Asunto: Re: Declarar array dentro de otro tipo record en Delphi
Anuncios
alonsojpd escribió:
Sí es posible, te mostramos un ejemplo siguiendo tus indicaciones:
Código:
type
reParte = record
fecha : string;
numero : integer;
end;
type
reHoras = record
numFecha : integer;
horas : Double;
end;
type
reObrero = record
nombre : string;
horas : Double;
id : integer;
arrayHoras : array [0..30] of reHoras;
end;
var
formImportacionCSV: TformImportacionCSV;
implementation
uses UnidadDatos;
{$R *.dfm}
var
arrPartes : array [0..30] of reParte;
arrayObreros : array [0..2000] of reObrero;
Como ves, dentro del tipo record "reObrero" hemos declarado un elemento de tipo Array también de tipo record.
Ok ¿cómo accedo a un elemento del array "arrayHoras"?
Publicado:
Mar Ene 11, 2011 7:06 am
alonsojpd Administrador/Moderador
Registrado: Sep 16, 2003 Mensajes: 2687
Asunto: Re: Declarar array dentro de otro tipo record en Delphi
Anuncios
varios escribió:
Ok ¿cómo accedo a un elemento del array "arrayHoras"?
Un ejemplo:
Código:
for i := 0 to numDias - 1 do
begin
for j := 0 to numObrerosCargar - 1 do
begin
tTablaDetalle.Insert;
tTablaDetalle.FieldByName('Fecha').AsString := arrPartes[i].fecha;
tTablaDetalle.FieldByName('Horas').AsFloat :=
arrayObreros[j].arrayHoras[i+1].horas;
tTablaDetalle.FieldByName('Nombre').AsString := arrayObreros[j].Nombre;
tTablaDetalle.FieldByName('IDObrero').AsInteger := arrayObreros[j].id;
tTablaDetalle.Post;
end;
end;
Puede publicar nuevos temas en este foro No puede responder a temas en este foro No puede editar sus mensajes en este foro No puede borrar sus mensajes en este foro No puede votar en encuestas en este foro
Visita nuestro nuevo sitio web con programas y contenidos actualizados: Proyecto A