Resumen asdfaasdf secuenciales

24
  Archivos secuenciales Utilización y sintaxis 17 de febrero de 2012 Cynthia Gabriela Valles Núñez Grupo A

Transcript of Resumen asdfaasdf secuenciales

Page 1: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 1/24

 

Archivos secuenciales

Utilización y sintaxis

17 de febrero de 2012

Cynthia Gabriela Valles Núñez

Grupo A

Page 2: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 2/24

Ficheros secuenciales:

Es aquel fichero cuyos registros pueden ser tratados en secuencia, unos datos

detrás de otros. Después de haber leído un registro el dispositivo de lectura se

posiciona al principio del siguiente registro.

Este tipo de ficheros son muy convenientes cuando tenemos que leer todos losdatos del fichero. No podemos añadir datos a un fichero secuencial, se copia

todo en un fichero nuevo.

Ficheros indexados secuenciales:

Mediante este tipo de ficheros podemos solucionar el problema de los ficheros

secuenciales respecto a la actualización y acceso a un registro, haciéndolo de

forma casi directa, así como la realización de altas y bajas.

Este tipo de ficheros tiene que estar almacenado en un soporte físico de

acceso directo.

Todos los registros del fichero tendrán un campo clave para identificarlo de

forma única, no pudiendo existir dos registros con el mismo campo clave. Será

por este campo por el cual se graben en orden ascendente y se localicen los

registros del fichero.

Archivos secuenciales en C#

Sintaxis básica para C#

Tipo FILE:C de¿ne la estructura de datos FILE en el ¿chero de cabecera

³stdio.h´ para el manejo de ¿cheros. Nosotros siempre usaremos punteros aestas estructuras. La de¿nicion de esta estructura depende del

compilador, pero en general mantienen un campo con la posición actual de

lectura/escritura, un bu er para mejorar las prestaciones de acceso al ¿chero y

algunos campos para uso interno.

Función Fopen:

Sintaxis: FILE *fopen (char *nombre, char *modo); ´ esta función sirve para

abrir y crear ¿cheros en disco. El valor de retorno es un puntero a una

estructura FILE. Los parámetros de entrada son:

Nombre: una cadena que contiene un nombre de ¿chero valido, esto depende

del sistema operativo que estemos usando. El nombre puede incluir el camino

completo. Modo: especi¿ca en tipo de ¿chero que se abrirá o se creara y el tipo

de datos que puede contener, de texto o binarios: r: solo lectura. El ¿chero

debe existir. W: se abre para escritura, se crea un ¿chero nuevo o se sobre

escribe si ya existe.

Page 3: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 3/24

   A: añadir, se abre para escritura, el cursor se sitúa al ¿nal del ¿chero. Si el

¿chero no existe, se crea.r+: lectura y escritura. El ¿chero debe existir.w+:

lectura y escritura, se crea un ¿chero nuevo o se sobrescribe si ya existe. a+:

añadir, lectura y escritura, el cursor se sitúa al ¿nal del ¿chero. Si el ¿chero no

existe, se crea.t: tipo texto, si no se especi¿ca ³t´ ni ³b´, se asume por defectoque es ³t´b: tipo binario.

Función fclose:

Sintaxis: int fclose (FILE *¿chero); Es importante cerrar los ¿cheros abiertos

antes de abandonar la aplicación. Esta función sirve para eso. Cerrar un ¿chero

almacena los datos que aún están en el bu erde memoria, y actualiza algunos

datos de la cabecera del ¿chero que mantiene el sistema operativo. Además

permite que otros programas puedan abrir el ¿chero para su uso. Muy a

menudo, los ¿cheros no pueden ser compartidos por varios programas. Un

valor de retorno cero indica que el ¿chero ha sido correctamente cerrado, si hahabido algún error, el valor de retorno es la constante EOF. El parámetro es un

puntero a la estructura FILE del ¿chero que queremos cerrar.

Función fgetc:

Sintaxis: int fgetc(FILE *¿chero);Esta función lee un carácter desde un ¿chero.

El valor de retorno es el carácter leído como un unsigned char convertido a int.

No hay ningún carácter disponible, el valor de retorno es EOF. El parámetro es

un puntero a una estructura FILE del ¿chero del que se hará la lectura.

Función fputc:

Sintaxis: int fputc (int carácter, FILE *¿chero); Esta función escribe un carácter 

