Pascal/Turbo Pascal - abrir un archivo

 
Vista:

abrir un archivo

Publicado por John (3 intervenciones) el 07/09/2006 14:49:10
nececitaria saber es que hay q hacer para abrir un archivo en pascal eh buscado informacion y me an llebado a q
append
rewrite
reset
pero al copilar el programa no se abre el archivo.
gracias
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:abrir un archivo

Publicado por Carlos Guimaraenz (2 intervenciones) el 08/09/2006 02:59:42
Hola John! Lo que debes hacer es, antes que nada, asignar a una variable del tipo de archivo que manejes su correspondiente nombre físico en disco...

Los archivos pueden ser File, File of TIPO_DATO (que puede ser un tipo predefinido o definido por el usuario), o Text... por ahi olvido alguno...

Supongamos que declaramos un tipo registro:

TYPE
TPersona = record
nombre : string;
edad : byte;
end;

{y ahora declaramos el tipo de archivo}
TArchivo = File of TPersona;

A continuación te muestro un código que guarda 10 registros en el archivo:

VAR
arch : TArchivo; {declaro la variable del tipo TArchivo recién definido}
i : 1..10;
persona : TPersona;
BEGIN
{puedes poner cualquier extensión, e incluso obviarla}
Assign( arch, 'C:\personas.dat' );
ReWrite( arch ); {creamos el archivo si no existe, sino lo reescribimos}
for i:=1 to 10 do
begin
Write( 'Nombre: ' ); Readln( persona.nombre );
Write( 'Edad: '); Readln( persona.edad );
Write( arch, persona ); {guardamos el registro en el archivo}
end;
Close( arch );
END.

Los métodos que te serán de utilidad son:

ASSIGN ( NombreLogico, NombreFisico);
{fundamental para poder trabajar con archivos}

REWRITE ( NombreLogico ); {lo crea si no existe, sino lo reescribe}

RESET ( NombreLogico, [Tamaño] ); {sitúa el puntero en el primer registro del archivo. Si definimos el valor de Tamaño (opcional) el tamaño de los registros leídos será de dicho valor. Cuando abrimos un archivo de algun tipo, como por ejemplo nuestro registro, Tamaño traerá por defecto el tamaño del registro TPersona}

APPEND ( NombreLogico );
{abre un archivo de texto para escritura, sitúa el puntero al final}

SEEK ( NombreLogico, Posicion );
{sitúa el puntero en la posición indicada por Posicion, teniendo en cuenta siempre que comienza con el índice 0}

CLOSE ( NombreLogico ); {cierra el archivo}

WRITE, WRITELN, READ, READLN ( NombreLogico, Variable );
{estas instrucciones, pasándole como primer parámetro el nombre lógico del archivo, efectuan lo mismo que en pantalla pero en el archivo... WriteLn y ReadLn se utilizan para archivos de texto... para otros archivos no hacen falta ya que al ejecutar la instrucción, el puntero avanza una posición automáticamente. Variable debe ser del tipo de datos del que se declaró al archivo}

FILEPOS ( NombreLogico ); {devuelve la posición donde está situado el puntero del archivo pasado como parámetro}

FILESIZE ( NombreLogico ); {devuelve el tamaño, o la cantidad actual de registros en el archivo}

Posiblemente me esté olvidando de alguno, pero éstos te servirán para manejarte sin problemas... En la ayuda del Turbo Pascal, si entiendes inglés, encontrarás más ayuda, y seguramente en Internet hay muchos tutoriales acerca del tema. Un abrazo!
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