You are on page 1of 13

Instituto Tecnolgico Superior de Lerdo

Resumen: Archivos secuenciales

Judith Itzel Requejo Hernndez 10231237

Ricardo de Jess Bustamante Gonzlez

17 de febrero de 2012 Lerdo, Durango

Lenguaje C#
Sintaxis bsica de C# Hasta que no pongamos; el compilador no detecta el fin de la instruccin, de esta forma si la instruccin es muy larga la podemos poner tranquilamente en dos lneas. Un bloque de cdigo es, como su propio nombre indica una parte de cdigo fuente que usamos en un contexto especfico, por ejemplo un bucle o una sentencia de control del flujo del cdigo.

COMENTARIOS Los comentarios son lneas de cdigo que no se compilaran, sirven para dejar anotaciones en nuestro programa. Un comentario puede ser muy til tanto si trabajas solo como si lo haces en equipo, piensa que hay partes del cdigo que no recordaras despes de pasado un tiempo. Hay dos formas de comentar, con doble barra // para comentar una sola lnea o con barra asterisco asterisco barra /* */ para comentar varias lneas.

Sintaxis bsica de F# Ej: una funcin que tomando una cantidad de segundos devuelve las horas, minutos y segundos que representa:

Lenguaje PHP
Esta funcin se encarga de leer lnea a lnea el contenido de un archivo texto por lo que su utilizacin ha de ser incluida dentro de una estructura de tipo bucle. Ejemplo:
<? function negrita($path,$cadena) { //Iniciamos la variable $texto = ""; //Abrimos el archivo en modo lectura $fp = fopen($path,"r"); //Leemos linea por linea el contenido del archivo while ($linea= fgets($fp,1024)) { //Sustituimos las ocurrencias de la cadena que buscamos $linea = str_replace($cadena,"<b>$cadena</b>",$linea); //Anadimos la linea modificada al texto $texto .= $linea; } return $texto; } //Definimos el path y la cadena $path="escribe el camino de acceso a tu archivo"; $cadena = "escribe tu cadena"; //Llamamos la funcion $texto = negrita ($path,$cadena); //Mostramos el texto echo $texto; ?>

Lenguaje Java
Existen ademas muchas operaciones asociadas a archivos, las mas elementales son: 1.- Creacin de Archivo.- En este proceso se pretende solamente crear un archivo nuevo en disco, con su nombre, tipo y especialidad de almacenamiento de datos apropiado. 2.- Apertura de Archivos.- En este caso se pretende abrir un archivo ya existente en disco para procesarlo, ya sea cargar o grabar datos en sus registros, o leer algun registro en especial para mandarlo a una variable de cualquier tipo. No confundir creacin con apertura, creacin es un proceso que solo se ejecuta una sola vez en la vida de un archivo, mientras que apertura, siempre se esta realizando por los programas especializados en algun proceso. 3.-Cierre de archivos: Es la operacin mas importante en cualquier programa que maneje archivos, o se cierra el archivo como ultima instruccin del pograma o se vera el anuncio ABORT,RETRY,FAIL. 4.-Altas en archivo.- En este proceso se carga una clase en memoria con sus datos pertinentes y se graba la clase en el archivo en disco. 5.-Lectura de archivo.- En este proceso, se abre el archivo y se manda el registro de disco, a una clase en memoria para su procesamiento. 6.- Consulta de archivos: En este proceso se pretende desplegar todos los registros del archivo en disco a la pantalla, ya sea consola o mejor an, a una pagina html 7.-Busqueda en archivos: Una de las operaciones mas comunes, consiste en que el usuario pide toda la informacin de algun renglon en disco, porporcionando la informacin de algun campo, generalmente el campo clave de la clase. 8.- Filtros.- En este proceso el usuario esta interesado en algun conjunto de renglones con caracteristicas comunes (condicin), por ejemplo todos los alumnos de sisJAVA TEMA s, o todos los empleados que ganen mas de $500.00 pesos, o todos los clientes que sean de tijuana, etc 9.-Modificaciones de registros o archivos: Problema muy comun, donde los datos originales ya grabados se tienen que cambiar o actualizar, por ejemplo el nombre no era juan es juana, o la calificacin no es 100 es 20, etc. 10.- Bajas de registros: tambien muy comun este proceso,por ejemplo el alumno ya egreso, el cliente huyo, etc.

Ejemplo: Con este programa, se creara un archivo con registros de numero de matricula, nombre y pedir 3 calificaciones para despus calcular el promedio. import java.io.*; import java.util.Scanner; public class Archivos{ public static void main( String args[] )throws IOException{ Scanner leer = new Scanner(System.in); DataOutputStream Archi = null; int i; int matricula=0; String nombre=new String(); int calif1; int calif2; int calif3; double promedio; try{ for (i=0; i<5; i++){ Archi = new DataOutputStream( new FileOutputStream(../Archivo.dat,true) ); System.out.println(Escribe la matricula: ); matricula = leer.nextInt(); System.out.println(Escribe Nombre: ); nombre = leer.next(); System.out.println(Ingrese Calificacion 1: ); calif1 = leer.nextInt(); System.out.println(Ingrese Califiacin 2); calif2 = leer.nextInt(); System.out.println(Ingrese Calificacion 3); calif3 = leer.nextInt(); Archi.writeInt(matricula); Archi.writeUTF(nombre); Archi.writeInt(calif1); Archi.writeInt(calif2); Archi.writeInt(calif3); Archi.close(); } } catch(FileNotFoundException fnfe) {} catch (IOException ioe) {} } }

Este otro mostrara lo que hay en el archivo: import java.io.*; public class LeerArchivos{ public static void main( String args[] )throws IOException{ DataInputStream Archi = null; int matricula=0; String nombre=new String(); int calif1; int calif2; int calif3; double promedio; try{ Archi = new DataInputStream( new FileInputStream(../Archivo.dat) ); while (true){ matricula = Archi.readInt(); System.out.println(Matricula: +matricula+ ); nombre = Archi.readUTF(); System.out.println(Nombre: +nombre+ ); calif1= Archi.readInt(); System.out.println(Calificacion 1: +calif1+ ); calif2= Archi.readInt(); System.out.println(Calificacion 2: +calif2+ ); calif3= Archi.readInt(); System.out.println(Calificacion 3: +calif3+ ); System.out.println(n); int suma = calif1 + calif2 + calif3; promedio = suma/3; System.out.println(El promedio es: +promedio+n); } } catch(FileNotFoundException fnfe) {} catch (IOException ioe) {} Archi.close(); } }

Lenguaje Delphi

En Delphi los ficheros pueden ser de dos tipos: ficheros en formato ASCII o ficheros en formato binario y pueden, a su vez, organizarse de dos formas diferentes: en forma secuencial o en forma indexada. En un fichero secuencial todos los componentes del fichero se almacenan secuencialmente uno despus del otro. En este trabajo se aborda cmo se crean y utilizan en Delhi tanto los ficheros en formato ASCII como en formato binario organizados secuencialmente, ya que para almacenar datos con estructura indexada es mucho ms cmodo hacerlo usando bases de datos, las cuales Delphi maneja a la perfeccin. Desarrollo: Ficheros en formato ASCII. Los ficheros en formato ASCII son los ms sencillos de todos. Se pueden visualizar con el Bloc de Notas de Windows y suelen llevar extensin txt. Un fichero de este tipo puede definirse fcilmente declarando al identificador que lo representa de tipo texto. Esta declaracin puede expresarse como: Var Nombre del fichero : TextFile Para leer o escribir datos en un fichero con formato ASCII se deben dar los siguientes pasos: 1. Indicarle a Delphi que se trata de un fichero de tipo texto. 2. Declarar las variables que se usarn para leer o escribir datos en el fichero. Estas variables deben ser de tipo String ya que se trata de un fichero en formato ASCII. 3. Indicarle a Delphi como se llama el fichero y con que nombre se conocer en el programa para lo cual se emplea la funcin AssignFile. 4. Se abre el fichero en el modo en el que se desea trabajar:

Modo lectura. Se indica con la orden Reset. Modo escritura para aadir datos. Se indica con la orden Append. Modo reescritura para crear el fichero y si este exista con anterioridad sobrescribirlo. Se indica con la orden Rewrite. 1. Cerrar el fichero una vez concluido el proceso de lectura o escritura. Se indica con la orden CloseFile.

Ejemplo:

Los siguientes procedimientos permiten crear el fichero Grupo, almacenar en l los nombres de los estudiantes que lo integran y recuperar luego el listado. Procedure CrearFichero; Var Datos : TextFile; begin AssignFile (Datos, 'Grupo.txt'); Rewrite (Datos); CloseFile (Datos); end; Procedure EscribirDatos (Nombre : String); Var Datos : TextFile; begin AssignFile (Datos, 'Grupo.txt'); Append (Datos); Writeln (Datos, Nombre); CloseFile (Datos); end; Procedure LeerDatos; Var Datos : TextFile; I : Integer; begin AssignFile (Datos, 'Grupo.txt'); Reset (Datos); I := 1; While Not Eof (Datos) do begin Readln (Datos, Nombre[I]); Inc (I); end;

CloseFile (Datos); end; Antes de usarlos, declare el arreglo Nombre de tipo String. La funcin Eof permite conocer si se lleg o no al final del fichero respondiendo True en caso positivo y False en caso contrario. Para conocer el nmero de registros que existen en un fichero, se puede utilizar la siguiente funcin: Function ContarRegistros : Integer; Var Cantidad : Integer; Datos : TextFile; Linea : String; begin Cantidad := 0; AssignFile (Datos, 'Grupo.txt'); Reset (Datos); While Not Eof (Datos) do begin Readln (Datos, Linea); Inc (Cantidad); end; CloseFile (Datos); ContarRegistros := Cantidad; end; Ficheros en formato binario. Los ficheros en formato binario solo pueden ser ledos por el programa que los cre o por uno que se programe para leerlos. La manera ms sencilla de definirlos es incluir la definicin del fichero como parte de una declaracin de variable de tipo fichero. La forma general de esta declaracin es: Var Nombre del fichero : File of tipo donde tipo se refiere al tipo de dato de los componentes individuales del fichero. La ventaja con respecto a los ficheros en formato ASCII es que se puede contar con dos funciones que no existan en estos: FileSize y FilePos.

La primera de ellas retorna el nmero de registros que existen en el fichero y la segunda la posicin actual del puntero dentro del fichero. Los componentes individuales del fichero pueden ser de tipo simple o de tipo estructurado. En este ltimo caso se debe declarar primero la estructura de datos y luego indicarle al fichero que use esa estructura. Ejemplo: Los siguientes procedimientos permiten crear el fichero Informacin, almacenar en l el nombre y el nmero del carn de identidad de un grupo de estudiantes y luego recuperar esa informacin. Procedure CrearFichero; Var Datos : File of TListado; begin AssignFile (Datos, Informacion.fic); Rewrite (Datos); CloseFile (Datos); end; Procedure EscribirDatos (NuevaInformacion : TListado); Var Datos : File of TListado; begin AssignFile (Datos, Informacion. fic); Reset (Datos); Seek (Datos,FileSize (Datos)); Write (Datos, NuevaInformacion); CloseFile (Datos); end; Procedure LeerDatos; Var Datos : File of TListado; I : Integer; begin AssignFile (Datos, Informacion. fic);

Reset (Datos); For I := 1 to FileSize (Datos) do Read (Datos, Listado [I]); CloseFile (Datos); end; Antes de usarlos declare el tipo de dato TListado. Type TListado = Record Nombre : String [50]; NumeroIdentidad : Real; end; y la variable Listado como un arreglo de tipo Tlistado. La funcin Seek permite recorrer el fichero avanzando el puntero dentro del mismo. Para copiar el contenido de un fichero en otro, se puede utilizar el siguiente procedimiento: Procedure CopiarFichero; Var FicheroOrigen, FicheroDestino : File of TListado; Contenido : TListado; begin AssignFile (FicheroOrigen, Informacion.fic'); Reset (FicheroOrigen); AssignFile (FicheroDestino, 'Copia.fic'); Rewrite (FicheroDestino); While Not Eof (FicheroOrigen) do begin Read (FicheroOrigen, Contenido); Write (FicheroDestino, Contenido); end; CloseFile (FicheroOrigen); CloseFile(FicheroDestino);

end; se puede adaptar el procedimiento anterior para que solo copie parte del contenido, estableciendo antes de la instruccin Write el criterio de validacin. Ejemplo: Para copiar solo los que nacieron en el ao 1990, el criterio de validacin podra ser: If Copy (FloatToStr (Contenido.NumeroIdentidad),1,2) = '90' then por lo que el bloque While quedara: While Not Eof (FicheroOrigen) do begin Read (FicheroOrigen, Contenido); If Copy (FloatToStr (Contenido.NumeroIdentidad),1,2) = '90' then Write (FicheroDestino, Contenido); end; Otra funcin til en el manejo de ficheros es la funcin FileExists con la que es posible conocer si un fichero determinado existe o no. Conclusiones: La utilizacin de ficheros de datos facilita el intercambio de informacin entre programas por lo que puede ser una buena opcin para la entrada y salida de la informacin en nuestras aplicaciones

You might also like