a un ¿chero.

El valor de retorno es el carácter escrito, si la

operación fue completada con exito, en caso contrario será EOF. Los

parámetros de entrada son el carácter a escribir, convertido a int y un puntero a

una estructura FILE del ¿chero en el que se hará la escritura.

Función feof:

Sintaxis: int feof (FILE *¿chero); Esta función sirve para comprobar si se haalcanzado el ¿nal del ¿chero. Muy frecuentemente deberemos trabajar con

todos los valores almacenados en un archivo de

forma secuencial, la forma que suelen tener los bucles para leer todos los datos

de un archivo es permanecer leyendo mientras no se detecte el ¿n de ¿chero.

Esta función suele usarse como prueba para veri¿car si se ha alcanzado o no

ese punto. El valor de retorno es distinto de cero solo si no se ha alcanzado el

Page 4: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 4/24

¿n de ¿chero. El parámetro es un puntero a la estructura FILE del ¿chero que

queremos veri¿car.

Función rewind:

Sintaxis: void rewind(FILE *¿chero);Es una

funcion heredada de los tiempos de las cintas magneticas. Literalmentesigni¿ca³rebobinar´, y hace referencia a que para volver al principio de un archivo alma-

cenado en cinta, había que rebobinarla. Eso es lo que hace esta función, sitúa

el cursor de lectura/escritura al principio del archivo. El parámetro es un

puntero a la estructura FILE del ¿chero que queremos rebo-binar.

Función fgets:

Sintaxis: char *fgets(char *cadena, int n, FILE *¿chero);Esta función esta

diseñada para leer cadenas de caracteres. Leera hasta n-1 caracteres o hasta

que lea un retorno de línea. En este ´último caso, el carácter de retorno de

línea también es leído. El parámetro n nos permite limitar la lectura para evitar desbordar el espacio disponible en la cadena. El valor de retorno es un puntero

a la cadena leída, si se leyó con éxito, y es NULLsi se detecta el ¿nal del

¿chero o si hay un error. Los parámetros son: la cadena a leer, el número

de caracteres máximo a leer y un puntero a una estructura FILE del ¿chero del

que se leerá.

Función fputs:

Sintaxis: int fputs(const char *cadena, FILE *stream);La función fputs escribe

una cadena en un ¿chero. No sé añade el carácter de retorno de línea ni el

carácter nulo ¿nal. El valor de retorno es un número no negativo o EOF en casode error. Los parámetros de entrada son la cadena a escribir y un puntero a la

estructura FILE del ¿chero donde se realizara la escritura.

Función fread:

Sintaxis: size t fread(void *puntero, size t tamaño, size t registros, FILE

*¿chero);Esta función está pensada para trabajar con registros de longitud

constante. Es capaz de leer desde un ¿chero uno o varios registros de la

misma longitud y a partir de una dirección de memoria determinada. El usuario

es responsable de asegurarse de que hay espacio su¿ciente para contener 

la información leida. El valor de retorno es elnúmero de registros leídos, no el número de bytes. Los parámetros son: un

puntero a la zona de memoria donde se almacenaran los datos leidos, el

tamaño de cada registro, el número de registros a leer y un puntero a la

estructura FILE del ¿chero del que se hará la lectura.

Función fwrite:

Page 5: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 5/24

Sintaxis: size t fwrite(void *puntero, size t tamaño, size t nregistros, FILE*¿chero);Esta función también pensada para trabajar con registros de longitudconstante y forma pareja con fread. Es capaz de escribir hacia un ¿chero uno ovarios registros de la misma longitud almacenados a partir de una dirección dememoria determinada. El valor de retorno es el número de registros escritos, noel número de bytes. Los parámetros son:

Un puntero a la zona de memoria donde se almacenaran los datos leidos, eltamaño de cada registro, el número de registros a leer y un puntero a laestructura FILE del ¿chero del que se hará la lectura.Función fprintf:

Sintaxis: int fprintf(FILE *¿chero, const char *formato, ...); La función fprintf 

funciona igual que printf en cuanto a parámetros, pero la salida se dirige a un

¿chero en lugar de a la pantalla.

Función fscanf:

Sintaxis: int fscanf(FILE *¿chero, const char *formato, ...);La función fscanf 

funciona igual que scanf en cuanto a parámetros, pero la entrada se toma deun ¿chero en lugar del teclado.

Función ush:

