metodo file pascal

Post on 13-Jun-2015

1.551 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

UPNFM-PREUFODMétodo File En Pascal

El Tipo FILE

Archivos de Texto

Archivo de Tipo

Tipo SimpleTipo Estructurado

Tipo Puntero

Sintaxis

TYPE tfichero = FILE OF Tipo_de_Datos;tficheroTexto = TEXT;

VARnom_fich1 : FILE OF Tipo_de_Datos:nom_fich2 : TEXT;

Operación de Asignación de un Archivo

En Turbo Pascal esta operación se realiza mediante un procedimientopredefinido llamado ASSIGN (Asignar); la sintaxis de este procedimiento es:

ASSIGN (Fich_Logico, Nombre_archivos_fisico);

• Fich_Logico: Es una variable de tipo archivo.

• Nombre _Archivo: Se trata de cadena de caracteres (o de tipo STRING) que representa el Nombre del archivo físico, o el lugar donde este se encuentra.

Archivos Como Parámetros

El caso de arrays y registro, una función no puede devolver ningún tipo de datos estructurados,por lo que en el caso de los archivos tampoco es posible.

Este hecho se debe a que los contenidos de un archivo no se puede copiar en otro utilizandoUna instrucción de la forma:Variable_archivo 1:= variable_archivo 2;

SintaxisA continuación se muestran algunos ejemplos de paso de parámetro de tipo fichero:TYPE Tipo_mes= (enero, febrero, marzo, abril, mayo, junio, julio, agosto, septiembre, octubre, noviembre, diciembre); Fich_meses = FILE OF Tipo_mes; Fich_letras = FILE OF Char; Fich_numeros = FILE OF real; VAR Fmeses : Fich_meses; Libro1, Libro2 : Fich_numeros; Fdatos, Festadisticas : Fich_numeros; logica : boolean;PROCEDURE uno (VAR f1 : Fich_meses; VAR f2, f3 : Fich_letras);….FUNCTION dos (VAR f1 : Fich_letras; VAR f2 : Fich_numeros): boolean;….BEGIN uno (Fmeses, Libro1, Libro2); logica : = dos (Libros1, Fdatos); logica : = dos (Libros2, Festadisticas);END.

Archivos de Texto

TYPE Tfich_texto1 = FILE OF char; Tfich_texto2 = TEXT; VAR nom_fich1 : Tfich_texto1; nom_fich2 : Tfich_texto2; nom_fich3 :TEXT;

Caso particular de los archivos de texto:1.- Declarar y asignar el archivo de texto (físico).2. - Abrir el archivo.3.- Leer/Escribir los datos sobre el archivo.4.- Cerrar el archivo.

Declaración y asignación de archivos de texto

TYPE Fich_texto = TEXT; Fich_caracteres = FILE OF char; VAR flineas : Fich_texto; fletras : Fich_caracteres;BEGIN (asignación del fichero de texto) assign (flineas, ‘fichero_ejermplo1.txt’); (asignación del fichero de caracteres) assign (fletras, ‘fichero_ejemplo2.txt’); ……END.

Apertura de archivos de texto

RESET

APPEND

REWRITE

Lectura/Escritura de datos en archivos de texto

Lectura en archivo de texto: para poder leer los elemento de un archivo es necesario haberlo abierto previamente mediante una operación de RESET. Existe dos procedimiento que nos permiten realizar la operación de lectura:

READ(Archivo_logico, x1,x2,x3,…….,xn);READLN(archivo_logico x1,x2,x3,…..,xn);

Sintaxis

Var fichero: TEXT; w, x, y, z : char;….Begin assign(fichero, ‘c:\mifichero.txt’ reset(fichero); {se abre para lectura} read(fichero, w, x, y); {se leen tres caracteres seguidos} read(fichero, z); {se lee un caracter} writeln(w, x, y, z); {se muestran por pantalla} close(fichero); {Se cierra el fichero}End.

Escritura En Archivos De TextoSintaxis

Para poder escribir datos en un archivo de texto es necesario haberlo abierto Previamentecon cualquiera de los dos procedimientos predefinidos de Pascal:

•REWRITE•APPEND

Una vez abierto el archivo, se pueden escribirse datos (caracteres o cadenas de Caracteres) empleando los procedimientos:

WRITE(fich_logico, E1, E2, …, En);WRITELN(fich_logico, E1, E2, …,En);

Operación De Cierre En Archivos De Texto

Si no se desea perder todo los datos de un archivo, una vez terminadas las diferentesOperaciones sobre el, es necesario cerrarlo. La operación de cierre de un fichero situaun carácter especial en el lugar donde se encuentra situado el puntero de Lectura/EscrituraEl carácter EOF (End Of File, o fin del fichero) es utilizado para identificar el final del mismo.

Close(arch_logico);

EOLN

EOF

Otras Operaciones Con Archivos De Texto

Sintaxis:

EOLN(Archivo_Logico);EOF(Archivo_Logico);

Archivos Con Tipo Binarios

Sintaxis:TYPE tFichero_binario = FILE OF tipo_base;VAR nom_fiche1 : tFichero_binario; nom_fiche2 : FILE OF tipo_base;

Operaciones Con Archivos Binarios

Declaración y Asignación del Archivo

Apertura Del Archivo Binario

Lectura/Escritura en Archivos Binarios

Operación de Cierre en un archivo Binario

Declaración y Asignación del Archivo

Estas operaciones se realizan exactamente igual que para los archivos de texto:

TYPE fBinario1 = FILE OF integer; fBinario2 = FILE OF boolean;VAR F1 : fbinario1; F2 : fbinario2;BEGIN {Asignacion del fichero de enteros} assign(F1,’Fichero_ejemplo1.dat’); {Asignacion del fichero de Booleanos} assign(F2,’Fichero_ejemplo2.dat’); ……..END.

Apertura Del Archivo Binario

RESET(Archivo_logico)

REWRITE(Archivo_Logico)

APPEND(Archivo_Logico)

Lectura/Escritura En Archivos Binarios

Lectura de Datos

Escritura deDatos

READLN/WRITELN

Operación De Cierre En Un Archivo Binario

La operación de cerrado del archivo se realiza exactamente igual que en el caso de los archivos de texto. Realizar esta operación es igualmente importante si no se desea perder los datos almacenados en el archivo binario. La sintaxis es:

CLOSE(archivo_logico);

Otras Operaciones Con Archivos Binarios

Operaciones De Control

Operaciones De Acceso Directo

Operaciones Para La Gestión De Archivos Con Tipo

Operaciones De Control

Estas operaciones proporcionan información sobre la posición donde se encuentraEl puntero de lectura/escritura. Existe una funcion de control basica que puede utilizarse:

•EOF (archivo_logico): esta funcion booleana devuelve verdadero si el puntero de lectura/escritura se encuentra situado sobre el carácter fin de fichero (EOF).•EOLN(archivo_logico): al igual que sucede con las funciones predefinidas READLN y WRITELN, esta funcion no tiene sentido en archivos con tipo, y por lo tanto no existe para este tipo de datos.

Operaciones De Acceso Directo

FileSize

Seek

FilePos

Operaciones Para La Gestión De Archivos Con Tipo

RENAME

ERASETRUNCATE

top related