Ficheros con registros
Publicado por Fernando (3 intervenciones) el 01/02/2002 18:51:29
Buenas.
Tengo un programa de agenda, en el cual se pueden añadir registros para almacenar una nueva información sobre una persona (nombre, apellidos, dirección...). Para ello, he definido un tipo en la sección type. Se llama reg, es de tipo record y está compuesto de los siguiente campos:
Nombre: string[50];
Type
Reg = Record
Apellidos: string [75];
Dirección: string [50];
Telefono: integer;
Movil: integer;
Email: string [75];
End;
También he creado un array, llamado ficha, que está compuesto de 50 registros del tipo "reg":
Var
Ficha: array [1..50] of reg;
Luego, en el apartado de variables, creé un fichero llamado fichero de tipo ficha:
Var
Fichero:File of Ficha;
El problema es que a la hora de leer los datos, en algunos no da opción a que el usuario introduzca valor alguno. El código es el siguiente:
Procedure AnadirDatos;
Var
Regi:Reg;
Begin
Write ('Nombre: ');
Read (Regi.Nombre);
Write ('Apellidos: ');
Read (Regi.Apellidos); {Este campo no lo pide y salta directamente a pedir el siguiente}
Write ('Dirección: ');
Read (Regi.Direccion); {Este campo no lo pide y salta directamente a pedir el siguiente}
Write ('Teléfono: ');
Read (Regi.Telefono);
Write ('Móvil: ');
Read (Regi.Movil);
Write ('Email: ');
Read (Regi.Email);
Tengo un programa de agenda, en el cual se pueden añadir registros para almacenar una nueva información sobre una persona (nombre, apellidos, dirección...). Para ello, he definido un tipo en la sección type. Se llama reg, es de tipo record y está compuesto de los siguiente campos:
Nombre: string[50];
Type
Reg = Record
Apellidos: string [75];
Dirección: string [50];
Telefono: integer;
Movil: integer;
Email: string [75];
End;
También he creado un array, llamado ficha, que está compuesto de 50 registros del tipo "reg":
Var
Ficha: array [1..50] of reg;
Luego, en el apartado de variables, creé un fichero llamado fichero de tipo ficha:
Var
Fichero:File of Ficha;
El problema es que a la hora de leer los datos, en algunos no da opción a que el usuario introduzca valor alguno. El código es el siguiente:
Procedure AnadirDatos;
Var
Regi:Reg;
Begin
Write ('Nombre: ');
Read (Regi.Nombre);
Write ('Apellidos: ');
Read (Regi.Apellidos); {Este campo no lo pide y salta directamente a pedir el siguiente}
Write ('Dirección: ');
Read (Regi.Direccion); {Este campo no lo pide y salta directamente a pedir el siguiente}
Write ('Teléfono: ');
Read (Regi.Telefono);
Write ('Móvil: ');
Read (Regi.Movil);
Write ('Email: ');
Read (Regi.Email);
Valora esta pregunta


0