Anda di halaman 1dari 28

Archivo binarios de datos

Ing. Javier Alberto Manrique Quionez

Pgina 1

Archivo binarios de datos

ARCHIVOS DE DATOS
El almacenamiento en variables y arreglos es temporal; los datos se pierden cuando una variable local queda fuera del alcance, o cuando el programa termina. Las computadoras utilizan archivos de datos para la retencin a largo plazo de grandes cantidades de datos, incluso hasta despus de que terminan los programas que crean esos datos. e denominan datos persistentes a aquellos que duran m!s all! de la duracin de la e"ecucin del programa. Las computadoras almacenan archivos en dispositivos de almacenamiento secundario como disco duros, # $, discos pticos y cintas magnticas.

El procesamiento de archivos es una de las herramientas m!s importantes que debe tener un lengua"e de programacin para soportar las aplicaciones comerciales, que generalmente procesan grandes cantidades de datos persistentes. %ava posee pose poderosas caracter&sticas de procesamiento de archivos de datos, las cuales permiten a un programa leer y escribir datos en memoria interna y'o memoria e(terna o en archivos a travs de la red. Entre las operaciones que se pueden realizar con archivos de datos tenemos) *gregar registros de datos. *cceder a registros, siguiendo alg+n mtodo ,secuencial, directo, al azar,-. E(aminar informacin almacenada en los registros de datos. ustituir una informacin de los registros de datos.

JERARQUA DE LOS DATOS


Los archivos de datos se organizan de la siguiente forma) Campo Registro Archivo/ta !a "ase #e #atos Es el agrupamiento de caracteres para formar una palabra o una cifra completa, como el cdigo o nombre de una persona Es un grupo de campos relacionados considerados como una unidad. Es un grupo de registros relacionados del mismo tipo. Es un grupo de archivos relacionados que almacenan la informacin de una organizacin.

OR$A%I&ACI'% DE LOS ARCHIVOS DE DATOS


