You are on page 1of 19

Archivos de Datos en C# y reportes con Crystal Report

Ing. Javier Alberto Manrique Quiñonez Página 1

Archivos de Datos en C# y reportes con Crystal Report Crystel Report es un ARCHIVOS DE DATOS Y REPORTES CON CRYSTAL REPORT Ing. Javier Alberto Manrique Quiñonez Página 2 .

Javier Alberto Manrique Quiñonez Página 3 .Archivos de Datos en C# y reportes con Crystal Report FORMULARIO SISTEMA DE MANTENIMIENTO ABCM DE ALUMNOS – NO ACTION Ing.

Javier Alberto Manrique Quiñonez Página 4 .Archivos de Datos en C# y reportes con Crystal Report FORMULARIO SISTEMA DE MANTENIMIENTO ABCM DE ALUMNOS – ACTION INSERTAR .BUSCAR FORMULARIO SISTEMA DE MANTENIMIENTO ABCM DE ALUMNOS ACTION INSERTAR .GUARDAR Ing.

Archivos de Datos en C# y reportes con Crystal Report FORMULARIO SISTEMA DE MANTENIMIENTO ABCM DE ALUMNOS MODIFICAR . Javier Alberto Manrique Quiñonez Página 5 .CONFIRMAR Ing.GUARDAR FORMULARIO SISTEMA DE MANTENIMIENTO ABCM DE ALUMNOS MODIFICAR .

Javier Alberto Manrique Quiñonez Página 6 .Archivos de Datos en C# y reportes con Crystal Report FORMULARIO SISTEMA DE MANTENIMIENTO ABCM DE ALUMNOS SELECCIÓN DE FILA FORMULARIO SISTEMA DE MANTENIMIENTO ABCM DE ALUMNOS Ing.

Archivos de Datos en C# y reportes con Crystal Report ELIMINAR . Javier Alberto Manrique Quiñonez Página 7 .CONFIRMAR APLICACIÓN EN EL EXPLORADOR DE SOLUCIONES Ing.

Archivos de Datos en C# y reportes con Crystal Report Ing. Javier Alberto Manrique Quiñonez Página 8 .

Archivos de Datos en C# y reportes con Crystal Report Ing. Javier Alberto Manrique Quiñonez Página 9 .

Javier Alberto Manrique Quiñonez Página 10 .Archivos de Datos en C# y reportes con Crystal Report Ing.

alumno_id = alumno_id.Archivos de Datos en C# y reportes con Crystal Report CÓDIGO .promedioDeTrabajo = 0.apellidoNombre = apellidoNombre. } public void setApellidoNombre ( String apellidoNombre ) { this.Generic.alumno_id = alumno_id. double evaluacionParcial2.Generic.promedioDeTrabajo = promedioDeTrabajo.Text. this.Windows . private double promedioFinal. using System.evaluacionParcial1 = 0. this. this. } public Alumno ( int alumno_id. } public void setAlumno_id ( int alumno_id ) { this.Run(new FormSistemaDeMenu()).alumno_id = 0. } public int getAlumno_id ( ) { return this. double evaluacionParcial1. private double evaluacionParcial2. this. using System. Application. using System . double promedioFinal ) { this. Application. this. } Ing.SetCompatibleTextRenderingDefault(false). this. private double evaluacionParcial1.apellidoNombre. this. } } CÓDIGO – Clase Alumno using System. public Alumno ( ) { this.Program using System.EnableVisualStyles(). private double promedioDeTrabajo.Linq.Collections. using System. } public double getEvaluacionParcial1 ( ) { return this. String apellidoNombre. using System .apellidoNombre = null.promedioFinal = promedioFinal. private String apellidoNombre. this. namespace ABCMyDAO { static class Program { [STAThread] static void Main() { Application.Linq.evaluacionParcial2 = 0.Collections . this.evaluacionParcial1.evaluacionParcial1 = evaluacionParcial1.apellidoNombre = apellidoNombre. Javier Alberto Manrique Quiñonez Página 11 .Forms. double promedioDeTrabajo. namespace ArchivoDeDatosConGUIyDAO { public class Alumno { private int alumno_id.evaluacionParcial2 = evaluacionParcial2.alumno_id. using System . } public String getApellidoNombre ( ) { return this.

