Está en la página 1de 13

Instituto Tecnolgico Superior de Lerdo

Documentacin tcnica

Samuel de Santiago Lpez Gonzlez 10231025

Ricardo de Jess Bustamante Gonzlez Administracin y organizacin de datos

27 de febrero del 2012 Lerdo, Durango

Documentacion tcnica

Cdigo del programa


using using using using using using using using using using using using using using System; System.Collections.Generic; System.Linq; System.Text; System.Windows; System.Windows.Controls; System.Windows.Data; System.Windows.Documents; System.Windows.Input; System.Windows.Media; System.Windows.Media.Imaging; System.Windows.Navigation; System.Windows.Shapes; System.IO;

namespace Alumneitor { /// <summary> /// Lgica de interaccin para MainWindow.xaml /// </summary> public partial class MainWindow : Window { string nombre; int totalRegistros = 0; int registroActual = 0; bool modificar = false; Datos[] datosAlumno = new Datos[1000]; bool modificado = false;

public MainWindow() { InitializeComponent(); } private void menu_archivo_nuevo_Click(object sender, RoutedEventArgs e) { //Crear Microsoft.Win32.SaveFileDialog ventanaSalvar = new Microsoft.Win32.SaveFileDialog(); if (ventanaSalvar.ShowDialog() == true) { nombre = ventanaSalvar.FileName; Archivo.Crear(ventanaSalvar.FileName); menu_archivo_guardar.IsEnabled = true; menu_archivo_guardarComo.IsEnabled = true; btn_nuevo.IsEnabled = true; btn_eliminar.IsEnabled = false; btn_cancelar.IsEnabled = false; } }

private void menu_archivo_abrir_Click(object sender, RoutedEventArgs e) { //Abrir Microsoft.Win32.OpenFileDialog ventanaAbrir = new Microsoft.Win32.OpenFileDialog(); if (ventanaAbrir.ShowDialog() == true) { nombre = ventanaAbrir.FileName; BinaryReader lectura = Archivo.Leer(nombre, ref totalRegistros); lv_alumnos.Items.Clear(); for (int i = 0; i < totalRegistros; i++) //Se leen todos los datos del archivo y se almacenan en el arreglo temporal { lectura.BaseStream.Seek(70 * i, SeekOrigin.Begin); datosAlumno[i] = new Datos(); datosAlumno[i].numero = lectura.ReadInt32(); datosAlumno[i].nombre = lectura.ReadString(); datosAlumno[i].paterno = lectura.ReadString(); datosAlumno[i].materno = lectura.ReadString(); datosAlumno[i].nacimiento = lectura.ReadString(); lv_alumnos.Items.Add(datosAlumno[i].numero); } menu_archivo_guardar.IsEnabled = true; menu_archivo_guardarComo.IsEnabled = true; btn_nuevo.IsEnabled = true; if (totalRegistros > 0) { btn_eliminar.IsEnabled = true; VerRegistro(0); lbl_registros.Content = "Registros: " + (registroActual + 1) + " / " + totalRegistros; btn_actualizar.IsEnabled = true; lv_alumnos.SelectedIndex = 0; registroActual = 0; } btn_cancelar.IsEnabled = false; ventana.Title = "Alumneitor: " + nombre; } } private void menu_archivo_guardar_Click(object sender, RoutedEventArgs e) { //Guardar Archivo.Guardar(nombre, datosAlumno, totalRegistros); modificado = false; }

public void VerRegistro(int numeroRegistro) { //Funcion para mostrar un registro especifico registroActual = numeroRegistro; tbx_nombre.Text = datosAlumno[registroActual].nombre.ToString(); tbx_paterno.Text = datosAlumno[registroActual].paterno; tbx_materno.Text = datosAlumno[registroActual].materno;

tbx_numero.Text = datosAlumno[registroActual].numero.ToString(); dtp_nacimiento.Text = datosAlumno[registroActual].nacimiento.ToString(); ;

} private void lv_alumnos_SelectionChanged(object sender, SelectionChangedEventArgs e) { try { //Se muestra el registro que este seleccionado VerRegistro(lv_alumnos.SelectedIndex); registroActual = lv_alumnos.SelectedIndex; lbl_registros.Content = "Registros: " + (registroActual + 1) + " / " + totalRegistros; } catch (IndexOutOfRangeException ex) { } } private void menu_archivo_guardarComo_Click(object sender, RoutedEventArgs e) { //Se guarda con otro nombre Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog(); if (sfd.ShowDialog() == true) { nombre = sfd.FileName; Archivo.Guardar(nombre, datosAlumno, totalRegistros); modificado = false; } } private void btn_agregar_Click(object sender, RoutedEventArgs e) { try { if (modificar) { Actualizar(registroActual); btn_agregar.Content = "Agregar"; modificar = false; } else { //Se agregan datos al arreglo temporal, siempre y cuando haya algo en los textbox datosAlumno[totalRegistros] = new Datos(); datosAlumno[totalRegistros].numero = int.Parse(tbx_numero.Text); datosAlumno[totalRegistros].nombre = tbx_nombre.Text; datosAlumno[totalRegistros].paterno = tbx_paterno.Text; datosAlumno[totalRegistros].materno = tbx_materno.Text; datosAlumno[totalRegistros].nacimiento = dtp_nacimiento.Text; registroActual = totalRegistros; totalRegistros++; if (!btn_eliminar.IsEnabled) btn_eliminar.IsEnabled = true;

lv_alumnos.Items.Add(tbx_numero.Text); lbl_registros.Content = "Registros: " + (registroActual + 1) + " / " + totalRegistros; lv_alumnos.SelectedIndex = registroActual; } btn_agregar.IsEnabled = false; btn_nuevo.IsEnabled = true; btn_cancelar.IsEnabled = false; btn_actualizar.IsEnabled = true; modificado = true; } catch (FormatException ex) { MessageBox.Show("Ingresa todos los campos", "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } private void Window_Loaded(object sender, RoutedEventArgs e) { //Al cargar se deshabilitan ciertos botones btn_agregar.IsEnabled = false; menu_archivo_guardar.IsEnabled = false; menu_archivo_guardarComo.IsEnabled = false; btn_nuevo.IsEnabled = false; btn_eliminar.IsEnabled = false; btn_cancelar.IsEnabled = false; btn_actualizar.IsEnabled = false; } private void menu_archivo_cerrar_Click(object sender, RoutedEventArgs e) { if (modificado) { MessageBoxResult respuesta = MessageBox.Show("Saldras sin guardar, Deseas Guardar?", "Advertencia", MessageBoxButton.YesNoCancel, MessageBoxImage.Exclamation); if (respuesta == MessageBoxResult.Yes) { //Guardar Archivo.Guardar(nombre, datosAlumno, totalRegistros); modificado = false; } else if (respuesta == MessageBoxResult.No) this.Close(); } else this.Close(); } private void btn_nuevo_Click(object sender, RoutedEventArgs e) { //Se limpian.... tbx_nombre.Clear(); tbx_materno.Clear(); tbx_paterno.Clear(); tbx_numero.Clear(); dtp_nacimiento.Text=""; btn_agregar.IsEnabled = true;

btn_nuevo.IsEnabled = false; lbl_registros.Content = "Registros Nuevo"; btn_cancelar.IsEnabled = true; tbx_nombre.Focus(); btn_eliminar.IsEnabled = false; btn_actualizar.IsEnabled = false; lv_alumnos.SelectedIndex = -1; } private void btn_eliminar_Click(object sender, RoutedEventArgs e) { //Se iguala a nulo el registro a eliminar datosAlumno[registroActual] = null; for (int i = registroActual; i < totalRegistros; i++) { datosAlumno[i] = datosAlumno[i+1]; // Se recorren los registros en el arreglo temporal } totalRegistros--; lv_alumnos.Items.RemoveAt(registroActual); //Se elimina el elemento de la lista if (totalRegistros > 0) { lv_alumnos.SelectedIndex = 0; //Se muestra el primer registro lbl_registros.Content = "Registros: " + (registroActual + 1) + " / " + totalRegistros; } else { //se limpian textbox etc, en caso de no haber registros tbx_nombre.Clear(); tbx_materno.Clear(); tbx_paterno.Clear(); tbx_numero.Clear(); dtp_nacimiento.Text = ""; lbl_registros.Content = "Sin Registros"; btn_eliminar.IsEnabled = false; btn_actualizar.IsEnabled = false; } modificado = true; } private void btn_cancelar_Click(object sender, RoutedEventArgs e) { btn_agregar.IsEnabled = false; btn_actualizar.IsEnabled = false; btn_nuevo.IsEnabled = true; lv_alumnos.SelectedIndex = 0; btn_cancelar.IsEnabled = false; if (totalRegistros == 0) { lbl_registros.Content = "Sin Registros"; } else { btn_actualizar.IsEnabled = true; btn_eliminar.IsEnabled = true; lv_alumnos.SelectedIndex = 0; } if (modificar)

{ modificar = false; btn_agregar.Content = "Agregar"; } } public void Actualizar(int indice) { datosAlumno[indice].numero = int.Parse(tbx_numero.Text); datosAlumno[indice].nombre = tbx_nombre.Text; datosAlumno[indice].paterno = tbx_paterno.Text; datosAlumno[indice].materno = tbx_materno.Text; datosAlumno[indice].nacimiento = dtp_nacimiento.Text; } private void btn_actualizar_Click(object sender, RoutedEventArgs e) { modificar = true; btn_cancelar.IsEnabled = true; btn_nuevo.IsEnabled = false; btn_eliminar.IsEnabled = false; btn_actualizar.IsEnabled = false; btn_agregar.Content = "Guardar"; btn_agregar.IsEnabled = true; tbx_nombre.Focus(); //lv_alumnos.SelectedIndex = -1; } private void ventana_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (modificado) { MessageBoxResult respuesta = MessageBox.Show("Saldras sin guardar, Deseas Guardar?", "Advertencia", MessageBoxButton.YesNoCancel, MessageBoxImage.Exclamation); if (respuesta == MessageBoxResult.Yes) { //Guardar Archivo.Guardar(nombre, datosAlumno, totalRegistros); modificado = false; } else if (respuesta == MessageBoxResult.No) this.Close(); else e.Cancel = true; } } } }

Documentacion tcnica

Cdigo del programa


using System; using System.Collections.Generic; using System.Linq;

using using using using using using using using using using using

System.Text; System.Windows; System.Windows.Controls; System.Windows.Data; System.Windows.Documents; System.Windows.Input; System.Windows.Media; System.Windows.Media.Imaging; System.Windows.Navigation; System.Windows.Shapes; System.IO;

namespace Alumneitor { /// <summary> /// Lgica de interaccin para MainWindow.xaml /// </summary> public partial class MainWindow : Window { string nombre; int totalRegistros = 0; int registroActual = 0; bool modificar = false; Datos[] datosAlumno = new Datos[1000]; bool modificado = false;

public MainWindow() { InitializeComponent(); } private void menu_archivo_nuevo_Click(object sender, RoutedEventArgs e) { //Crear Microsoft.Win32.SaveFileDialog ventanaSalvar = new Microsoft.Win32.SaveFileDialog(); if (ventanaSalvar.ShowDialog() == true) { nombre = ventanaSalvar.FileName; Archivo.Crear(ventanaSalvar.FileName); menu_archivo_guardar.IsEnabled = true; menu_archivo_guardarComo.IsEnabled = true; btn_nuevo.IsEnabled = true; btn_eliminar.IsEnabled = false; btn_cancelar.IsEnabled = false; } } private void menu_archivo_abrir_Click(object sender, RoutedEventArgs e) { //Abrir Microsoft.Win32.OpenFileDialog ventanaAbrir = new Microsoft.Win32.OpenFileDialog(); if (ventanaAbrir.ShowDialog() == true) { nombre = ventanaAbrir.FileName; BinaryReader lectura = Archivo.Leer(nombre, ref totalRegistros);

lv_alumnos.Items.Clear(); for (int i = 0; i < totalRegistros; i++) //Se leen todos los datos del archivo y se almacenan en el arreglo temporal { lectura.BaseStream.Seek(70 * i, SeekOrigin.Begin); datosAlumno[i] = new Datos(); datosAlumno[i].numero = lectura.ReadInt32(); datosAlumno[i].nombre = lectura.ReadString(); datosAlumno[i].paterno = lectura.ReadString(); datosAlumno[i].materno = lectura.ReadString(); datosAlumno[i].nacimiento = lectura.ReadString(); lv_alumnos.Items.Add(datosAlumno[i].numero); } menu_archivo_guardar.IsEnabled = true; menu_archivo_guardarComo.IsEnabled = true; btn_nuevo.IsEnabled = true; if (totalRegistros > 0) { btn_eliminar.IsEnabled = true; VerRegistro(0); lbl_registros.Content = "Registros: " + (registroActual + 1) + " / " + totalRegistros; btn_actualizar.IsEnabled = true; lv_alumnos.SelectedIndex = 0; registroActual = 0; } btn_cancelar.IsEnabled = false; ventana.Title = "Alumneitor: " + nombre; } } private void menu_archivo_guardar_Click(object sender, RoutedEventArgs e) { //Guardar Archivo.Guardar(nombre, datosAlumno, totalRegistros); modificado = false; }

public void VerRegistro(int numeroRegistro) { //Funcion para mostrar un registro especifico registroActual = numeroRegistro; tbx_nombre.Text = datosAlumno[registroActual].nombre.ToString(); tbx_paterno.Text = datosAlumno[registroActual].paterno; tbx_materno.Text = datosAlumno[registroActual].materno; tbx_numero.Text = datosAlumno[registroActual].numero.ToString(); dtp_nacimiento.Text = datosAlumno[registroActual].nacimiento.ToString(); ;

} private void lv_alumnos_SelectionChanged(object sender, SelectionChangedEventArgs e)

{ try { //Se muestra el registro que este seleccionado VerRegistro(lv_alumnos.SelectedIndex); registroActual = lv_alumnos.SelectedIndex; lbl_registros.Content = "Registros: " + (registroActual + 1) + " / " + totalRegistros; } catch (IndexOutOfRangeException ex) { } } private void menu_archivo_guardarComo_Click(object sender, RoutedEventArgs e) { //Se guarda con otro nombre Microsoft.Win32.SaveFileDialog sfd = new Microsoft.Win32.SaveFileDialog(); if (sfd.ShowDialog() == true) { nombre = sfd.FileName; Archivo.Guardar(nombre, datosAlumno, totalRegistros); modificado = false; } } private void btn_agregar_Click(object sender, RoutedEventArgs e) { try { if (modificar) { Actualizar(registroActual); btn_agregar.Content = "Agregar"; modificar = false; } else { //Se agregan datos al arreglo temporal, siempre y cuando haya algo en los textbox datosAlumno[totalRegistros] = new Datos(); datosAlumno[totalRegistros].numero = int.Parse(tbx_numero.Text); datosAlumno[totalRegistros].nombre = tbx_nombre.Text; datosAlumno[totalRegistros].paterno = tbx_paterno.Text; datosAlumno[totalRegistros].materno = tbx_materno.Text; datosAlumno[totalRegistros].nacimiento = dtp_nacimiento.Text; registroActual = totalRegistros; totalRegistros++; if (!btn_eliminar.IsEnabled) btn_eliminar.IsEnabled = true; lv_alumnos.Items.Add(tbx_numero.Text); lbl_registros.Content = "Registros: " + (registroActual + 1) + " / " + totalRegistros; lv_alumnos.SelectedIndex = registroActual; } btn_agregar.IsEnabled = false; btn_nuevo.IsEnabled = true; btn_cancelar.IsEnabled = false; btn_actualizar.IsEnabled = true;

modificado = true; } catch (FormatException ex) { MessageBox.Show("Ingresa todos los campos", "Error", MessageBoxButton.OK, MessageBoxImage.Exclamation); } } private void Window_Loaded(object sender, RoutedEventArgs e) { //Al cargar se deshabilitan ciertos botones btn_agregar.IsEnabled = false; menu_archivo_guardar.IsEnabled = false; menu_archivo_guardarComo.IsEnabled = false; btn_nuevo.IsEnabled = false; btn_eliminar.IsEnabled = false; btn_cancelar.IsEnabled = false; btn_actualizar.IsEnabled = false; } private void menu_archivo_cerrar_Click(object sender, RoutedEventArgs e) { if (modificado) { MessageBoxResult respuesta = MessageBox.Show("Saldras sin guardar, Deseas Guardar?", "Advertencia", MessageBoxButton.YesNoCancel, MessageBoxImage.Exclamation); if (respuesta == MessageBoxResult.Yes) { //Guardar Archivo.Guardar(nombre, datosAlumno, totalRegistros); modificado = false; } else if (respuesta == MessageBoxResult.No) this.Close(); } else this.Close(); } private void btn_nuevo_Click(object sender, RoutedEventArgs e) { //Se limpian.... tbx_nombre.Clear(); tbx_materno.Clear(); tbx_paterno.Clear(); tbx_numero.Clear(); dtp_nacimiento.Text=""; btn_agregar.IsEnabled = true; btn_nuevo.IsEnabled = false; lbl_registros.Content = "Registros Nuevo"; btn_cancelar.IsEnabled = true; tbx_nombre.Focus(); btn_eliminar.IsEnabled = false; btn_actualizar.IsEnabled = false; lv_alumnos.SelectedIndex = -1; }

private void btn_eliminar_Click(object sender, RoutedEventArgs e) { //Se iguala a nulo el registro a eliminar datosAlumno[registroActual] = null; for (int i = registroActual; i < totalRegistros; i++) { datosAlumno[i] = datosAlumno[i+1]; // Se recorren los registros en el arreglo temporal } totalRegistros--; lv_alumnos.Items.RemoveAt(registroActual); //Se elimina el elemento de la lista if (totalRegistros > 0) { lv_alumnos.SelectedIndex = 0; //Se muestra el primer registro lbl_registros.Content = "Registros: " + (registroActual + 1) + " / " + totalRegistros; } else { //se limpian textbox etc, en caso de no haber registros tbx_nombre.Clear(); tbx_materno.Clear(); tbx_paterno.Clear(); tbx_numero.Clear(); dtp_nacimiento.Text = ""; lbl_registros.Content = "Sin Registros"; btn_eliminar.IsEnabled = false; btn_actualizar.IsEnabled = false; } modificado = true; } private void btn_cancelar_Click(object sender, RoutedEventArgs e) { btn_agregar.IsEnabled = false; btn_actualizar.IsEnabled = false; btn_nuevo.IsEnabled = true; lv_alumnos.SelectedIndex = 0; btn_cancelar.IsEnabled = false; if (totalRegistros == 0) { lbl_registros.Content = "Sin Registros"; } else { btn_actualizar.IsEnabled = true; btn_eliminar.IsEnabled = true; lv_alumnos.SelectedIndex = 0; } if (modificar) { modificar = false; btn_agregar.Content = "Agregar"; } } public void Actualizar(int indice) { datosAlumno[indice].numero = int.Parse(tbx_numero.Text);

datosAlumno[indice].nombre = tbx_nombre.Text; datosAlumno[indice].paterno = tbx_paterno.Text; datosAlumno[indice].materno = tbx_materno.Text; datosAlumno[indice].nacimiento = dtp_nacimiento.Text; } private void btn_actualizar_Click(object sender, RoutedEventArgs e) { modificar = true; btn_cancelar.IsEnabled = true; btn_nuevo.IsEnabled = false; btn_eliminar.IsEnabled = false; btn_actualizar.IsEnabled = false; btn_agregar.Content = "Guardar"; btn_agregar.IsEnabled = true; tbx_nombre.Focus(); //lv_alumnos.SelectedIndex = -1; } private void ventana_Closing(object sender, System.ComponentModel.CancelEventArgs e) { if (modificado) { MessageBoxResult respuesta = MessageBox.Show("Saldras sin guardar, Deseas Guardar?", "Advertencia", MessageBoxButton.YesNoCancel, MessageBoxImage.Exclamation); if (respuesta == MessageBoxResult.Yes) { //Guardar Archivo.Guardar(nombre, datosAlumno, totalRegistros); modificado = false; } else if (respuesta == MessageBoxResult.No) this.Close(); else e.Cancel = true; } } } }

También podría gustarte