• Domingo 22 de Diciembre de 2024, 16:08

Autor Tema:  Ayuda Con Archivos, Nada Dificil  (Leído 1866 veces)

KidD

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Ayuda Con Archivos, Nada Dificil
« en: Domingo 25 de Abril de 2004, 00:12 »
0
Bueno mi problema es que me tira:
error 100: Disk read Error en la linea read(db_socios,socio); que está casi al final.
y otra cosa, como hago para que me guarde los registros en forma de renglones?
porque haciendo wirteln(db_socios,socio) me tira "invalid filetype"

Gracias por todo y espero que me puedan ayudar
Saludos
Pablo
Código: Text
  1.  
  2. program prueba;
  3.  
  4. uses
  5.     crt,strings,dos;
  6.  
  7. type
  8.     socios = record
  9.     id_socio : word;
  10.     nombre : string[50];
  11.     apellido : string[50];
  12.     direccion : string [50];
  13.     telefono : string [14];
  14.     pedidos : word;
  15.     estado : boolean;
  16. end;
  17.  
  18. type
  19.     libros = record
  20.     id_libro : word;
  21.     nombre : string[80];
  22.     autor_nom : string[50];
  23.     autor_ape : string[50];
  24.     peticiones : word;
  25.     catidad : byte;
  26.     disponibles : byte;
  27. end;
  28.  
  29. type
  30.     prestamos = record
  31.     id_prestamo : word;
  32.     id_libro : word;
  33.     id_socio : word;
  34.     fecha_ret : datetime;
  35.     fecha_dev : datetime;
  36. end;
  37.  
  38. var
  39.    db_socios : file of socios;
  40.    socio,socio2 : socios;
  41.  
  42. begin
  43.      clrscr;
  44.      assign(db_socios,'c:\db_socios.txt');
  45.      rewrite(db_socios);
  46.      socio.id_socio := 1;
  47.      socio.nombre := 'Pedro';
  48.      socio.apellido := 'Caracciolo';
  49.      socio.direccion := 'Amenabar 881';
  50.      socio.telefono := '(011) 4784-0236';
  51.      socio.pedidos := 100;
  52.      socio.estado := FALSE;
  53.      write(db_socios,socio);
  54.      writeln;
  55.  
  56.      socio.id_socio := 2;
  57.      socio.nombre := 'PePona';
  58.      socio.apellido := 'Caracciolo';
  59.      socio.direccion := 'Amenabar 881';
  60.      socio.telefono := '(011) 4784-0236';
  61.      socio.pedidos := 100;
  62.      socio.estado := FALSE;
  63.      write(db_socios,socio);
  64.      {writeln(db_socios,socio);}
  65.     
  66.      read(db_socios,socio2);
  67.      writeln(socio2.id_socio);
  68.      writeln(socio2.nombre);
  69.      writeln(socio2.apellido);
  70.      writeln(socio2.direccion);
  71.      writeln(socio2.telefono);
  72.      writeln(socio2.pedidos);
  73.      writeln(socio2.estado);
  74.      close(db_socios);
  75. end.
  76.  
  77.  

KidD

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Ayuda Con Archivos, Nada Dificil
« Respuesta #1 en: Domingo 25 de Abril de 2004, 00:22 »
0
el tema del read lo arregle  me habia olvidado de poner reset(db_socios);
pero el tema del writeln, no lo logre sacar

deldar

  • Miembro activo
  • **
  • Mensajes: 93
    • Ver Perfil
Re: Ayuda Con Archivos, Nada Dificil
« Respuesta #2 en: Lunes 26 de Abril de 2004, 01:13 »
0
El tema del writeln esta en que la forma demarcar fin de registro en un txt es con los caracteres "#10"+"#13"  (quizas sean al contrario: #13 #10). Pero por lo que veo tu fichero no es txt, al menos en formato
Citar
db_socios : file of socios
que biene a ser lo importante, lo que tienes ahora mismo es un fichero de datos (.dat). En estos fichero no puedes guardar como renglones, dado que guardas registros enteros y estos no tienen porque organizarse omo renglones.
Quien de verdad sabe de qué habla, no encuentra razones para levantar la voz.

KidD

  • Nuevo Miembro
  • *
  • Mensajes: 20
    • Ver Perfil
Re: Ayuda Con Archivos, Nada Dificil
« Respuesta #3 en: Viernes 30 de Abril de 2004, 03:53 »
0
Muchas gracias, igualemten ya me habia dado cuetna  :P lo que pasa que no habi postaeado la solucion porque no tuve tiempo. mi problme era en ese momento era como pasr de registro
 y lo solucione con el seek
 lo que pasa es que tengo un quiombo de funciones y lenguajes en la cabeza y bu e pascal no lo tocaba hacia tres años se me mezclaron un poco las ideas
hasta que me acorde eso que dijiste que existian los archivos text  :P

Gracias de todos modos
Saludo.
pablo