Mostrando las entradas con la etiqueta record. Mostrar todas las entradas
Mostrando las entradas con la etiqueta record. Mostrar todas las entradas

sábado, 3 de febrero de 2007

Operaciones con registros

Para la asignación de registros es compatible en los siguientes casos:
  • Los registros tienen que ser de tipo idéntico
  • Un registros es un alias del otro
  • Los registros comparten la misma definición
  • Los registros están formados por componentes asignables
A su vez son registros que no se puden asignar los siguientes:
  • No pueden ser archivos o ficheros
  • No pueden estar formados por registros restringidos
  • No admiten los enlazables

Registros (record)

Un registro o record sirve para agrupar distinto tipo de datos pero que deben estar juntos. Por ejemplo los datos de una persona, nombre, edad, fecha nacimiento, sexo, etc.

Es necesario acceder de forma aleatoria a los campos de un registro, pero no puede ser calculado porque los campos pueden tener distinto tamaño, por lo que se crea un SELECTOR DE CAMPO o identificador. Se pueden realizar registros anidados.
Ejemplo de registro o record en pascal:
type
tFecha = record
dia: 1..31;
mes: 1..12;
año: 1..2100;
end;
Un registro puede tener varias variantes con un campo discriminante siempre presente, el cual elige una variante o otra según se indique. En el caso de ser boolean se elige la que sea true.
El campo discriminante tiene que ser de tipo ordinal, no puede ser anónimo y no enlazable.

Alguno de los campos de alguna variante puede ser un registro, el cual puede tener una parte variante también, etc.

Un error muy común es intentar acceder a un comapo de una variante no activa, porque en ese caso esa variante no existe.