Sintaxis: int ush(FILE *¿chero);Esta función fuerza la salida de los datos

acumulados en el bu er de salida del ¿chero. Para mejorar las prestaciones del

manejo de ¿cheros se utilizan bu ers, almacenes temporales de datos

en memoria, las operaciones de salida se hacen a través del bu er, y solo

cuando el bu er se llena se

realiza la escritura en el disco y se vacia el bu er. Enocasiones nos hace

falta vaciar ese bu er de un modo manual, para eso sirve esta función. El valor 

de retorno es cero si la función se ejecutó con éxito, y EOF si hubo algún error.

El parámetro de entrada es un puntero a la estructura FILE del ¿chero del que

se quiere vaciar el bu er. Si es NULL se hará el vaciado de todos los ¿cheros

abiertos. Funciones C espec¿cas para ¿cheros de acceso aleatorio

Función fseek:

Sintaxis: int fseek(FILE *¿chero, long int desplazamiento, int origen);Esta

función sirve para situar el cursor del ¿chero para leer o escribir en el lugar 

deseado. El valor de retorno es cero si la función tuvo éxito, y un valor distinto

de cero si hubo algún error. Los parámetros de entrada son: un puntero a una

estructura FILE del ¿chero en el que queremos cambiar el cursor de

lectura/escritura, el valor del desplazamiento y el punto de origen desde el que

se calculara el desplazamiento. El parámetro origen puede tener tres posibles

valores: SEEK SET el desplazamiento se cuenta desde el principio del ¿chero.

El primer byte del ¿chero tiene un desplazamiento cero. SEEK

Page 6: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 6/24

CUR el desplazamiento se desde la posición actual del cursor. SEEK END el

desplazamiento se cuenta desde el ¿nal del ¿chero.

Función ftell:

Sintaxis: long int ftell(FILE *¿chero);La función ftell sirve para averiguar la

posición actual del cursor de lectura escritura de un ¿chero. El valor de retornoserá esa posición, o -1 si hay algún error. El parámetro de entrada es un

puntero a una estructura FILE del ¿chero del que queremos leer la posición del

cursor de lectura escritura.

Page 7: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 7/24

 

Sintaxis lenguaje c#

using System;

using System.Text;using System.IO; 

namespace Test_TextFiles

class Program

static void Main(string[] args) 

try 

TextReader trs = new StreamReader(@"C:\test.txt");

//Lectura de todo el texto del archivo 

//Console.WriteLine(trs.ReadToEnd());  

//o lectura secuencial 

while (trs.Peek()>=0 ) 

Console.WriteLine(trs.ReadLine());

trs.Close();

catch (Exception e) 

Console.WriteLine(e.Message);

Console.WriteLine("Presione cualquier tecla para continuar...");

Console.ReadKey();

Page 8: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 8/24

Manejo de archivos secuenciales en php

Sintaxis básica para php

Hasta el momento almacenamos datos en constantes, variables y arreglos estealmacenamiento es temporal y se pierde cuando termina la ejecución del

programa. La solución computacional es almacenar dichos datos en una fuentede almacenamiento secundario como por ejemplo un disco duro o pendriveentre otros medios a fin de que persistan aun después de la ejecución delprograma que los crea y puedan ser usados inclusive por otros programas.

Para lograr esto los datos se almacenan en un recipiente llamado archivo, elprocesamiento de archivos es una herramienta invaluable de programación.Existen diversos tipos de archivos y su descripción escapa del alcance de estecurso.

Sin embargo, mis caros y estimados lectores simplemente cualquier cosaalmacena en su disco duro o en su pendrive es un archivo.

Los archivos que PHP pueden ser secuenciales y binarios. Los archivossecuenciales son archivos de texto y los binarios pueden almacenar gráficos ydiversos formatos de información. Básicamente responden a las siguientesoperaciones básicas:

y  abrir 

y  borrar 

y  cerrar 

y  copiar 

y  escribir 

y  leer 

y  renombrar 

Desde las operaciones básicas como copiar, mover y eliminar, hastaoperaciones que exigen una cierta complejidad son requeridas para laconfiguración de páginas Web.

Función Descripción Sintaxis

copy Copia un archivo copy($origen, $destino)

renameCambia el nombre delarchivode $antes a $después 

rename($antes, $después)

un link Borra el archivo un link($archivo)

Page 9: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 9/24

 