Linq. } public double getEvaluacionParcial2 ( ) { return this. int posicion = buscarRegistro(busqueda). } public double getPromedioFinal ( ) { return this. Javier Alberto Manrique Quiñonez Página 12 . using System.promedioDeTrabajo = promedioDeTrabajo. } else { return false.Generic.evaluacionParcial2+this. } public void setPromedioDeTrabajo ( double promedioDeTrabajo ) { this. } } public Boolean modificarRegistro ( int busqueda. using System .IO.Collections .Archivos de Datos en C# y reportes con Crystal Report public void setEvaluacionParcial1 ( double evaluacionParcial1 ) { this.evaluacionParcial2 = evaluacionParcial2. posicion)) { return true. using System. if(posicion != -99) { oAlumno = leerRegistro(oAlumno. namespace ABCMyDAO { public class AlumnoDAO { public Boolean insertarRegistro(Alumno oAlumno) { int posicion = numeroDeRegistro().promedioDeTrabajo)/3.evaluacionParcial2. } } public Alumno consultarRegistro(int busqueda) { Alumno oAlumno = new Alumno(). using System . } public double getPromedioDeTrabajo ( ) { return promedioDeTrabajo. if(escribirRegistro(oAlumno. posicion). return oAlumno.evaluacionParcial1+this. Alumno oAlumno ) Ing. } public void setPromedioFinal ( ) { this.promedioFinal=(this. } else { return null.evaluacionParcial1 = evaluacionParcial1.Text. } public String toString ( ) { return apellidoNombre. } public void setPromedioFinal ( double promedioFinal ) { this.promedioFinal. } } } CÓDIGO – Clase AlumnoDAO using System. using System .Collections.promedioFinal = promedioFinal. } public void setEvaluacionParcial2 ( double evaluacionParcial2 ) { this.

int tamañoDelArchivo = numeroDeRegistro().Default.ReadInt32(). oAlumno.Close(). } else { posicion++. if ( posicion != -99 ) { if (escribirRegistro(oAlumno.Default.Settings.ReadString().longitudDeRegistro. } } else { return false. posicion). Alumno oAlumno ) { Alumno oAlumno.Default. if(escribirRegistro(oAlumno.Archivos de Datos en C# y reportes con Crystal Report { int posicion = buscarRegistro(busqueda).Settings.nombreDeArchivo.Seek(posicion*longitudDeRegistro.Settings. } } public Alumno leerRegistro(Alumno oAlumno.longitudDeRegistro.setAlumno_id(0). int encontrado = 0. } } else { return false. } } fs.Read). } } public Boolean eliminarRegistro(int busqueda) { Alumno oAlumno = new Alumno().br. } } public Boolean modificarRegistro ( int busqueda.ReadDouble(). oAlumno=new Alumno(br. posicion) ) { return true. int longitudDeRegistro = Properties. FileMode.ReadDouble() ).Settings. int posicion = buscarRegistro(busqueda).Begin). while ( (posicion < tamañoDelArchivo) && (encontrado == 0) ) { br.SeekOrigin.br.br.br.Default.Close(). if ( encontrado == 1 ) { return posicion. String archivo = Properties. } else { return -99. FileStream fs = new FileStream(archivo. Ing. } else { return false.OpenOrCreate. posicion)) { return true.getAlumno_id() ) { encontrado = 1. } else { return false. int posicion) { String archivo = Properties.br. int longitudDeRegistro = Properties. int posicion = 0. br.nombreDeArchivo. if(posicion != -99) { oAlumno = leerRegistro(oAlumno.BaseStream. FileAccess. if ( busqueda == oAlumno.ReadDouble().ReadDouble(). Javier Alberto Manrique Quiñonez Página 13 . BinaryReader br = new BinaryReader(fs).

SeekOrigin. int longitudDeRegistro = Properties.Read).Write(oAlumno.ReadDouble()). FileStream fs=new FileStream(archivo.Settings.Write(oAlumno.Write(oAlumno. oListAlumno.ReadString().Write(oAlumno.BaseStream. SeekOrigin.Close().ReadDouble()). FileMode. br.Archivos de Datos en C# y reportes con Crystal Report FileStream fs = new FileStream(archivo.Settings. BinaryReader br = new BinaryReader(fs). br.Default. } } } Ing.Default. fs.Close(). int posicion ) { String archivo=Properties.longitudDeRegistro.Ceiling((double) fs.Begin). br.FileMode.ReadWrite).BaseStream .Seek(posicion * longitudDeRegistro. return oListAlumno. return true. br.ReadInt32(). bw.Default. fs .longitudDeRegistro. } public List<Alumno> obtenerDatosEnList() { AlumnoDAO oAlumnoDAO = new AlumnoDAO().OpenOrCreate. } public int numeroDeRegistro() { String archivo = Properties. br.br. FileStream fs = new FileStream(archivo.OpenOrCreate. br.Settings. int longitudDeRegistro = Properties . br.Settings.getPromedioDeTrabajo()). FileAccess. FileAccess. bw.ReadDouble(). return n.numeroDeRegistro().Read). posicion < oAlumnoDAO. bw .ReadInt32().longitudDeRegistro.nombreDeArchivo. } public Boolean escribirRegistro ( Alumno oAlumno.Length / (double) longitudDeRegistro)). List<Alumno> oListAlumno = new List<Alumno>().nombreDeArchivo.ReadDouble(). fs.Seek(posicion*longitudDeRegistro.Close().Begin).Default.BaseStream.Settings. FileMode.br. Javier Alberto Manrique Quiñonez Página 14 .Default. for (int posicion = 0.ReadDouble().Write(oAlumno. fs. bw. posicion = posicion + 1) { br. FileMode. BinaryReader br = new BinaryReader(fs). FileStream fs = new FileStream(archivo. br.OpenOrCreate.ReadString(). bw.OpenOrCreate. Alumno oAlumno. BinaryWriter bw = new BinaryWriter(fs). return oAlumno. FileAccess. bw.Default.getApellidoNombre()). int n = (int) (Math.getAlumno_id()). br.ReadDouble(). } br. FileAccess.getPromedioFinal()). oAlumno=new Alumno(br.Close().Write(oAlumno. int longitudDeRegistro = Properties.ReadDouble().nombreDeArchivo.Close(). oAlumno=new Alumno(br.Read). String archivo = Properties. bw.Close().Close().SeekOrigin.getEvaluacionParcial2()).ReadDouble().Seek(posicion*longitudDeRegistro.br. bw.Settings.Begin).getEvaluacionParcial1()).Add(oAlumno).

// Para indicar la forma de selección de las filas dataGridViewAlumno. // Para cambiar mediante programación el color de la línea de la cuadrícula dataGridViewAlumno.DefaultCellStyle.Alignme nt = DataGridViewContentAlignment.DefaultCellStyle.Generic. dataGridViewAlumno. namespace ABCMyDAO { public partial class FormularioABCM : Form { private int action = ABCMAccion. dataGridViewAlumno. controladorDeEventosBotonesABCM().MiddleLeft.GridColor = Color.Black. dataGridViewAlumno.NO_ACTION. using System.RowsDefaultCellStyle.Forms.Alignment = DataGridViewContentAlignment.DefaultCellStyle. dataGridViewAlumno. // Para establecer estilos de filas alternas mediante programación dataGridViewAlumno. // Para especificar la alineación del texto de celdas de DataGridView dataGridViewAlumno. using System.Font = new Font("Tahoma".SelectionBackColor = Color.Pink.Data. dataGridViewAlumno.Aqua. dataGridViewAlumno.MiddleRight.Columns["ColumnEvaluacionparcial2"].MiddleRight. dataGridViewAlumno. // Para especificar los colores de primer plano y de fondo de celdas // seleccionadas de DataGridView dataGridViewAlumno.BackColor = Color.Purple.Alignment = DataGridViewContentAlignment.Alignme nt = DataGridViewContentAlignment.SelectionMode = DataGridViewSelectionMode.Collections.AlternatingRowsDefaultCellStyle.DefaultCellStyle.Columns["ColumnPromedioFinal"].BackColor = Color.BorderStyle = BorderStyle.Alignment = DataGridViewContentAlignment.Alignme nt = DataGridViewContentAlignment.Columns["ColumnPromedioDetrabajo"].FullRowSelect.Columns["ColumnApellidoNombre"]. Ing.Fixed3D.ComponentModel. using System.Blue. Javier Alberto Manrique Quiñonez Página 15 .MiddleRight.Forms. using System. actualizarDataGridViewAlumno(). } private void formatearDataGridView() { //Para especificar la fuente utilizada por las celdas de DataGridView dataGridViewAlumno.SelectionForeColor = Color.Archivos de Datos en C# y reportes con Crystal Report CÓDIGO – Clase FormularioABCM using System.Collections. 07).DefaultCellStyle.DefaultCellStyle. public FormularioABCM() { InitializeComponent(). // Para cambiar mediante programación el estilo de borde de todo el control DataGridView dataGridViewAlumno.Columns["ColumnEvaluacionparcial1"]. formatearDataGridView(). using System.Windows.DefaultCellStyle. using System.DefaultCellStyle.Drawing.Columns["ColumnAlumno_id"]. using System.MiddleRight.MiddleRight.Windows.DefaultCellStyle.Design.

textBoxEvaluacionParcial1.Archivos de Datos en C# y reportes con Crystal Report // Para especificar los colores de primer plano y de fondo de las celdas de DataGridView } dataGridViewAlumno. AlumnoDAO oAlumnDAO = new AlumnoDAO().setApellidoNombre(textBoxApellidoNombre.Parse(textBoxEvaluacionParcial1. if (filaSeleccionada != -1) { Alumno oAlumnoSeleccionado = (Alumno) dataGridViewAlumno. posicion < oListAlumno. buttonEliminar.Black. oListAlumno[posicion]. textBoxApellidoNombre.Text)). Boolean cEditar. oListAlumno[posicion]. return oAlumno.getAlumno_id()!=0) { dataGridViewAlumno.Text = oAlumno.Parse(textBoxPromedioDeTrabajo.getAlumno_id() + "". dataGridViewAlumno.Enabled = cNuevo.getApellidoNombre() + "".getAlumno_id(). oAlumno.Text)).Count.BackColor = Color.getEvaluacionParcial2() + "". private Alumno getObjetoAlumno() { Alumno oAlumno = new Alumno().Enabled = cEliminar. textBoxEvaluacionParcial2. buttonModificar.getPromedioFinal()).Enabled = cCancelar.Text)).getPromedioDeTrabajo() + "".setAlumno_id(int. Boolean cSalir) { buttonBuscar. } public void limpiarCajasDeTexto() { textBoxAlumno_id. oAlumno. Ing. } private void limpiarDataGridViewAlumno() { dataGridViewAlumno. oAlumno.Text)).Text).obtenerDatosEnList().Add(oListAlumno[posicion].Parse(textBoxEvaluacionParcial2. Boolean cGuardar. oListAlumno[posicion].Enabled = cGuardar. buttonNuevo.ForeColor = Color. } } } private void dataGridViewAlumno_MouseClick(object sender. List<Alumno> oListAlumno = oAlumnDAO. posicion=posicion+1) { if(oListAlumno[posicion].DefaultCellStyle. MouseEventArgs e) { if ((e. buttonSalir.setEvaluacionParcial2(double. oAlumno.Enabled = cEditar.Rows.Beige.Value. buttonGuardar. Boolean cEliminar. setObjetoAlumno(oAlumnoSeleccionado).RowCount>=1)) { int filaSeleccionada = dataGridViewAlumno. Boolean cNuevo.getPromedioDeTrabajo().getEvaluacionParcial2().Clicks == 1) && (dataGridViewAlumno. oAlumno. buttonCancelar.setPromedioDeTrabajo(double.Rows. Boolean cCancelar.getEvaluacionParcial1() + "". } private void setObjetoAlumno(Alumno oAlumno) { textBoxAlumno_id. } } } private void habilitarBotonesABCM( Boolean cBuscar. oListAlumno[posicion].DefaultCellStyle.setEvaluacionParcial1(double.Rows[filaSeleccionada].getEvaluacionParcial1().Text = oAlumno.Index.Clear().Cells[1]. } private void actualizarDataGridViewAlumno() { limpiarDataGridViewAlumno(). Javier Alberto Manrique Quiñonez Página 16 .Text = oAlumno.Enabled = cBuscar.Enabled = cSalir.Text = oAlumno.Parse(textBoxAlumno_id.CurrentRow. oListAlumno[posicion].Text = oAlumno. textBoxPromedioDeTrabajo.Text = "". for (int posicion = 0.

.NO_ACTION.ClearSelection().Text = "".Show("Ingrese el código del un alumno. false. controladorDeEventosBotonesABCM(). MessageBoxButtons. EventArgs e) { if (action == ABCMAccion. true. } } else { MessageBox.Length) > 0) { Alumno oAlumno = new Alumno(). textBoxPromedioDeTrabajo. !!!").ACTION_INSERTAR. busqueda = int. !!!").Enabled = false. false.ACTION_INSERTAR) { if (MessageBox.. habilitarBotonesABCM(true. habilitarBotonesABCM(false. textBoxEvaluacionParcial1. !!!").. textBoxPromedioDeTrabajo. } else { MessageBox. habilitarCajasDeTexto(true).Enabled = editable.Show("El registro ya existe . action = ABCMAccion. if (oAlumno == null) { textBoxAlumno_id.Text = "". } Ing.Enabled = editable.Archivos de Datos en C# y reportes con Crystal Report textBoxApellidoNombre. true.Text = "". false. true. false. int busqueda = 0. } } private void buttonGuardar_Click(object sender. false. action = ABCMAccion. } public void habilitarCajasDeTexto(Boolean editable) { textBoxApellidoNombre. false.. textBoxEvaluacionParcial1. "Confirme el guardado". false. MessageBoxIcon..?". false). textBoxEvaluacionParcial2. EventArgs e) { if ((textBoxAlumno_id..Focus(). false).YesNo.Text.Parse(textBoxAlumno_id. } else { MessageBox. Javier Alberto Manrique Quiñonez Página 17 .Enabled = true.Yes) { AlumnoDAO oAlumnoDAO = new AlumnoDAO().Text). EventArgs e) { dataGridViewAlumno.Question) == DialogResult. if (oAlumnoDAO.Enabled = editable. action = ABCMAccion.Focus()..Enabled = editable.Text = "". limpiarCajasDeTexto().NO_ACTION.insertarRegistro(getObjetoAlumno())) { action = ABCMAccion. actualizarDataGridViewAlumno(). oAlumno = oAlumnoDAO. AlumnoDAO oAlumnoDAO = new AlumnoDAO().NO_ACTION..Show("¿Desea guardarlo. } private void buttonBuscar_Click(object sender. buttonNuevo.Show("No se pude grabar el registro.consultarRegistro(busqueda). controladorDeEventosBotonesABCM(). controladorDeEventosBotonesABCM(). textBoxEvaluacionParcial2. } } else { limpiarCajasDeTexto().Focus(). textBoxAlumno_id. textBoxAlumno_id. } private void buttonNuevo_Click(object sender. textBoxAlumno_id.

dataGridViewAlumno.ClearSelection(). habilitarBotonesABCM(true.Enabled = false. } } private void buttonCancelar_Click(object sender.. controladorDeEventosBotonesABCM(). true.. MessageBoxIcon..Archivos de Datos en C# y reportes con Crystal Report } else { if (action == ABCMAccion. true. } else { if (action == ABCMAccion..ACTION_MODIFICAR) { if (MessageBox.Text. controladorDeEventosBotonesABCM(). } } private void controladorDeEventosBotonesABCM() { if (action == ABCMAccion. controladorDeEventosBotonesABCM(). if (oAlumnoDAO. Alumno oAlumno = new Alumno().. true.Yes) { AlumnoDAO oAlumnoDAO = new AlumnoDAO(). habilitarBotonesABCM(true.Show("No se pudo guardar el registro . true.Focus().Show("¿Desea cerrar el formulario?".Show("No se ha seleccionado un registro .NO_ACTION.ACTION_INSERTAR) { limpiarCajasDeTexto(). textBoxAlumno_id. EventArgs e) { action = ABCMAccion.Enabled = true. action = ABCMAccion.Focus().YesNo). buttonNuevo. true. true). EventArgs e) { if (dataGridViewAlumno. false.Show("No existen registros . limpiarCajasDeTexto(). action = ABCMAccion. } private void buttonSalir_Click(object sender.!!!"). "Confirme el guardado".Parse(textBoxAlumno_id.NO_ACTION) { textBoxAlumno_id.Focus()..Show("Está seguro de guardar las modificaciones?". if (filaSeleccionada != -1 && (textBoxAlumno_id. MessageBoxButtons. getObjetoAlumno()) ) { MessageBox. "Cuidado". } } else { MessageBox.NO_ACTION.Yes) { Dispose().YesNo. } else { MessageBox. actualizarDataGridViewAlumno(). Javier Alberto Manrique Quiñonez Página 18 . false.!!!").. !!!").Show("Operación exitosa . if (dialogo == DialogResult.Index. habilitarCajasDeTexto(false). false). true.!!!")..RowCount >= 1) { int filaSeleccionada = dataGridViewAlumno. false.Question) == DialogResult.Text). false. buttonNuevo. Ing. MessageBoxButtons.Length) > 0) { textBoxApellidoNombre.CurrentRow. } } } } } private void buttonModificar_Click(object sender. } else { MessageBox.modificarRegistro(int.ACTION_MODIFICAR. EventArgs e) { DialogResult dialogo = MessageBox.

Show("No se pudo eliminar el registro .consultarRegistro(busqueda). action = ABCMAccion. int busqueda = int.Show("Está seguro de eliminar los datos?"..Show("¿Desea cerrar el formulario?".Show("No } se pudo eliminar el registro .Index. EventArgs e) { if (dataGridViewAlumno. } else { MessageBox.. true.Show("Se tiene que seleccionar un registro .YesNo). false. "Cuidado".CurrentRow.Yes) { AlumnoDAO oAlumnoDAO = new AlumnoDAO(). controladorDeEventosBotonesABCM(). true. MessageBoxIcon. textBoxAlumno_id.Length) > 0) {if (MessageBox.NO_ACTION. controladorDeEventosBotonesABCM().Archivos de Datos en C# y reportes con Crystal Report } else { if (action == ABCMAccion. false).NO_ACTION.!!!").Parse(textBoxAlumno_id.Show("No existen registros .No) { e. "Confirme la eliminación".Question) == DialogResult. oAlumno = oAlumnoDAO.Text.. controladorDeEventosBotonesABCM().!!!"). FormClosingEventArgs e) { DialogResult dialogo = MessageBox. } } else { MessageBox. } } } } private void buttonEliminar_Click(object sender.ACTION_MODIFICAR) { habilitarCajasDeTexto(true).Text)..RowCount>=1) { int filaSeleccionada = dataGridViewAlumno.Show("Se eliminó el registro .!!!"). { MessageBox.NO_ACTION... if (filaSeleccionada != -1 && (textBoxAlumno_id. } else } else { MessageBox..Cancel = true.. Javier Alberto Manrique Quiñonez Página 19 . action = ABCMAccion.!!!"). } } } else { MessageBox.Enabled = false. if (oAlumno != null) { if (oAlumnoDAO.Cancel = false. false. } else { if (dialogo == DialogResult. Alumno oAlumno = new Alumno().!!!" ). MessageBoxButtons.YesNo.No) { e.eliminarRegistro(busqueda)) { MessageBox... if (dialogo == DialogResult. } } private void FormularioABCMyDAOyBD_FormClosing(object sender. false. actualizarDataGridViewAlumno()... } } } } Ing.Show("No se pudo eliminar el registro . MessageBoxButtons.!!!"). action = ABCMAccion. habilitarBotonesABCM(false.