[Lazarus-es] estructura para guardar datos de dif tipo
German
german_morre en yahoo.com.ar
Sab Ene 5 22:28:26 CET 2013
El 05/01/2013 05:07 p.m., Paola Bruccoleri escribió:
> Hola todos..
>
> necesito ir guardando en algún lugar ciertos datos para luego
> procesarlos. Son los datos para imprimir X cant de comprobantes, q de
> antemano no se cuántos comprobantes son son.
>
> Había pensado en definir un tipo record:
>
> TComprobante = record
> tipocomp: string;
> fecha: TDate;
> idpropietario : integer;
> nombre : string;
> direccion : string;
> identificacion : string;
> importe : double;
> iva: double;
> detalle: string;
> end;
>
> y varias variables de ese tipo.
> retencion: TComprobante;
> ....
>
> Ahora.. puede ser que algunas variables no se inicialicen porque no
> hay comprobante asociado.
>
> La forma que tengo de saber si la variable record es vacía es
> preguntando por cq de los campos? o sea:
> if retencion.tipocomp <> ''
> imprimir comprobante...
>
> ¿se les ocurre otra forma mejor de hacer esto?
>
> Si usara otro lenguaje (harbour x ej), definiría un array
> multidimensional dinámico... en 1 renglón tengo todo pronto.. pero acá
> veo que el array debe tener todos los elementos del mismo tipo, y no
> es el caso.
>
> muchas gracias!
>
Hola
Aca podes hacer lo mismo, un array dinamico de registros, vas agregando
registros uno a uno y luego solo recorres el array desde el primer hasta
el ultimo elemento.
Por ejemplo, podrias definirias tu arraglo como: aComprobantes: array of
TComprobante;
le das tamaño 0 al principio -> setlength(aComprobantes, 0);
y luego vas agregando elementos: setlength(aComprobantes,
length(aComprobantes)+1);
y vas cargando datos - > aComprobantes[length(aComprobantes)-1].fecha :=
date();
luego para recorrer el array podes usar un for de 0 a length(aComprobante)-1
Espero se entienda mi explicacion.
Saludos!
>
> _______________________________________________
> Lazarus-es mailing list
> Lazarus-es en lists.lazarus.freepascal.org
> http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus-es
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://lists.lazarus-ide.org/pipermail/lazarus-es/attachments/20130105/498a0669/attachment-0002.html>
More information about the Lazarus-es
mailing list