Manejo de imágenes

  A continuación se presentan dos ejemplos, para mostrar la totalidad de lasimágenes de una carpeta.

E jemplo:

y  La función PHP opendir() se encarga de habilitar una ruta a un subdirectorio.

y  La función readdir() se encarga de leer un archivo o subdirectorio.

y  strlower() convierte el contenido de una cadena a minúscula.

y  substr() extrae una subcadena de una cadena, en este caso por ser el

parámetro negativo extrae los últimos cuatro caracteres (línea 10). El objetivo

es extraer la extensión del archivo.

y  closedir() cierra la ruta al subdirectorio.

<?php if  ($gestor = opendir ('../imagenes')) {// Abre un gestor de directoriosecho "<table border=1 align='center'>";echo "<tr>";$i=0;while (false !== ($archivo = readdir ($gestor))) {//readdir: Lee un elemento del directorio//$gestor abierto previamente//con opendir y desplaza el puntero al elemento

siguienteif  ($archivo != "." and $archivo != "..") {//checa que no sea subdirectorio$extensión = strtolower (substr ($archivo, -4));//strlower pasa a minúscula una cadena en este caso//los 4 últimos caracteres//de la cadenaif  (($extension == '.jpg') or ($extension == '.gif')

or ($extension == '.png')) {if  ($i==4) {// Cuatro imagenes por renglón

$i=0;echo "</tr>";

echo "<tr>";}$i++;echo "<td>";echo "<a href='../imagenes/$archivo'>";echo "<img src='../imágenes/$archivo'";echo "border='0' ></a>";echo "</td>";

}

Page 10: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 10/24

}}echo "</tr>";echo "</table>";closedir ($gestor); //Cierra el gestor

}

?> 

E jemplo: 

y  La función glob() realiza una búsqueda por todos los nombres de ruta que

coincidan con cierto patrón. En este caso con los gráficos válidos para HTML.

y  sort() ordena los nombres de los archivos encontrados.

y  el ciclo foreach recorre el arreglo de archivos.

<?phpecho "<table border=1 align='center'>";

echo "<tr>";$i = 0;//carga las imágenes de la carpeta//La función glob() realiza una búsqueda por todos los

nombres//de ruta que coincidan con patrón$ruta = "../imágenes/";$imágenes = glob($ruta . "{*.jpg, *.gif, *.png}",

GLOB_BRACE);sort($imagenes);

//Recorre el vectorforeach($imagenes as $foto){if ($i==4) {

$i=0;echo "</tr>";echo "<tr>";

}$i++;echo "<td><a href='".$foto."'><img

src='".$foto."/></a></td>";}echo "</tr>";

echo "</table>";?> 

Page 11: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 11/24

 

Para el siguiente ejemplo usaremos 4 funciones básicas de manipulación dearchivos

Función Descripción Sintaxis

filesize Obtiene el tamaño del archivo filesize($archivo);

fopen  Abre un archivo y le asigna unidentificador id.

$id= fopen($archivo,$modo);

fpassthru

Lee completamente el archivo y lomuestra. El cierre del archivo esautomático al terminar el volcadodel archivo.

fpassthru($id);

header 

Permite modificar las cabeceras queenvía el servidor al navegador.Estas cabeceras, que siguen elprotocolo HTTP, es la primerainformación que recibe el navegador en cada petición que realiza, antesque el contenido del archivo.

header ("mensaje");

E jemplo: Mostrar una imagen

Fopen además de abrir un archivo, obtiene un apuntador a sucontenido. fopen solo debe usarse para abrir un archivo cuyo contenido vamos

a manipular. Si únicamente queremos recuperar su contenido (y por ejemplomostrarlo en pantalla), hay otras funciones más adecuadas.

Los modos en los que se puede abrir un archivo son:

y  r Sólo lectura. El puntero al comienzo del archivo

y  r+ Lectura y escritura; apuntador al inicio del archivo

y  w Sólo escritura, si no existe el archivo lo crea, si existe lo convierte en archivo

de longitud cero y el apuntador se coloca en el inicio (sobreescribe el contenido,

vamos)

y  w+ Lectura y escritura, si existe lo trunca a tamaño cero, y se sitúa al inicio, si

no existe lo crea

y  a Modo append, sólo escritura, si no existe lo crea. Si existe, el apuntador se

coloca al final del archivo (listo para escribir a continuación del contenido)

