Diego Hernández R. dhernand@inf.utfsm.cl Archivos Diego Hernández R. dhernand@inf.utfsm.cl
Hoy Archivos File Of Definir Variable assign Reset y Rewrite Read y Write Close Ejercicios
Archivos PENSAMIENTO LOGICO ALGORITMO VARIABLES PROGRAMA REGISTROS (Estructuras de Datos) ALMACENAMIENTO (Archivos)
File Of Sintaxis Type {Identificador_TD_Archivo}=File of {Tipo de Datos};
Definir Variable Var {Identificador_Archivo}:{Identificador_TD_Archivo}
assign Sintaxis Assign({Identificador_Archivo},’archivo.dat’);
Reset y Rewrite {Crear un archivo para escritura} Sintaxis Rewrite({Identificador_Archivo}); {Abrir un archivo para lectura} Reset({Identificador_Archivo});
Read y Write Sintaxis Read({Identificador_Archivo},{Variables}); Write({Identificador_Archivo},{Variables});
Close Sintaxis Close({Identificador_Archivo});
Ejemplo Program Archivos; Uses Crt; Type Informacion_Personal= Record Nombre:String[20]; Edad:Integer; Estado_Civil:String[12]; Direccion:String[30]; End; UTFSM=array[1..10] of Informacion_Personal; Archivo_numeros=File of Integer; Archivo_IP=File of Informacion_Personal; Var SIGA:UTFSM; i:Integer; A_numeros:Archivo_numeros; A_IP:Archivo_IP; a1,a2,a3,a4:integer; IP:Informacion_Personal;
Ejemplo Begin For i:=1 to 10 do assign(A_numeros,'numeros.dat'); begin SIGA[i].Nombre:=‘James the palots'; SIGA[i].Edad:=26; SIGA[i].Estado_Civil:='Soltero'; SIGA[i].Direccion:='Vina del Mar' end; writeln('Datos: ',SIGA[i].Nombre,' ',SIGA[i].Edad,' ',SIGA[i].Estado_Civil,' ',SIGA[i].Direccion); assign(A_numeros,'numeros.dat'); assign(A_IP,'IP.dat'); rewrite(A_numeros);{crear un archivo para escribir} rewrite(A_IP);{crear un archivo para escribir} write(A_numeros,1,2,3,4); write(A_IP,SIGA[1]); close(A_numeros); close(A_IP); assign(A_numeros,'numeros.dat'); assign(A_IP,'IP.dat'); reset(A_numeros); reset(A_IP); read(A_numeros,a1,a2,a3,a4); read(A_IP,IP); close(A_numeros); close(A_IP); writeln('a1 ',a1,' a2 ',a2,' a3 ',a3,' a4 ',a4); writeln('Datos: ',IP.Nombre,' ',IP.Edad,' ',IP.Estado_Civil,' ',IP.Direccion); Readkey End.
Ejercicios Guardar una base de datos medica en un archivo. Construir un archivo con números reales a través de Pascal Construir un Programa que lea el archivo anterior y lo muestre por pantalla
REFERENCIAS UTILES http://members.tripod.com/~MoisesRBB/uni dad8p.html
EOF Sintaxis EOF({Identificador_Archivo}); Verdadero si esta al final del Archivo, si no Falso
EOLN Sintaxis EOLN({Identificador_Archivo}); Verdadero si esta al final de Línea de un archivo TEXT, si no Falso
Append {Abrir un archivo para lectura al final, archivo TEXT} Sintaxis Append({Identificador_Archivo});
Ejemplo Program Archivos; Uses Crt; Type Archivo_numeros=File of Integer; Var i:Integer; A_numeros:Archivo_numeros; OTRO_TXT:Text; TXT:Text; Ch:Char; Begin assign(A_numeros,'numeros.dat'); assign(OTRO_TXT,'CHAR.txt'); rewrite(A_numeros);{crear un archivo para escribir} rewrite(OTRO_TXT);{crear un archivo para escribir} write(A_numeros,1,2,3,4); write(OTRO_TXT,'U'); writeln(OTRO_TXT); writeln(OTRO_TXT,'S'); writeln(OTRO_TXT,'M'); close(A_numeros); close(OTRO_TXT); reset(A_numeros); while not eof(A_numeros) do begin read(A_numeros,i); write(i,' ') end; for i:=0 to 10 do write(A_numeros,i); writeln(); assign(TXT,'copia_CHAR_sin_salto_linea.txt'); rewrite(TXT);{crear un archivo para escribir} reset(OTRO_TXT); while not eof(OTRO_TXT) do if not eoln(OTRO_TXT) then read(OTRO_TXT,Ch); write(TXT,Ch) end else readln(OTRO_TXT) close(TXT); Append(OTRO_TXT); write(OTRO_TXT,'APPEND'); Readkey End.
Fin ¿Alguna consulta?