OR$A%I&ACI'% SECUE%CIAL /todo para almacenar registros de datos, en el cual los registros se deben recuperar en el mismo orden en que se almacenaron. OR$A%I&ACI'% DIRECTA O ALEATORIA( /todo para almacenar registros de datos en un archivo de modo que se pueda acceder a ellos en cualquier secuencia sin importar su orden f&sico real en los medios de almacenamiento. OR$A%I&ACI'% SECUE%CIAL I%DE)ADA Los registros se almacenan en orden. El mtodo utiliza un &ndice de campo clave para buscar y localizar f&sicamente un registro, como pueden localizarse los temas clave en un libro. #tiliza un arreglo de &ndice en la 0*/ donde se almacena en forma ordenada el campo clave y la direccin f&sica de los registros. 1espus de operaciones de mantenimiento este arreglo de &ndices puede ser grabado en forma separada en el medio magntico para luego ser utilizado en la pr(ima sesin previa carga de los &ndices en la memoria 0*/. #n &ndice es una tabla o lista que contiene las claves de registros con las posiciones f&sicas en archivo de acceso inde(ado.

JERARQUA DE DATOS
Ing. Javier Alberto Manrique Quionez Pgina 2

Archivo binarios de datos

Base de datos

Archivo de "otas

Archivo de Cx#

Archivo de expedientes personales

Alumno_id apellidoNombre Archivo/tabla 1 !

evaluacin parcial 1 1!

Arias, Alex Barreto, Byron Cespedes, Cesar

evaluacin promedio parcial 2 de trabajo 11 11 11 1 1 1 1! 1! evaluacin promedio parcial 2 de 11 11 11

Alumno_id apellidoNombre Registro trabajo 1 Arias, Alex apellidoNombre Arias, Alex

evaluacin parcial 1

Campo

Byte Bit

10000001 1

Letra A en ASCII

ARCHIVOS DE ACCESO ALEATORIO*"I%ARIOS+ E% JAVA


3odos los lengua"es de programacin tienen alguna forma de interactuar con los sistemas de archivos de datos; %ava no es una e(cepcin. i se est! desarrollando una aplicacin %ava para uso interno, probablemente ser! necesario el acceso directo a archivos. *ntes de realizar acciones sobre un archivo, necesitamos un poco de informacin sobre ese archivo. * menudo, no se desea leer un archivo de principio a fin; sino acceder al archivo como una base de datos, donde se salta de un registro a otro; cada uno en diferentes partes del archivo. %ava proporciona una clase Ra,#omAccess-i!e para este tipo de entrada'salida. La clase -i!e proporciona muchas utilidades para el mane"o y obtencin de informacin de archivos. CREACI'% DE U% O"JETO -ILE 4ara crear un ob"eto de tipo 5ile se utiliza) '' e crea la variable *rchivo de tipo 5ile que contendr! la direccin del archivo de datos. File fichero= new File("Alumno.dat"); ARCHIVOS DE ACCESO ALEATORIO *OR$A%I&ACI'% E% JAVA+ * menudo, no se desea leer un archivo de principio a fin; sino acceder al archivo como una base de datos, donde se salta de un registro a otro; cada uno en diferentes partes del archivo. %ava proporciona una clase Ra,#omAccess-i!e para este tipo de entrada'salida. CREACI'% . ACCESO A U% ARCHIVO DE ACCESO ALEATORIO 4ara abrir un archivo de acceso aleatorio y accesarlo se realiza lo siguiente; //Se crea la variable archivo de tipo File que contendr la direcci n File fichero=new File("Alumno.dat"); //Abre el archivo de acce!o aleatorio para lectura " e!critura archivo = new #andomAcce!!File(fichero$"rw"); // slo lectura *r+ o de lectura'escritura *r//+. Ra,#omAccess-i!e soporta la nocin de puntero de archivo. Este puntero indica la posicin actual en el archivo. 6uando el archivo se accesa por primera vez, el puntero de archivo es 7, indicando el principio del archivo. Las llamadas a los mtodos read ))) y 8rite))) a"ustan la posicin del puntero de archivo seg+n el Ing. Javier Alberto Manrique Quionez Pgina 9

Archivo binarios de datos n+mero de bytes le&dos o escritos. Los ob"etos 0andom*ccess5ile esperan informacin de lectura'escritura utilizando los mtodos read-,. y 8rite-,.. *dem!s de los mtodos de :'; normales que impl&citamente mueven el puntero de archivo cuando ocurre la operacin, 0andom*ccess5ile contiene un que manipula e(pl&citamente el puntero de archivo) see0 1 4osiciona el puntero de archivo en la posicin anterior al byte especificado.

ACTUALI&ACI'% DE I%-OR2ACI'% e pueden utilizar archivo de acceso aleatorio para escribir informacin. E"emplo) p3 !ic "oo!ea, escri irRegistro*A!3m,o oA!3m,o4 i,t posicio,+ 5 tr6 5 Ra,#omAccess-i!e archivo7 archivo 8 ,e/ Ra,#omAccess-i!e*9A!3m,o(#at94 9r/9+7 archivo(see0*posicio, : ;<=+7 archivo(/riteI,t*oA!3m,o(getA!3m,o>i#*++7 archivo(/riteUT-*oA!3m,o(getApe!!i#o%om re*++7 archivo(/riteDo3 !e*oA!3m,o(getEva!3acio,?arcia!;*++7 archivo(/riteDo3 !e*oA!3m,o(getEva!3acio,?arcia!@*++7 archivo(/riteDo3 !e*oA!3m,o(get?rome#ioDeTra aAo*++7 archivo(/riteDo3 !e*oA!3m,o(get?rome#io-i,a!*++7 ret3r, tr3e7 B catch *ECceptio, e+ 5 ret3r, Da!se7 B B LECTURA DE I%-OR2ACI'% e pueden utilizar archivo de acceso aleatorio para leer informacin. E"emplo) p3 !ic A!3m,o !eerRegistro*A!3m,o oA!3m,o4 i,t posicio,+ 5 tr6 5 Ra,#omAccess-i!e archivo7 archivo 8 ,e/ Ra,#omAccess-i!e*9A!3m,o(#at94 9r9+7 archivo(see0*posicio, : ;<=+7 oA!3m,o 8 ,e/ A!3m,o*archivo(rea#I,t*+4 archivo(rea#UT-*+4 archivo(rea#Do3 !e*+4 archivo(rea#Do3 !e*+4 archivo(rea#Do3 !e*+4 archivo(rea#Do3 !e*++7 ret3r, oA!3m,o7 B catch *IOECceptio, e+ 5 ret3r, ,3!!7 B B DETER2I%ACII'% DE %E2ERO DE RE$ISTROS e puede determinar el n+mero de registros grabados en un archivo . E"emplo) p3 !ic i,t ,3meroDeRegistro*+ 5 tr6 5 -i!e Dichero 8 ,e/ -i!e*9A!3m,o(#at9+7 Ra,#omAccess-i!e archivo7 archivo 8 ,e/ Ra,#omAccess-i!e*Dichero4 9r9+7 i,t , 8 *i,t+ 2ath(cei!**#o3 !e+ archivo(!e,gth*+ / ;<=+7 archivo(c!ose*+7 ret3r, ,7 B catch *IOECceptio, e+ 5 ret3r, FGG7 B B 2HTODOS ?ARA ESCRITURA

Ing. Javier Alberto Manrique Quionez

Pgina <

Archivo binarios de datos

void
/rite"oo!ea,( boolean )

Escribe un boolean como un valor byte. Escribe un byte como un valor byte. Escribe un string como una secuencia de bytes. Escribe un character como dos valores bytes. Escribe un string como una secuencia de caracteres. Escribe un double como una secuencia de ocho bytes. Escribe un float como una secuencia de cuatro bytes. Escribe un int como una secuencia de cuatro bytes. Escribe un long como una secuencia de ocho bytes. Escribe a short como una secuencia de dos bytes. Escribe un tring o cadena hacia un archivo usando el formato #35=> modificado en una m!quina de manera independiente.

void /rite"6te( int ) void /rite"6tes(


tring )

void /riteChar( int ) void /riteChars(


tring )

void /riteDo3 !e( double ) void /rite-!oat( float ) void /riteI,t( int ) void /riteLo,g( long) void /riteShort( int ) void /riteUT-(
tring str )

2HTODOS ?ARA LECTURA

boolean byte char doubl float int


tring

rea#"oo!ea, () rea#"6te() rea#Char() rea#Do3 !e*+ rea#-!oat*+ rea#I,t() rea#Li,e() rea#Lo,g() rea#Short$% rea#UT-()

lee un boolean desde un archivo lee un valor de > bits con signo desde un archivo. leer un +nico car!cter desde un archivo lee un double desde un archivo lee un float desde un archivo lee un valor int de 92 bits con signo desde un archivo. Lee la siguiente l&nea de te(to desde un archivo. lee un valor long de ?< bits con signo desde un archivo. lee un valor short de 1? bits con signo desde un archivo. lee un tring desde un archivo.

long short
tring

* continuacin se presenta un e"emplo de archivo binario de datos utilizando @#:, que proporciona un sistema de men+ a. b. c. d. 4resenta un formulario para un istema de /en+s. 4resenta un 5ormulario para un istema de /antenimiento *$6/ de alumnos. La letra *$6/ significan *ltas, $a"as, 6onsultas y /odificacin respectivamente. La estructura de la clase *lumno es la siguiente)
int String double double double double alumno_id apellidoNombre evaluacionParcial1 evaluacionParcial2 promedioDeTrabajo promedioFinal

e. f. g.

La longitud del registro es 1<7 bytes. #tiliza una clase de acceso a datos ,1*;. que permite interactuar la aplicacin con el archivo de datos almacenado e(ternamente. #tiliza una clase denominada *$6/*ction para almacenar las constantes de las operaciones posibles. En la 5igura ?.1 se presenta el e(plorador de proyectos con el sistema de menus y otros.

Ing. Javier Alberto Manrique Quionez

Pgina A

Archivo binarios de datos h. En la 5iguras ?.2, 5igura ?.9, 5igura ?.<, 5igura ?.A, 5igura ?.?, 5igura ?.B y 5igura ?.> se visualizan los formularios de la aplicacin e"emplo ,formularios de sistema de men+s y cuadrops de di!logo.. l. La 5igura ?.> presenta el cdigo de la aplicacin C *plicacion*rchivo1e1atos ". La 5igura ?.D presenta el cdigo de la aplicacin C *$6/*ction E. La 5igura ?.17 presenta el cdigo de la aplicacin C 6lase *lumno. l. La 5igura ?.11 presenta el cdigo de la aplicacin C 6lase *lumno 1*;. m. La 5igura ?.12 presenta el cdigo de la aplicacin C clase 0eporte6on4arametros n. La 5igura ?.19 presenta el cdigo de la aplicacin C %5rame*lumnos o. La 5igura ?.1< presenta el cdigo de la aplicacin C %1ialog*$6/*lumnos -ig3ra I(;1 -orm3!ario #e Sistema #e 2e,J e, eCp!ora#or #e pro6ectos

-ig3ra I(@1 -orm3!ario Sistema #e 2e,Js

Ing. Javier Alberto Manrique Quionez

Pgina ?

Archivo binarios de datos

-ig3ra I(@1 -orm3!ario Sistema #e 2a,te,imie,to A"C2 #e a!3m,os K %o actio,

-ig3ra I(L1 -orm3!ario Sistema #e 2a,te,imie,to A"C2 #e a!3m,os K Actio, I,sertarF"3scar

Ing. Javier Alberto Manrique Quionez

Pgina B

Archivo binarios de datos

-ig3ra I(<1 -orm3!ario Sistema #e 2a,te,imie,to A"C2 #e a!3m,os K Actio, I,sertarF$3ar#ar

Ing. Javier Alberto Manrique Quionez

Pgina >

Archivo binarios de datos

-ig3ra I(M1 -orm3!ario Sistema #e 2a,te,imie,to A"C2 #e a!3m,os K Actio, 2o#iDicarF$3ar#ar

-ig3ra I(I1 -orm3!ario Sistema #e 2a,te,imie,to A"C2 #e a!3m,os K Actio, 2o#iDicarFCo,Dirmar

Ing. Javier Alberto Manrique Quionez

Pgina D

Archivo binarios de datos

-ig3ra I(N1 -orm3!ario Sistema #e 2a,te,imie,to A"C2 #e a!3m,os K E!imi,ar F Co,Dirmar

Ing. Javier Alberto Manrique Quionez

Pgina 17

Archivo binarios de datos -ig3ra I(O CP#igo #e !a ap!icaciP, K Ap!icacio,ArchivoDeDatos

p3 !ic c!ass Ap!icacio,ArchivoDeDatos


F public static void main, tringGH args. F %5rame*lumnos o%5rame*lumnos I ne8 %5rame*lumnos,.; o%5rame*lumnos.setJisible,true.; K -ig3ra I(G1 CP#igo #e !a ap!icaciP, K A"C2Actio, pacEage 4aquete istema1e/enu;

p3 !ic c!ass A"C2Actio,


F public static int L;M*63:;L I public static int *63:;LM:L E03 public static int *63:;LM/;1:5:6*0 public static int *63:;LM6*L6EL*0 public static int *63:;LMEL:/:L*0 I public static int *63:;LM6;L #L3* K 1; I I I A; I 2; 9; <; ?;

-ig3ra I(;=1 CP#igo #e !a ap!icaciP, K C!ase A!3m,o pacEage 4aquete istema1e/enu;

p3 !ic c!ass A!3m,o


F private int private tring private double private double private double private double alumnoMid; apellidoLombre; evaluacion4arcial1; evaluacion4arcial2; promedio1e3raba"o; promedio5inal;

public *lumno,.
F this.alumnoMid I 7; this.apellidoLombre I null; this.evaluacion4arcial1 I 7; this.evaluacion4arcial2 I 7; this.promedio1e3raba"o I 7; this.promedio5inal I 7;

public *lumno,int alumnoMid.


F K this.alumnoMid I alumnoMid;

public *lumno,int alumnoMid, tring apellidoLombre, double evaluacion4arcial1,


F double evaluacion4arcial2, double promedio1e3raba"o, double promedio5inal. this.alumnoMid I alumnoMid; this.apellidoLombre I apellidoLombre; this.evaluacion4arcial1 I evaluacion4arcial1; this.evaluacion4arcial2 I evaluacion4arcial2; this.promedio1e3raba"o I promedio1e3raba"o; this.promedio5inal I promedio5inal;

public int get*lumnoMid,.


F K F K return this.alumnoMid;

public void set*lumnoMid,int alumnoMid.


this.alumnoMid I alumnoMid;

Ing. Javier Alberto Manrique Quionez

Pgina 11

Archivo binarios de datos

public tring get*pellidoLombre,.


F K return this.apellidoLombre;

public void set*pellidoLombre, tring apellidoLombre.


F K this.apellidoLombre I apellidoLombre;

public double getEvaluacion4arcial1,.


F K return this.evaluacion4arcial1;

public void setEvaluacion4arcial1,double evaluacion4arcial1.


F K this.evaluacion4arcial1 I evaluacion4arcial1;

public double getEvaluacion4arcial2,.


F K return this.evaluacion4arcial2;

public void setEvaluacion4arcial2,double evaluacion4arcial2.


F K this.evaluacion4arcial2 I evaluacion4arcial2;

public double get4romedio1e3raba"o,.


F K return this.promedio1e3raba"o;

public void set4romedio1e3raba"o,double promedio1e3raba"o.


F K this.promedio1e3raba"o I promedio1e3raba"o;

public void set4romedio5inal,double promedio5inal.


F K this.promedio5inal I promedio5inal;

public void set4romedio5inal,.


F K
this.promedio5inal I ,this.evaluacion4arcial1 N this.evaluacion4arcial2 N this.promedio1e3raba"o. ' 9;

public double get4romedio5inal,.


F K return this.promedio5inal;

public tring to tring,.


F K K return apellidoLombre;

-ig3ra I(;;1 CP#igo #e !a ap!icaciP, K C!ase A!3m,o DAO pacEage 4aquete istema1e/enu; import "ava.io.5ile; import "ava.io.:;E(ception; import "ava.io.0andom*ccess5ile; Ing. Javier Alberto Manrique Quionez Pgina 12

Archivo binarios de datos import "ava.util.*rrayList; import "ava.util.Jector;

public class *lumno1*;


F

public int numero1e0egistro,.


F try F 5ile fichero I ne8 5ile,O*lumno.datO.; 0andom*ccess5ile archivo; archivo I ne8 0andom*ccess5ile,fichero, OrO.; int n I ,int. /ath.ceil,,double. archivo.length,. ' 1<7.; archivo.close,.; return n;

K catch ,:;E(ception e. F return =DD; K K

public int buscar0egistro,int busqueda.


F int encontrado I 7; int posicion I 7; try F *lumno o*lumno I ne8 *lumno,.; 0andom*ccess5ile archivo; archivo I ne8 0andom*ccess5ile,O*lumno.datO, OrO.; 8hile ,,posicion P numero1e0egistro,.. QQ ,encontrado II 7.. F archivo.seeE,posicion R 1<7.; o*lumno I ne8 *lumno,archivo.read:nt,., archivo.read#35,., archivo.read1ouble,., archivo.read1ouble,., archivo.read1ouble,., archivo.read1ouble,..; if ,busqueda II o*lumno.get*lumnoMid,.. F encontrado I 1; K else F posicionNN; K K if ,encontrado II 1. F return posicion; K else F return =DD; K K catch ,:;E(ception e. F return =DD; K

public $oolean insertar0egistro,*lumno o*lumno.


F int posicion I numero1e0egistro,.; if ,escribir0egistro,o*lumno, posicion.. F return true; K else F return false; K

Ing. Javier Alberto Manrique Quionez

Pgina 19

Archivo binarios de datos

public *lumno consultar0egistro,int busqueda.


F *lumno o*lumno I ne8 *lumno,.; int posicion I buscar0egistro,busqueda.; if ,posicion SI =DD. F o*lumno I leer0egistro,o*lumno, posicion.; return o*lumno; K else F return null; K

public $oolean eliminar0egistro,int busqueda.


F *lumno o*lumno I ne8 *lumno,.; int posicion I buscar0egistro,busqueda.; if ,posicion SI =DD. F o*lumno I leer0egistro,o*lumno, posicion.; o*lumno.set*lumnoMid,7.; if ,escribir0egistro,o*lumno, posicion.. F return true; K else F return false; K K else F K K return false;

public $oolean modificar0egistro,int busqueda, *lumno o*lumno.


F int posicion I buscar0egistro,busqueda.; if ,posicion SI =DD. F if ,escribir0egistro,o*lumno, posicion.. F return true; K else F return false; K K else F return false; K

public *lumno leer0egistro,*lumno o*lumno, int posicion.


F try F 0andom*ccess5ile archivo; archivo I ne8 0andom*ccess5ile,O*lumno.datO, OrO.; archivo.seeE,posicion R 1<7.; o*lumno I ne8 *lumno,archivo.read:nt,., archivo.read#35,., archivo.read1ouble,., archivo.read1ouble,., archivo.read1ouble,., archivo.read1ouble,..; return o*lumno;

K catch ,:;E(ception e. F return null; K K

Ing. Javier Alberto Manrique Quionez

Pgina 1<

Archivo binarios de datos

public $oolean escribir0egistro,*lumno o*lumno, int posicion.


F try F 0andom*ccess5ile archivo; archivo I ne8 0andom*ccess5ile,O*lumno.datO, Or8O.; archivo.seeE,posicion R 1<7.; archivo.8rite:nt,o*lumno.get*lumnoMid,..; archivo.8rite#35,o*lumno.get*pellidoLombre,..; archivo.8rite1ouble,o*lumno.getEvaluacion4arcial1,..; archivo.8rite1ouble,o*lumno.getEvaluacion4arcial2,..; archivo.8rite1ouble,o*lumno.get4romedio1e3raba"o,..; archivo.8rite1ouble,o*lumno.get4romedio5inal,..; return true;

K catch ,E(ception e. F return false; K K

public *rrayListP*lumnoT obtener1atosEn*rrayList*lumno,.


F *rrayListP*lumnoT o*rrayList*lumno I ne8 *rrayListP*lumnoT,.; try F 5ile fichero I ne8 5ile,O*lumno.datO.; 0andom*ccess5ile archivo; archivo I ne8 0andom*ccess5ile,fichero, Or8O.; *lumno o*lumno; for ,int posicion I 7; posicion P numero1e0egistro,.; posicion I posicion N 1. F archivo.seeE,posicion R 1<7.; o*lumno I ne8 *lumno,archivo.read:nt,., archivo.read#35,., archivo.read1ouble,., archivo.read1ouble,., archivo.read1ouble,., archivo.read1ouble,..; o*rrayList*lumno.add,o*lumno.; K return o*rrayList*lumno; K catch ,:;E(ception e. F return null; K

public $oolean calcular4romedio5inal,.


F try F 5ile fichero I ne8 5ile,O*lumno.datO.; 0andom*ccess5ile archivo; archivo I ne8 0andom*ccess5ile,fichero, Or8O.; *lumno o*lumno; for ,int posicion I 7; posicion P numero1e0egistro,.; posicion I posicion N 1. F archivo.seeE,posicion R 1<7.; *lumno I ne8 *lumno,archivo.read:nt,., archivo.read#35,., archivo.read1ouble,.,
archivo.read1ouble,., archivo.read1ouble,., archivo.read1ouble,..;

o*lumno.set4romedio5inal,.; escribir0egistro,o*lumno, posicion.; K return true; K catch ,:;E(ception e. F return false; K Ing. Javier Alberto Manrique Quionez Pgina 1A

Archivo binarios de datos K K -ig3ra I(;@1 CP#igo #e !a ap!icaciP, K C!ase ReporteCo,?arametros pacEage 4aquete istema1e/enu; import "ava.net.#0L; import "ava.util.*rrayList; import "ava.util./ap; import "ava.util.Uash/ap; import net.sf."asperreports.engine.R; import net.sf."asperreports.engine.data.%0$ean6ollection1ata ource; import net.sf."asperreports.engine.util.%0Loader; import net.sf."asperreports.vie8.R;

public class 0eporte6on4arametros


F public 0eporte6on4arametros,. F K public void e"ecutar0eporte,#0L reporte#0L. F *lumno1*; o*lumno1*; I ne8 *lumno1*;,.; *rrayListP*lumnoT o*rrayList*lumno I ne8 *rrayListP*lumnoT,.; o*rrayList*lumno I o*lumno1*;.obtener1atosEnJector*lumno,.; /ap o/ap I ne8 Uash/ap,.; o/ap.put,O3ituloO,OListado de *lumnosO.; try F %asper0eport o0eporte I ,%asper0eport. %0Loader.load;b"ect,reporte#0L.; %asper4rint "asper4rint I %asper5ill/anager.fill0eport,o0eporte, o/ap, ne8 %0$ean6ollection1ata ource,o*rrayList*lumno..; '' e lanza el Jie8er de %asper, no termina aplicacin al salir %asperJie8er "vie8er I ne8 %asperJie8er,"asper4rint, false.; "vie8er.set3itle,O0eporte de alumnosO.; "vie8er.setJisible,true.; K catch ,E(ception ". F ystem.out.println,O/ensa"e de Error)O N ".get/essage,..; K K K

Ing. Javier Alberto Manrique Quionez

Pgina 1?

Archivo binarios de datos -ig3ra I(;L1 CP#igo #e !a ap!icaciP, K C!ase J-rameA!3m,os pacEage 4aquete istema1e/enu; import "ava.net.#0L; import "ava(.s8ing.%;ption4ane;

public class %5rame*lumnos e(tends "ava(.s8ing.%5rame


F

public %5rame*lumnos,.
F K F K init6omponents,.;

private void init6omponents,.


... pacE,.;

private void "/enu:tem*$6/*lumnos*ction4erformed,"ava.a8t.event.*ctionEvent evt.


F dialogo I ne8 %1ialog*$6/*lumnos,this, true.; dialogo.setLocation0elative3o,this.; dialogo.set ize,?77, A77.; dialogo.setJisible,true.;

private void "/enu:temListar*ction4erformed,"ava.a8t.event.*ctionEvent evt.


F dialogo I ne8 %1ialogListar*lumnos,this, true.; dialogo.set ize,?77, <77.; dialogo.setLocation0elative3o,this.; dialogo.setJisible,true.;

private void "/enu:tem6alcular4romedio*ction4erformed, "ava.a8t.event.*ctionEvent evt.


F dialogo I ne8 %1ialog6alcular4romedio,this, true.; dialogo.set ize,?77, <77.; dialogo.setLocation0elative3o,this.; dialogo.setJisible,true.;

private void "/enu:tem alir*ction4erformed,"ava.a8t.event.*ctionEvent evt.


F int respuesta I %;ption4ane.sho86onfirm1ialog,this, OVEst! seguro...WO, O1ialogo de 6onfirmacinO, %;ption4ane.XE ML;M;43:;L.; if ,respuesta II %;ption4ane.XE M;43:;L. F dispose,.; K K

private void "/enu:tem0eporte*ction4erformed,"ava.a8t.event.*ctionEvent evt.


0eporte6on4arametros o0eporte6on4arametros I ne8 0eporte6on4arametros,.; #0L reporte#0L I get6lass,..get0esource,O'4aquete istema1e/enu'0eporte1e*lumnos."asperO.; o0eporte6on4arametros.e"ecutar0eporte,reporte#0L.; K private "ava(.s8ing.%/enu "/enu*lumnos; private "ava(.s8ing.%/enu$ar "/enu$ar4rincipal; private "ava(.s8ing.%/enu:tem "/enu:tem6alcular4romedio; private "ava(.s8ing.%/enu:tem "/enu:tem:nsertar*lumnos; private "ava(.s8ing.%/enu:tem "/enu:temListar; private "ava(.s8ing.%/enu:tem "/enu:tem0eporte; private "ava(.s8ing.%/enu:tem "/enu:tem alir; private "ava(.s8ing.%/enu "/enu4rocesar; private "ava(.s8ing.%/enu "/enu alir; private "ava(.s8ing.%1ialog dialogo; K F

Ing. Javier Alberto Manrique Quionez

Pgina 1B

Archivo binarios de datos -ig3ra I(;<1 CP#igo #e !a ap!icaciP, K C!ase JDia!ogA"C2A!3m,os pacEage 4aquete istema1e/enu; import "ava.a8t.event.YeyEvent; import "ava.util.*rrayList; import "ava(.s8ing.%;ption4ane;

public class %1ialog*$6/*lumnos e(tends "ava(.s8ing.%1ialog


F private int action I *$6/*ction.L;M*63:;L; *rrayList3able/odel o/odelo1e3abla I ne8 *rrayList3able/odel,.; public %1ialog*$6/*lumnos,"ava.a8t.5rame parent, boolean modal. F super,parent, modal.; init6omponents,.; diseZar3abla,.; actualizar%3able*lumno,.; habilitar6a"as1e3e(to,false.; controlador1eEventos$otones*$/6,.; K

public void diseZar3abla,.


F o/odelo1e3abla.add6olumn,O*lumnoMidO.; o/odelo1e3abla.add6olumn,O*pellidos y LombresO.; o/odelo1e3abla.add6olumn,OEvaluacin 4arcial 1O.; o/odelo1e3abla.add6olumn,OEvaluacin 4arcial 2O.; o/odelo1e3abla.add6olumn,O4romedio de 3raba"oO.; o/odelo1e3abla.add6olumn,O4romedio 5inalO.; "3able*lumno.set0o8 election*llo8ed,true.; 3able6olumn/odel modelo1e6olumna I "3able*lumno.get6olumn/odel,.; 3able6olumn columna*lumnoMid I modelo1e6olumna.get6olumn,7.; columna*lumnoMid.set4referred[idth,<7.; columna*lumnoMid.setUeaderJalue,OPhtmlTO N O*lumnoMidO N OP'htmlTO.; 3able6olumn columna*pellidoLombres I modelo1e6olumna.get6olumn,1.; columna*pellidoLombres.set4referred[idth,<7.; columna*pellidoLombres.setUeaderJalue,OPhtmlTO N O*pellidos yO N OPbrTO N OLombresO N OP'htmlTO.; 3able6olumn columnaEvaluacion4arcial1 I modelo1e6olumna.get6olumn,2.; columnaEvaluacion4arcial1.set4referred[idth,>7.; columnaEvaluacion4arcial1.setUeaderJalue,OPhtmlTO N OEvaluacin O N OPbrTO N O 4arcial 1O N OP'htmlTO.; 3able6olumn columnaEvaluacion4arcial2 I modelo1e6olumna.get6olumn,9.; columnaEvaluacion4arcial2.set4referred[idth,?7.; columnaEvaluacion4arcial2.setUeaderJalue,OPhtmlTO N OEvaluacin O N OPbrTO N O 4arcial 2O N OP'htmlTO.; 3able6olumn columna4romedio1e3raba"o I modelo1e6olumna.get6olumn,<.; columna4romedio1e3raba"o.set4referred[idth,?7.; columna4romedio1e3raba"o.setUeaderJalue,OPhtmlTO N O4romedio de O N OPbrTO N O 3raba"oO N OP'htmlTO.; 3able6olumn columna4romedio5inal I modelo1e6olumna.get6olumn,A.; columna4romedio5inal.set4referred[idth,?7.; columna4romedio5inal.setUeaderJalue,OPhtmlTO N O4romedio O N OPbrTO N O 5inal O N OP'htmlTO.; K

private void limpiar3abla*lumno,.


Ing. Javier Alberto Manrique Quionez Pgina 1>

Archivo binarios de datos F int size I o/odelo1e3abla.get0o86ount,.; for ,int i I 7; i P size; iNN. F o/odelo1e3abla.remove0o8,7.; K

private void actualizar%3able*lumno,.


F limpiar3abla*lumno,.; *lumno1*; o*lumno1*; I ne8 *lumno1*;,.; *rrayListP*lumnoT o*rrayList*lumno I o*lumno1*;.obtener1atosEnJector*lumno,.; if ,o*rrayList*lumno SI null. F for ,int i I 7; i P o*rrayList*lumno.size,.; iNN. F *lumno o*lumno I o*rrayList*lumno.get,i.; if ,o*lumno.get*lumnoMid,. SI 7. F *rrayList o*rrayList I ne8 *rrayList,.; o*rrayList.add,o*lumno.get*lumnoMid,..; o*rrayList.add,o*lumno.; o*rrayList.add,o*lumno.getEvaluacion4arcial1,..; o*rrayList.add,o*lumno.getEvaluacion4arcial2,..; o*rrayList.add,o*lumno.get4romedio1e3raba"o,..; o*rrayList.add,o*lumno.get4romedio5inal,..; o/odelo1e3abla.add0o8,o*rrayList.; K K K else F limpiar3abla*lumno,.; K

private void habilitar6a"as1e3e(to ,boolean editable.


F "3e(t5ield*lumnoMid.setEditable,editable.; "3e(t5ield*pellidoLombre.setEditable,editable.; "3e(t5ieldEvaluacion4arcial1.setEditable,editable.; "3e(t5ieldEvaluacion4arcial2.setEditable,editable.; "3e(t5ield4romedio1e3raba"o.setEditable,editable.;

private void limpiar6a"as1e3e(to,.


F "3e(t5ield*lumnoMid.set3e(t,OO.; "3e(t5ield*pellidoLombre.set3e(t,OO.; "3e(t5ieldEvaluacion4arcial1.set3e(t,OO.; "3e(t5ieldEvaluacion4arcial2.set3e(t,OO.; "3e(t5ield4romedio1e3raba"o.set3e(t,OO.;

private void habilitar$otones*$/6,boolean c$uscar, boolean cLuevo, boolean c@uardar,


boolean c/odificar, boolean cEliminar, boolean c6ancelar, boolean c alir. F "$utton$uscar.setEnabled,c$uscar.; "$uttonLuevo.setEnabled,cLuevo.; "$utton@uardar.setEnabled,c@uardar.; "$utton/odificar.setEnabled,c/odificar.; "$uttonEliminar.setEnabled,cEliminar.; "$utton6ancelar.setEnabled,c6ancelar.; "$utton alir.setEnabled,c alir.; K

private *lumno get;b"eto*lumno,.


F *lumno o*lumno I ne8 *lumno,.; o*lumno.set*lumnoMid,:nteger.parse:nt,"3e(t5ield*lumnoMid.get3e(t,...; o*lumno.set*pellidoLombre,"3e(t5ield*pellidoLombre.get3e(t,..; Pgina 1D

Ing. Javier Alberto Manrique Quionez

Archivo binarios de datos o*lumno.setEvaluacion4arcial1,1ouble.parse1ouble,"3e(t5ieldEvaluacion4arcial1.get3e(t,...; o*lumno.setEvaluacion4arcial2,1ouble.parse1ouble,"3e(t5ieldEvaluacion4arcial2.get3e(t,...; o*lumno.set4romedio1e3raba"o,1ouble.parse1ouble,"3e(t5ield4romedio1e3raba"o.get3e(t,...; return o*lumno; K

private void set;b"eto*lumno,*lumno o*lumno.


F "3e(t5ield*lumnoMid.set3e(t,o*lumno.get*lumnoMid,. N OO.; "3e(t5ield*pellidoLombre.set3e(t,o*lumno.get*pellidoLombre,. N OO.; "3e(t5ieldEvaluacion4arcial1.set3e(t,o*lumno.getEvaluacion4arcial1,. N OO.; "3e(t5ieldEvaluacion4arcial2.set3e(t,o*lumno.getEvaluacion4arcial2,. N OO.; "3e(t5ield4romedio1e3raba"o.set3e(t,o*lumno.get4romedio1e3raba"o,. N OO.;

private void init6omponents,.


F K . . . pacE,.;

private void "$utton$uscar*ction4erformed,"ava.a8t.event.*ctionEvent evt.


F *lumno1*; o*lumno1*; I ne8 *lumno1*;,.; *lumno o*lumno I ne8 *lumno,.; int busqueda I :nteger.parse:nt,"3e(t5ield*lumnoMid.get3e(t,..; o*lumno I o*lumno1*;.consultar0egistro,busqueda.; if ,o*lumno SI null. F %;ption4ane.sho8/essage1ialog,null, O0egistro e(istente SSSO.; K else F action I *$6/*ction.*63:;LM:L E03; "3e(t5ield*lumnoMid.setEditable,false.; habilitar6a"as1e3e(to,true.; habilitar$otones*$/6,false, false, true, false, false, true, false.; "3e(t5ield*pellidoLombre.request5ocus,.; K

private void "$uttonLuevo*ction4erformed,"ava.a8t.event.*ctionEvent evt.


F "3able*lumno.clear election,.; habilitar$otones*$/6,true, false, false, false, false, true, false.; limpiar6a"as1e3e(to,.; "3e(t5ield*lumnoMid.setEditable,true.; "3e(t5ield*lumnoMid.request5ocus,.;

private void "3able*lumno/ouse6licEed,"ava.a8t.event./ouseEvent evt.


F if ,evt.get6licE6ount,. II 1. F int selected0o8 I "3able*lumno.get elected0o8,.; if ,selected0o8 SI =1. F *lumno o*lumno eleccionado I ,*lumno. "3able*lumno.getJalue*t,selected0o8, set;b"eto*lumno,o*lumno eleccionado.; action I *$6/*ction.*63:;LM6;L #L3*; controlador1eEventos$otones*$/6,.; K K K

1.;

private void "$utton@uardar*ction4erformed,"ava.a8t.event.*ctionEvent evt.


F if ,action II *$6/*ction.*63:;LM:L E03. F int res I %;ption4ane.sho86onfirm1ialog,this, OVEst! seguro de insertar el alumnoWO, O1i!logo de 6onfirmacinO, %;ption4ane.XE ML;M;43:;L.; if ,res II %;ption4ane.XE M;43:;L.

Ing. Javier Alberto Manrique Quionez

Pgina 27

Archivo binarios de datos F *lumno1*; o*lumno1*; I ne8 *lumno1*;,.; o*lumno1*;.insertar0egistro,get;b"eto*lumno,..; %;ption4ane.sho8/essage1ialog,null, O;peracin E(itosaO.; action I *$6/*ction.L;M*63:;L; controlador1eEventos$otones*$/6,.; "$uttonLuevo.request5ocus,.; K else F action I *$6/*ction.L;M*63:;L; controlador1eEventos$otones*$/6,.; K K else F if ,action II *$6/*ction.*63:;LM/;1:5:6*0. F int res I %;ption4ane.sho86onfirm1ialog,this, OVEst! seguro de modificar el *lumnoWO, O1i!logo de 6onfirmacinO, %;ption4ane.XE ML;M;43:;L.; if ,res II %;ption4ane.XE M;43:;L. F *lumno1*; o*lumno1*; I ne8 *lumno1*;,.; if ,o*lumno1*;.modificar0egistro, :nteger.parse:nt,"3e(t5ield*lumnoMid.get3e(t,. ., get;b"eto*lumno,... F %;ption4ane.sho8/essage1ialog,null, O;peracion E(itosaO.; action I *$6/*ction.L;M*63:;L; controlador1eEventos$otones*$/6,.; K else F %;ption4ane.sho8/essage1ialog,null, OLo se pudo completar la operacinO.; K K else F action I *$6/*ction.L;M*63:;L; controlador1eEventos$otones*$/6,.; K K K actualizar%3able*lumno,.; K

private void "$utton/odificar*ction4erformed,"ava.a8t.event.*ctionEvent evt.


F K action I *$6/*ction.*63:;LM/;1:5:6*0; controlador1eEventos$otones*$/6,.;

private void "$utton alir*ction4erformed,"ava.a8t.event.*ctionEvent evt.


F K dispose

private void "$utton6ancelar*ction4erformed ,"ava.a8t.event.*ctionEvent evt.


F K action I *$6/*ction.L;M*63:;L; controlador1eEventos$otones*$/6,.;

private void "3able*lumnoYey4ressed ,"ava.a8t.event.YeyEvent evt.


F if ,evt.getYey6ode,. II YeyEvent.JYM#4. F int selected0o8 I "3able*lumno.get elected0o8,.; selected0o8 == ; if ,selected0o8 SI =1. F *lumno o*lumno eleccionado I ,*lumno. "3able*lumno.getJalue*t,selected0o8,

1.; Ing. Javier Alberto Manrique Quionez Pgina 21

Archivo binarios de datos set;b"eto*lumno,o*lumno eleccionado.; K K else F if ,evt.getYey6ode,. II YeyEvent.JYM1;[L. F int selected0o8 I "3able*lumno.get elected0o8,.; selected0o8NN; if ,selected0o8 SI "3able*lumno.get0o86ount,.. F *lumno o*lumno eleccionado I ,*lumno. "3able*lumno.getJalue*t,selected0o8, 1.; set;b"eto*lumno,o*lumno eleccionado.; K K K K

private void "$uttonEliminar*ction4erformed,"ava.a8t.event.*ctionEvent evt. F if ,"3e(t5ield*lumnoMid.get3e(t,..length,. SI 7. F try F int res I %;ption4ane.sho86onfirm1ialog,this, OVEst! seguro de eliminar el registro WO, O1ialogo de 6onfirmacionO, %;ption4ane.XE ML;M;43:;L.; if ,res II %;ption4ane.XE M;43:;L. F *lumno1*; o*lumno1*; I ne8 *lumno1*;,.; if ,o*lumno1*;.eliminar0egistro,:nteger.parse:nt,"3e(t5ield*lumnoMid.get3e(t,.... F %;ption4ane.sho8/essage1ialog,null, O;peracion E(itosaO.; action I *$6/*ction.L;M*63:;L; controlador1eEventos$otones*$/6,.; actualizar%3able*lumno,.; K else F %;ption4ane.sho8/essage1ialog,null, OLo se pudo completar la operacionO.; K K K catch ,E(ception e. F %;ption4ane.sho8/essage1ialog,null, OEscriba los datos correctamenteO.; K K else F %;ption4ane.sho8/essage1ialog,null, O:ngrese el *lumnoMidO.; K K

private void controlador1eEventos$otones*$/6 ,.


F if ,action II *$6/*ction.L;M*63:;L. F habilitar6a"as1e3e(to,false.; habilitar$otones*$/6,false, true, false, true, true, false, true.; "$uttonLuevo.request5ocus,.; limpiar6a"as1e3e(to,.; K else F if ,action II *$6/*ction.*63:;LM:L E03. F limpiar6a"as1e3e(to,.; "3e(t5ield*lumnoMid.setEnabled,true.; habilitar$otones*$/6,true, false, true, false, false, true, false.;

Ing. Javier Alberto Manrique Quionez

Pgina 22

Archivo binarios de datos K else F if ,action II *$6/*ction.*63:;LM/;1:5:6*0. F habilitar6a"as1e3e(to,true.; habilitar$otones*$/6,false, false, true, false, false, true, false.; "3e(t5ield*lumnoMid.setEditable,false.; K else F if ,action II *$6/*ction.*63:;LM6;L #L3*. F habilitar6a"as1e3e(to,false.; habilitar$otones*$/6,true, true, false, true, true, false, true.; "3e(t5ield*lumnoMid.setEditable,false.; K K K K K private "ava(.s8ing.%$utton "$utton$uscar; private "ava(.s8ing.%$utton "$utton6ancelar; private "ava(.s8ing.%$utton "$uttonEliminar; private "ava(.s8ing.%$utton "$utton@uardar; private "ava(.s8ing.%$utton "$utton/odificar; private "ava(.s8ing.%$utton "$uttonLuevo; private "ava(.s8ing.%$utton "$utton alir; private "ava(.s8ing.%Label "Label*lumnoMid; private "ava(.s8ing.%Label "Label*pellidos; private "ava(.s8ing.%Label "LabelEvaluacion4arcial1; private "ava(.s8ing.%Label "LabelEvaluacion4arcial2; private "ava(.s8ing.%Label "Label4rimedio1e3raba"o; private "ava(.s8ing.%Label "Label3itulo; private "ava(.s8ing.%4anel "4anel1; private "ava(.s8ing.% croll4ane " croll4ane*lumno; private "ava(.s8ing.%3able "3able*lumno; private "ava(.s8ing.%3e(t5ield "3e(t5ield*lumnoMid; private "ava(.s8ing.%3e(t5ield "3e(t5ield*pellidoLombre; private "ava(.s8ing.%3e(t5ield "3e(t5ieldEvaluacion4arcial1; private "ava(.s8ing.%3e(t5ield "3e(t5ieldEvaluacion4arcial2; private "ava(.s8ing.%3e(t5ield "3e(t5ield4romedio1e3raba"o; K

Ing. Javier Alberto Manrique Quionez

Pgina 29

Archivo binarios de datos import "ava.io. erializable; import "ava.util.R; import "ava(.s8ing.event.3able/odelEvent; import "ava(.s8ing.table.R; public class *rrayList3able/odel e(tends *bstract3able/odel implements erializable F private boolean cellEditable I false; protected *rrayList data*rray; protected *rrayList column:dentifiers; private intGH columnsEdit I F K; public *rrayList3able/odel,. F this,7, 7.; K public *rrayList3able/odel,int ro86ount, int column6ount. F this,ne8 *rrayList,column6ount., ro86ount.; K public *rrayList3able/odel,;b"ectGHGH data, ;b"ectGH columnLames. F 1efault3able/odel m I null; set1ata*rray,data, columnLames.; K public *rrayList3able/odel,;b"ectGH columnLames, int ro86ount. F this,convert3o*rrayList,columnLames., ro86ount.; K public *rrayList3able/odel,*rrayList columnLames, int ro86ount. F set1ata*rray,ne8 *rrayList,ro86ount., columnLames.; K public *rrayList3able/odel,*rrayList data, *rrayList columnLames. F set1ata*rray,data, columnLames.; K public int get6olumn6ount,. F return column:dentifiers.size,.; K public void remove0o8,int ro8. F data*rray.remove,ro8.; fire3able0o8s1eleted,ro8, ro8.; K public int get0o86ount,. F return data*rray.size,.; K public tring get6olumnLame,int column. F ;b"ect id I null; if ,column P column:dentifiers.size,.. F id I column:dentifiers.get,column.; K return ,id II null. W super.get6olumnLame,column. ) id.to tring,.; K public boolean is6ellEditable,int ro8, int column. F int size I columnsEdit.length; if ,size SI 7. F for ,int i I 7; i P size; iNN. Ing. Javier Alberto Manrique Quionez Pgina 2<

Archivo binarios de datos F if ,columnsEditGiH II column. F cellEditable I false; breaE; K K K else F cellEditable I true; K return cellEditable; K public void set6olumnEditable,intGH columns. F this.columnsEdit I columns; K public 6lass get6olumn6lass,int column:nde(. F if ,get0o86ount,. II 7. F return ;b"ect.class; K ;b"ect ob"eto I getJalue*t,7, column:nde(.; return ob"eto II null W ;b"ect.class ) ob"eto.get6lass,.; K public ;b"ect getJalue*t,int ro8:nde(, int column:nde(. F *rrayList ro8*rray I ,*rrayList. data*rray.get,ro8:nde(.; return ro8*rray.get,column:nde(.; K public void setJalue*t,;b"ect aJalue, int ro8, int column. F *rrayList ro8*rray I ,*rrayList. data*rray.get,ro8.; ro8*rray.set,column, aJalue.; fire3able6ell#pdated,ro8, column.; K protected *rrayList get1ata*rray,. F return data*rray; K public *rrayList get1ata,. F return ne8 *rrayList,,*rrayList. get1ata*rray,..clone,..; K '' get1ata,. public *rrayList get6olumnLames,. F return ,*rrayList. column:dentifiers.clone,.; K ''public void set1ataJector,Jector dataJector, Jector column:dentifiers. public void set1ata*rray,*rrayList data*rray, *rrayList column:dentifiers. F this.data*rray I nonLull*rrayList,data*rray.; this.column:dentifiers I nonLull*rrayList,column:dentifiers.; "ustify0o8s,7, get0o86ount,..; fire3able tructure6hanged,.; K public void set1ata*rray,;b"ectGHGH data*rray, ;b"ectGH column:dentifiers. F set1ata*rray,convert3o*rrayList,data*rray., convert3o*rrayList,column:dentifiers..; K private void "ustify0o8s,int from, int to. F data*rray.ensure6apacity,get0o86ount,..; for ,int i I from; i P to; iNN. Ing. Javier Alberto Manrique Quionez Pgina 2A

Archivo binarios de datos F if ,data*rray.get,i. II null. F data*rray.add,i, ne8 *rrayList,..; K ,,*rrayList. data*rray.get,i...ensure6apacity,get6olumn6ount,..; K K '' "ustify0o8s,. private static *rrayList nonLull*rrayList,*rrayList al. F return ,al SI null. W al ) ne8 *rrayList,.; K protected static *rrayList convert3o*rrayList,;b"ectGH an*rray. F if ,an*rray II null. F return null; K *rrayList al I ne8 *rrayList,an*rray.length.; for ,int i I 7; i P an*rray.length; iNN. F al.add,an*rrayGiH.; K return al; K protected static *rrayList convert3o*rrayList,;b"ectGHGH an*rray. F if ,an*rray II null. F return null; K *rrayList al I ne8 *rrayList,an*rray.length.; for ,int i I 7; i P an*rray.length; iNN. F al.add,convert3o*rrayList,an*rrayGiH..; K 1efault3able/odel m I null; return al; K public void add6olumn,;b"ect columnLame. F add6olumn,columnLame, ,List. null.; K public void add6olumn,;b"ect columnLame, List column1ata. F column:dentifiers.add,columnLame.; if ,column1ata SI null. F int column ize I column1ata.size,.; if ,column ize T get0o86ount,.. F ''data*rray.set ize,column ize.; data*rray.ensure6apacity,column ize.; K "ustify0o8s,7, get0o86ount,..; int ne86olumn I get6olumn6ount,. = 1; for ,int i I 7; i P column ize; iNN. F List ro8 I ,List. data*rray.get,i.; ro8.add,ne86olumn, column1ata.get,i..; K K else F "ustify0o8s,7, get0o86ount,..; K fire3able tructure6hanged,.; K '' add6olumn,. public void add6olumn,;b"ect columnLame, ;b"ectGH column1ata. F add6olumn,columnLame, convert3o*rrayList,column1ata..; K

Ing. Javier Alberto Manrique Quionez

Pgina 2?

Archivo binarios de datos public void add0o8,;b"ectGH ro81ata. F add0o8,convert3o*rrayList,ro81ata..; K '' add0o8,;b"ectGH. public void add0o8,*rrayList ro81ata. F insert0o8,get0o86ount,., ro81ata.; K '' add0o8,List. public void insert0o8,int ro8, *rrayList ro81ata. F data*rray.add,ro8, ro81ata.; "ustify0o8s,ro8, ro8 N 1.; fire3able0o8s:nserted,ro8, ro8.; K '' insert0o8,int, *rrayList. public void move0o8,int start, int end, int to. F int shift I to = start; int first, last; if ,shift P 7. F first I to; last I end; K else F first I start; last I to N end = start; K rotate,data*rray, first, last N 1, shift.; fire3able0o8s#pdated,first, last.; K '' move0o8,. private static void rotate,*rrayList v, int a, int b, int shift. F int size I b = a; int r I size = shift; int g I gcd,size, r.; for ,int i I 7; i P g; iNN. F int to I i; ;b"ect tmp I v.get,a N to.; for ,int from I ,to N r. \ size; from SI i; from I ,to N r. \ size. F v.set,a N to, v.get,a N from..; to I from; K v.set,a N to, tmp.; K K '' rotate,. private static int gcd,int i, int ". F return ," II 7. W i ) gcd,", i \ ".; K '' gcd,. public void set6olumn6ount,int column6ount. F column:dentifiers I ,*rrayList. column:dentifiers.subList,7, column6ount = 1.; '' column:dentifiers.set ize,column6ount.; "ustify0o8s,7, get0o86ount,..; fire3able tructure6hanged,.; K '' set6olumn6ount,. public void set0o86ount,int ro86ount. F setLum0o8s,ro86ount.; K '' set0o86ount,. public void setLum0o8s,int ro86ount. F int old I get0o86ount,.; Ing. Javier Alberto Manrique Quionez Pgina 2B

Archivo binarios de datos if ,old II ro86ount. F return; K data*rray I ne8 *rrayList,data*rray.subList,7, ro86ount = 1..; '' data*rray.set ize,ro86ount.; if ,ro86ount PI old. F fire3able0o8s1eleted,ro86ount, old = 1.; K else F "ustify0o8s,old, ro86ount.; fire3able0o8s:nserted,old, ro86ount = 1.; K K public void set6olumn:dentifiers,;b"ectGH ne8:dentifiers. F set6olumn:dentifiers,convert3o*rrayList,ne8:dentifiers..; K public void set6olumn:dentifiers,*rrayList column:dentifiers. F set1ata*rray,data*rray, column:dentifiers.; K public void ne80o8s*dded,3able/odelEvent e. F "ustify0o8s,e.get5irst0o8,., e.getLast0o8,. N 1.; fire3able6hanged,e.; K '' ne80o8s*dded,. public void ne81ata*vailable,3able/odelEvent event. F fire3able6hanged,event.; K public void ro8s0emoved,3able/odelEvent event. F fire3able6hanged,event.; K K

Ing. Javier Alberto Manrique Quionez

Pgina 2>

Anda mungkin juga menyukai