y  a+ Modo append, lectura y escritura, si no existe lo crea; apuntador al final del

archivo

y  b es un flag adicional a cualquiera de los anteriores que indica que vamos a

operar sobre un archivo binario (en contraposición a archivo de texto) como una

Page 12: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 12/24

imagen o un sonido. En algunos sistemas operativos como linux no existe esta

diferencia así que el indicador b será ignorado.Las líneas 7 y 8 envían cabeceras HTTP para indicar el tamaño y formato delarchivo.

fpassthru (línea 11) hace un volcado del archivo previamente definido en lalínea 4.

<?php // Abree el archivo en modo binario$imagen = '../imagenes/Shakira02.png';$id = fopen($imagen, 'rb');

// Envía las cabecerasheader ('Content-Type: image/png');header ('Content-Length: ' . filesize($imagen));

// imprime el archivo y detiene el scriptfpassthru($id);exit;

?> 

Una versión reducida de este código lo podemos encontrar en:

La función file_get_contents (línea 4) permite leer el contenido de un archivoen una cadena.

<? 

header ( "Content-type: image/png");$archivo = '../imágenes/Shakira02.png';$imagen = file_get_contents($archivo);echo $imagen;

?> 

Leer un archivo de texto

y  En la línea 2 se genera un apuntador al archivo alumnos.txt 

y  La función feof (línea 4) comprueba si se encuentra el fin del archivo

y  La función fgets lee el contenido de un archivo hasta encontrar el fin de línea

(línea 4)y  fclose (línea 5) cierra el apuntador  

<?php $archivo = fopen('0310alumnos.txt', 'r');//Imprime una línea hasta que el//final del archivo es encontradowhile(!feof ($archivo)) {

echo fgets($archivo)."<br />";

Page 13: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 13/24

}fclose($archivo);

?> 

Otra forma de hacerlo es mediante la función fread (línea 6) la cual lee elcontenido de un archivo.

<?php // obtiene el contenido de un archivo en//una cadena$archivo = '0310alumnos.txt';$id = fopen($archivo, 'r');$contenido = fread($id, filesize($archivo));echo $contenido;fclose($id);

?> 

Page 14: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 14/24

Archivos secuenciales en JAVA

Sintaxis básica en JAVA

Existen varias técnicas para representar y almacenar registros llamadas

organizaciones de archivos. Hay dos aspectos importantes en que difieren las

organizaciones de archivos:

La secuenciación de registros y el conjunto de operaciones para manipularlos.

La forma más sencilla de almacenar un conjunto de registros en un archivo es

mediante la organización secuencial. En este tipo de archivos, los registros son

escritos consecutivamente cuando el archivo es creado, por lo tanto, deben ser 

accesados de ese modo cuando se consultan.

La característica más importante de esta técnica de organización de archivos

es que solo permite el acceso secuencial, es decir, para accesar al registro k,se deben recorrer los k-1 registros anteriores.

Esta característica impide que el archivo secuencial se use en procesos en

línea debido a que no se pueden consultar rápidamente los registros, sin

embargo, muestra buen rendimiento en procesos en lote donde se aprovecha

la capacidad para accesar al siguiente registro rápidamente. Otra ventaja de

esta organización de archivos radica en que la dirección del registro está

implícita en el sistema; es decir, no se pierden registros por la desaparición de

direcciones.

La programación orientada a objetos (POO) simula objetos reales con

equivalentes de software. Utiliza las relaciones de clase en la que sus objetos

tienen las mismas características, atributos y comportamientos.

La clave para desarrollar sistemas utilizando los conceptos de orientación a

objetos es definir los objetos que lo forman, sus atributos, sus métodos y crear 

las abstracciones apropiadas para ellos (clases), separando la implementación

interna de su comportamiento externo. La abstracción consiste en ocultar los

detalles irrelevantes del objeto, esto provoca que el usuario maneje los datos

del objeto sin necesidad de conocer los detalles.

La POO es una técnica de programación sumamente eficiente que permite dar 

versatilidad a los sistemas y facilitar la codificación para los programadores.

En la aplicación de archivos secuenciales, fácilmente se pueden agregar otros

archivos sin necesidad de reprogramar las subrutinas o agregar nuevos

procedimientos.

Page 15: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 15/24

Para crear otros archivos secuenciales con las mismas características, basta

declarar otros objetos de la misma clase con la ruta y nombre de los archivos

