Pascal/Turbo Pascal - Ficheros con registros

 
Vista:

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);
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ficheros con registros

Publicado por Roberto Garcia (128 intervenciones) el 01/02/2002 20:33:20
Usa readln en vez del read una instruccion antes de leer los string y si todavia no funciona usa tambien readln para leer los string.

Procedure AnadirDatos;

Var

Regi:Reg;

Begin

Write ('Nombre: ');

Readln (Regi.Nombre); {readln en vez de read}

Write ('Apellidos: ');

Readln (Regi.Apellidos); {si aun no leee usa readln tambien}

Write ('Dirección: ');

Readln (Regi.Direccion); {si no funciona usa readln}

Write ('Teléfono: ');

Read (Regi.Telefono);

Write ('Móvil: ');

Read (Regi.Movil);

Write ('Email: ');

Read (Regi.Email);
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Ficheros con registros

Publicado por Fernando (3 intervenciones) el 01/02/2002 23:07:57
Saludos.
Muchas gracias. Me ha servido, ya que ahora lee todos los campos.

Muchas gracias nuevamente y saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar