Acceso a los campos de un registro
Se puede acceder a cada campo de un registro directamente utilizando un designador o selector de campo de la forma:
NombreReg.NombreCampo
Los datos mostrados anteriormente en Empleado mediante una secuencia de sentencias de asignación:
Empleado.Nombre := `Chi-ki-tico´;
Empleado.Edad := 34;
Empleado.Domicilio := `Calle El Último Grito´;
Empleado.Salario := 245320;
Una vez que los datos están almacenados en un registro, se pueden manipular de igual forma que otros datos en memoria.
Write (Empleado.Nombre); (* Visualiza Chi-ki-tico *)
Operaciones sobre registros
Los procedimientos de lectura y escritura permiten únicamente números caracteres o cadenas. Un registro al ser una estructura compuesta (distintos tipos de datos) es preciso efectuar las operaciones de lectura y escritura individualmente.
Otra operación que se puede realizar entre registros es la asignación (copia del contenido de un registro en otro del mismo tipo). Si A y D son variables registro del mismo tipo, la sentencia:
A := D
copia todos los valores asociados con el registro D al registro A.
Ejemplo:
Type
Stock = record
Numeros : Integer;
Nombre : String[20];
Precio : Real;
end;
Var
Articulo : Stock
La sentencia WITH
La tarea de escribir el selector de campo completo cada vez que se referencia un campo de un registro es tediosa, sobre todo si el números es grande. La sentencia WITH permite referenciar el nombre del registro en su cabecera y posteriormente para llamar a algún campo sólo se necesita el nombre del campo y no el selector de campo completo, con el nombre del registro (por ejemplo, Edad en vez de Cliente.Edad).
Curso Linux básico-medio Nivel certificación, 12 pagos y beca 50% alumnos y profesores
Sintaxis:
With Camporegistro do
Begin
(* Sentencias que hacen referencia a campos de Camporegistro *)
End;
Camporegistro: Nombre o nombres de registros.
Sentencias: Relacionadas con los campos.
Ejemplo:
Program Ejemplo;
Type
Empleado = record
Nombre : String [20];
Edad : Integer;
Empresa : String [30];
End;
Var
Socio : Empleado;
Deducciones : Real;
Begin
With Socio do
Begin
Readln (Nombre);
Neto := Salario - Deducciones;
Writeln (Empresa);
End;
End.
No hay comentarios:
Publicar un comentario