deseados. P. ejem. Si se deseara un archivo secuencial de Secretarias y otro

de Obreros, se hace la declaración correspondiente de los objetos y se

encuentran listos para ser utilizados.

1 // Una GUI reutilizable para los ejemplos de este capítulo.

2 import java.awt.*;

3 import javax.swing.*;

4 public class IUBanco extends JPanel

5 {

6 // texto de las etiquetas para la GUI

7 protected final static String nombres[] = { "Número de cuenta",

8 "Primer nombre", "Apellido", "Saldo", "Monto de la transacción" };

9

10 // componentes de GUI; protegidos para el acceso futuro de las subclases

11 protected JLabel etiquetas[];12 protected JTextField campos[];

13 protected JButton hacerTarea1, hacerTarea2;

14 protected JPanel panelInternoCentro, panelInternoSur;

15

16 protected int tamanio; // número de campos de texto en la GUI

17

18 // constantes que representan a los campos de texto en la GUI

19 public static final int CUENTA = 0, PRIMERNOMBRE = 1, APELLIDO = 2,

20 SALDO = 3, TRANSACCION = 4;

2122 // Configurar GUI. El argumento miTamanio del constructor determina el

número de

23 // filas de componentes de GUI.

24 public IUBanco( int miTamanio )

25 {

26 tamanio = miTamanio;

27 etiquetas = new JLabel[ tamanio ];

28 campos = new JTextField[ tamanio ];

29

30 // crear etiquetas31 for ( int cuenta = 0; cuenta < etiquetas.length; cuenta++ )

32 etiquetas[ cuenta ] = new JLabel( nombres[ cuenta ] );

33

34 // crear campos de texto

35 for ( int cuenta = 0; cuenta < campos.length; cuenta++ )

36 campos[ cuenta ] = new JTextField();

37

Page 16: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 16/24

38 // crear panel para distribuir etiquetas y campos

39 panelInternoCentro = new JPanel();

40 panelInternoCentro.setLayout( new GridLayout( tamanio, 2 ) );

41

42 // adjuntar etiquetas y campos a panelInternoCentro

43 for ( int cuenta = 0; cuenta < tamanio; cuenta++ ) {44 panelInternoCentro.add( etiquetas[ cuenta ] );

45 panelInternoCentro.add( campos[ cuenta ] );

46 }

47

48 // crear botones genéricos; sin etiquetas ni manejadores de eventos

49 hacerTarea1 = new JButton();

50 hacerTarea2 = new JButton();

51

52 // crear panel para distribuir los botones y adjuntarlos

53 panelInternoSur = new JPanel();

54 panelInternoSur.add( hacerTarea1 );

55 panelInternoSur.add( hacerTarea2 );

56

57 // establecer esquema de este contenedor y adjuntarle los paneles

58 setLayout( new BorderLayout() );

59 add( panelInternoCentro, BorderLayout.CENTER );

60 add( panelInternoSur, BorderLayout.SOUTH );

61

62 validate(); // validar esquema

63

64 } // fin del constructor 

65

66 // devolver referencia al botón de tarea genérico hacerTarea1

67 public JButton obtenerBotonHacerTarea1()

68 {

69 return hacerTarea1;

70 }

71

72 // devolver referencia al botón de tarea genérico hacerTarea2

73 public JButton obtenerBotonHacerTarea2()

74 {75 return hacerTarea2;

76 }

77

78 // devolver referencia al arreglo campos de objetos JTextField

79 public JTextField[] obtenerCampos()

80 {

81 return campos;

Page 17: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 17/24

82 }

83

84 // borrar el contenido de los campos de texto

85 public void borrarCampos()

86 {

87 for ( int cuenta = 0; cuenta < tamanio; cuenta++ )88 campos[ cuenta ].setText( "" );

89 }

90

91 // establecer valores de los campos de texto; lanzar 

IllegalArgumentException si

92 // hay un número incorrecto de objetos String en el argumento

93 public void establecerValoresCampos( String cadenas[] )

94 throws IllegalArgumentException

95 {

96 if ( cadenas.length != tamanio )

97 throw new IllegalArgumentException( "Debe haber " +

98 tamanio + " objetos String en el arreglo" );

99

100 for ( int cuenta = 0; cuenta < tamanio; cuenta++ )

101 campos[ cuenta ].setText( cadenas[ cuenta ] );

102 }

103

104 // obtener arreglo de objetos String con el contenido actual de los campos

de texto

105 public String[] obtenerValoresCampos()

106 {

107 String valores[] = new String[ tamanio ];

108

109 for ( int cuenta = 0; cuenta < tamanio; cuenta++ )

110 valores[ cuenta ] = campos[ cuenta ].getText();

111

112 return valores;

113 }

114

115 } // fin de la clase IUBanco

