• Jueves 14 de Noviembre de 2024, 08:16

Autor Tema:  Posicionarse En Una Archivo  (Leído 1921 veces)

dyanna

  • Miembro activo
  • **
  • Mensajes: 40
  • Nacionalidad: co
    • Ver Perfil
Posicionarse En Una Archivo
« en: Miércoles 14 de Enero de 2004, 17:07 »
0
Hola!!  
De antemano gracias por la ayuda que me puedan prestar... sigo trabajando con archivos planos.. pero ahora mi duda es la siguiente..  Debo calcular el numero de lineas que tiene el archivo asi que lo hago con un ciclo:

lineas:=0;
  while not eof (ArchivoTemp) do begin
     readln (ArchivoTemp);
     lineas:=lineas+1;
  end;
Esto lo hago porque con el numero de lineas del archivo le asigno el tamaño a una matriz.. bien ahora necesito volver a recorrer el archivo para leer la información así que debo posicionarme al comienzo del archivo nuevamente.. entonces coloco:
Seek(ArchivoTemp,0);
pero me sale un error que dice:
 [Error] Unit2.pas(132): Incompatible types
y ya no se que pueda ser..
Podría alguien ayudarme con ello??..
Mil gracias.. Bye...

BlackTigerX

  • Miembro activo
  • **
  • Mensajes: 92
    • Ver Perfil
Re: Posicionarse En Una Archivo
« Respuesta #1 en: Viernes 16 de Enero de 2004, 00:37 »
0
el procedimiento Seek, no creo que se pueda usar con archivos de texto, es mas bien para archivos tipeados o no tipeados (aunque se oiga raro, no tipeado seria F:File;, tipeado seria F:File of Byte), pero no para archivos de texto... el caso es que, la solucion talvez seria cerrar y volver a abrir el archivo, es la desventaja de los archivos de texto, son secuenciales y no te puedes mover de arriba a abajo

salu2
BlackTigerX

dyanna

  • Miembro activo
  • **
  • Mensajes: 40
  • Nacionalidad: co
    • Ver Perfil
Re: Posicionarse En Una Archivo
« Respuesta #2 en: Viernes 16 de Enero de 2004, 15:07 »
0
Muchas Gracias por tu ayuda, la verdad no tenía ni idea que la función Seek no se pudiera utilizar en archivos de Texto...  Lo arreglé así como me sugeriste cerrando el archivo y volviendolo a abrir....
Gracias nuevamente...

baygon

  • Nuevo Miembro
  • *
  • Mensajes: 3
    • Ver Perfil
Re: Posicionarse En Una Archivo
« Respuesta #3 en: Lunes 2 de Febrero de 2004, 01:14 »
0
Aunque la funcion seek no sirve para archivos de texto alguna vez la podes
necesitar, y cos estas llamando a la incorrecta. Esto se hace de esta manera:


system.Seek(ArchivoTemp,0);

o

FileSeek(ArchivoTemp,0);

y lo mismo para assign(FileAssign), open(FileOpen), etc, ya que la vcl tiene funciones con estos nombres.