Page 18: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 18/24

Archivos secuenciales en XML 

Sintaxis básica para XML 

Se refiere al procesamiento de los registros, no importa el orden en que se

haga, para eso los registros están organizados en forma de una lista y

recuperarlos y procesarlos uno por uno de principio a fin.

Rudimentos de los archivos Secuenciales; dependiendo del dispositivo de

almacenamiento utilizado el archivo se puede mostrar el usuario como si fuera

un sistema secuencial.

 Al finalizar un archivo secuencial se denota con una marca de fin de archivo.

(End end-of-file)

El usuario de un archivo secuencial puede ver los registros en un orden

secuencial simple.

La única forma de recuperar registros es comenzar al principio y extraerlos enel orden contemplado.

< xml="true" ns="urn:schemas-microsoft-com:office:office" prefix="o"

namespace="">

Los archivos secuenciales se denominan de esta manera por que la forma de

escribir y leer los datos en un archivo es, desde el principio hasta el fin del

archivo, es decir, si yo quisiera acceder a un determinado dato del archivo y

este dato se encuentra en la mitad del archivo, para llegar a ese dato necesito

pasar por todos los demás datos, de forma secuencial. Por lo general se suelen

utilizar los archivos secuenciales, para trabajar con archivos que contenganuna estructura de datos no muy compleja.

  Append: esta sentencia se utiliza para agregar información a un archivo de

texto.

Input: la sentencia Input se utiliza para leer datos de un archivo de texto, lee

todo el contenido del archivo de una sola vez.

Output: esta sentencia se utiliza para crear un archivo de texto y grabar datos.

sentencia Write: escribe datos en un archivo separados por comas.

Line Input: lee un archivo de texto línea por línea.

Print : para escribir datos en archivos de texto.tos en archivos de texto.

Page 19: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 19/24

EJEMPLO: 

LO QUE H  ACE ESTE EJEMPLO ES LEER UN ARCHIVO DE TEXTO Y

CUENTA LAS LINEAS DE EL MISMO TEXTO: 

*Ponemos un command Button al formulario y a este le agregamos el codigo

así:

*Le ponemos otro command Button que es el de salir con su respectivo codigo

que es end

Este es el codigo que ponemos en el command contar:

Public Funtion Contar_Lineas (ByVal srtTextFile As string) As Long< xml="true"

ns="urn:schemas-microsoft-com:office:office" prefix="o" namespace="">

Dim f As Integer Dim lineas As Long

Dim srt_Linea As String

Numero de archive libre

F = FreeFile

 Abre el archive de texto línea por línea hasta el final

Do

Lee una linea

Line input #f, srt_lineaIncrementa la cantidad de líneas leídas

Líneas = líneas + 1

Leerá hasta que llegue al fin de archivo

Loop While not EOF(F)

Cierra el archive de texto abierto

Close #f 

Retorna a la función el número de líneas del fichero

Page 20: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 20/24

Contar_lineas = lineas

End Function

Private Sub Command1_Click( )

Dim Path As String

Path = InputBox(³Ingrese la ruta de un archivo de texto´,_´contar líneas´)If Path = vbNullString Then Exit sub

MsgBox ³cantidad de líneas : ³& contra_lineas(path)

End Sub

Page 21: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 21/24

Archivos secuenciales en Delphi

Sintaxis básica en Delphi

La creación de un archivo secuencial incluye la escritura de registros en una

secuencia deseada dentro del medio de almacenamiento. La creación de un

archivo secuencial de transacciones incluye la tarea de recolectar datos,convertir los datos a una forma legible para la máquina, editar los datos,

convertir los movimientos rechazados y ordenar los datos editados. 

Es un sencillo ejemplo que te ayudará a entender cómo se manejan los archivos secuenciales en Delphi.

 Aquí está el codigo fuente:

PLAIN TEXT DELPHI: 1.  unit Unit1;2. 3.  interface 4. 

5.  uses 6.  Windows, Messages, SysUtils, Variants, Classes, Graphics,

Controls, Forms,7.  Dialogs, StdCtrls;8. 9.  type 10.  TForm1 = class(TForm) 11.  Memo: TMemo;12.  archivo: TEdit;13.  Button1: TButton;14.  Button2: TButton;15.  Button3: TButton;16.  Button4: TButton;17.  Label1: TLabel;

18.  Label2: TLabel;19.  Label3: TLabel;20.  Label4: TLabel;21.  Label5: TLabel;22.  Label6: TLabel;23.  letras: TLabel;24.  digitos: TLabel;25.  blancos: TLabel;26.  caracteres: TLabel;27.  consonantes: TLabel;28.  vocales: TLabel;

29.  procedure Button4Click(Sender: TObject);30.  procedure Button3Click(Sender: TObject);31.  procedure Button1Click(Sender: TObject);

32.  procedure Button2Click(Sender: TObject);33.  private 

34.  { Private declarations } 

35.  public 

36.  { Public declarations } 

37.  end;38. 39.  var 40.  Form1: TForm1;41. 42.  implementation 

Page 22: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 22/24

43. 44.  {$R *.dfm} 45. 

46.  procedure TForm1.Button4Click (Sender: TObject);47.  begin 

48.  form1.close 49.  end;

50. 51.  procedure TForm1.Button3Click (Sender: TObject);52.  begin 

53.  archivo.Text:='';54.  letras.caption:='';55.  digitos.caption:='';56.  blancos.caption:='';57.  caracteres.caption:='';58.  vocales.caption:='';59.  consonantes.caption:='';60.  memo.Text:='';61.  memo.SetFocus;62.  end;

63. 64.  procedure TForm1.Button1Click (Sender: TObject);65.  begin 

66.  memo.Lines.LoadFromFile(archivo.text);67.  end;68. 69.  procedure TForm1.Button2Click (Sender: TObject);70.  var 

71.  l,d,b,v,c,ce,a,band:integer ;72.  x:char ;73.  begin 

74.  l:=0;

75.  d:=0;

76.  b:=0;

77.  v:=0;

78.  c:=0;

79.  ce:=0;

80.  a:=0;81. 

82.  while a<>length(memo.Text) do 83.  begin 

84.  band:=0;

85.  a:=a+1;86.  x:=memo.text[a];87. 88.  if  x in ['A'..'Z','a'..'z','ñ','Ñ','á','é','í','ó','ú','Á','É','Í','Ó','Ú'] then 89.  begin 

90.  l:=l+1;91.  band:=1;92.  end;93. 94.  if  x in ['0'..'9'] then 95.  begin 

96.  d:=d+1;97.  band:=1;98.  end;99. 

Page 23: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 23/24

100.  if  x=' ' then 101.  begin 

102.  b:=b+1;103.  band:=1;104.  end;105. 106. 

if  x in ['a','e','i','o','u','A','E','I','O','U','á','é','í','ó','ú','Á','É','Í','Ó','Ú'] then 107.  begin 

108.  v:=v+1;109.  band:=1;110.  end;111. 112.  if  band=0 then 

113.  ce:=ce+1;114. 115.  end;116. 

117.  letras.caption:=inttostr (l);118.  digitos.caption:=inttostr (d);

119.  blancos.caption:=inttostr (b);120.  vocales.caption:=inttostr (v);121.  consonantes.caption:=inttostr (l-v);122.  caracteres.caption:=inttostr (ce);123.  end;124. 

125. end. 

Page 24: Resumen asdfaasdf secuenciales

5/13/2018 Resumen asdfaasdf secuenciales - slidepdf.com

http://slidepdf.com/reader/full/resumen-asdfaasdf-secuenciales 24/24

Fuentes:http://archivosecuencial.blogspot.com/2009/09/6-archivos-secuenciales-en-java.html

http://luauf.com/2008/04/30/lectura-secuencial-de-archivos-con-c/ 

http://html.rincondelvago.com/ficheros-en-los-lenguajes-de-programacion.html 

http://www.recursosdelweb.com/como-leer-archivos-secuenciales-en-delphi/ 

http://www.mitecnologico.com/Main/EstructuraArchivosOrganizacionSecuencial 

http://prograweb.com.mx/pweb/0310Archivos.html

https://sites.google.com/site/natisaleja/archivossecuencialesyaleatorios