Post on 22-Apr-2015
description
Documentación para el programador y usuario. Aplicación n° 2: Archivos Secuenciales.
Código en Visual C#. A continuación se presenta el código fuente de la aplicación que permite mostrara como son utilizados los archivos secuenciales en su creación, modificación, navegación y comportamiento, el cual está codificado en el lenguaje de programación C# dentro de la plataforma .NET de Microsoft.
Objetos utilizados:
Form1: Label1, 2, 3, 4, 5, ProgressBar1, Imagen de background, timer1 y ToolTrip.
Form2: MenuStrip, StatusStrip, timer1, ToolTrip,1 1,background,
comboBox,Button1,2,3,4,5,6,7.,textBox1.2.3.GroupBox1.Label1,2,3,4,5,6,7,8,9,10
Form3:pictureBox1, 2,1button, 1 background y ToolTrip.
Form4:1 link label,label1,2,3,4, button1,2,3,4,listBox1,2,3 y Tooltrip.
Form5:1 link label, label1 y 2,textBox1 y 2, button1 y 2.
PROGRAMADOR
FORM1
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace SISTEMAS_DE_ARCHIVOS { public partial class Form1 : Form { public Form1() { InitializeComponent(); } //contruir aqui los controles //iniciar formulario de la clase form1 //iniciamos el codigo del timer1 en su evento tick private void timer1_Tick(object sender, EventArgs e) {//si progressbar llega maximo this.progressBar1.Maximum = 100; //si proresvar esta vacio if (progressBar1.Value != 0) //se ira incrementando de 20 hasta llegar a el maximo que le pusimos
progressBar1.Value += 20; //creamos una entrada a un nuevo form que sera nuestr login de bienvenido BIENVENIDO f5 = new BIENVENIDO(); f5.Show(); this.Hide(); //desabilitamos el timer this.timer1.Enabled = false; } //finalizamos el codigo del progressBar1 //iniciamos el codigo del form es su evento carga private void Form1_Load(object sender, EventArgs e) { this.timer1.Enabled = true; ToolTip toolTip1 = new ToolTip(); // Establecer los plazos para la información sobre herramientas. toolTip1.AutoPopDelay = 5000; toolTip1.InitialDelay = 500; toolTip1.ReshowDelay = 500; // Fuerza al texto sobre herramientas que se muestra o no la forma activa. toolTip1.ShowAlways = true; // Establecer el texto de información sobre herramientas para el botón y casilla de verificación. toolTip1.SetToolTip(this.label1, "Nombre del equipo creador"); toolTip1.SetToolTip(this.label2, "Etiqueta del nombre del programa"); toolTip1.SetToolTip(this.label3, "Etiqueta de carga"); toolTip1.SetToolTip(this.productVersionLabel, "Version del programa"); toolTip1.SetToolTip(this.copyrightLabel, "Etiqueta de que tiene derechos reservados"); toolTip1.SetToolTip(this.progressBar1, "Carga la aplicacion"); } //finalicamos el codigo de carga del form1 //finalizamos el codigo de form1 } }
FORM2
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; using System.IO; namespace SISTEMAS_DE_ARCHIVOS { public partial class Form2 : Form { public Form2()
{ InitializeComponent(); } //contruir aqui los controles //iniciar formulario de la clase form1 //iniciamos declarando variables globales que utilizaremos en todo el form2 string nombre = "";//variable que almacena ruta con nombre del archivo int totalRegistros = 0;//contador para almacenar total de regisgtros int registroActual = 0;//Especifica el registro en que se encuentra actualmente //Arreglo para los datos de los registros de celular datos[] datosCelular = new datos[1000]; //sera nuestra estructura para datos nuestro registro struct datos {//Asignar un valor (entra la parte de "set") //Pedir un valor (entra la parte de "get") public int txtnumtra { get; set; } public string comboBox1 { get; set; } public string txtdep { get; set; } public double txtsalario { get; set; } } //finalizamos el codigo del struc //iniciamos el codigo de sxalir en el menu strip private void salirToolStripMenuItem_Click(object sender, EventArgs e) {//resultado del dialogo DialogResult resultado; //mostrara un mensaje resultado = MessageBox.Show("¿Deseas salir de la aplicacion?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Information); //si dialogo es igual a verdadero if (resultado == DialogResult.Yes) {//nos sacara de nuestro proyecto Application.Exit(); } } //finalizamos el codigo de salir en el menu strip //iniciamos el codigo del timer en su evento click private void timer1_Tick(object sender, EventArgs e) {//nos mostrara en la etiqueta la hora en la que se este trabajando el programa this.label5.Text = DateTime.Now.ToString("hh:mm:ss"); } //finalizamos el codigo de la etiqueta //iniciamos el codigo de carga del formulario 2 private void Form2_Load(object sender, EventArgs e) {//en la etiqueta mostraremos la fecha dia dd, mes MM y año yyyy this.label6.Text = DateTime.Now.ToString("dd/MM/yyyy"); //habilitamos con un nuevo ingreso al tooltip ToolTip toolTip1 = new ToolTip(); // Establecer los plazos para la información sobre herramientas. toolTip1.AutoPopDelay = 5000; toolTip1.InitialDelay = 500; toolTip1.ReshowDelay = 500; // Fuerza al texto sobre herramientas que se muestra o no la forma activa. toolTip1.ShowAlways = true;
// Establecer el texto de información sobre herramientas para el botón y casilla de verificación. toolTip1.SetToolTip(this.label1, "Etiqueta de modelo"); toolTip1.SetToolTip(this.label2, "Etiqueta Compañia"); toolTip1.SetToolTip(this.label3, "Etiqueta Descripcion"); toolTip1.SetToolTip(this.label4, "Etiqueta Precio"); toolTip1.SetToolTip(this.label5, "Muestra la hora"); toolTip1.SetToolTip(this.label6, "Muestra la fecha"); toolTip1.SetToolTip(this.label7, "Etiqueta Hora"); toolTip1.SetToolTip(this.label8, "Etiqueta Fecha"); toolTip1.SetToolTip(this.groupBox1, "Opciones de Busqueda"); { toolTip1.SetToolTip(this.btn_1, "Nos muestra registro inicial"); toolTip1.SetToolTip(this.btn_2, "Nos muestra el registro adelante"); toolTip1.SetToolTip(this.btn_3, "Nos muestra el registro atras"); toolTip1.SetToolTip(this.btn_4, "Nos muestra registro final"); } toolTip1.SetToolTip(this.label10, "Muestra el nombre del archivo"); toolTip1.SetToolTip(this.reg_info, "Muestra No. de registro"); toolTip1.SetToolTip(this.txtnumtra, "Inserta numero"); toolTip1.SetToolTip(this.comboBox1, "Selecciona una compañia"); toolTip1.SetToolTip(this.txtdep, "Ingresa descripcion"); toolTip1.SetToolTip(this.txtprecio, "Ingresa el precio"); toolTip1.SetToolTip(this.cmdguardar, "Guarda todo el archivo"); toolTip1.SetToolTip(this.cmdcerrar, "Cancela Operaciones"); toolTip1.SetToolTip(this.busqueda, "Muestra la barra de navegacion"); toolTip1.SetToolTip(this.btn_1, "Nos muestra registro inicial"); toolTip1.SetToolTip(this.btn_2, "Nos muestra el registro adelante"); toolTip1.SetToolTip(this.btn_3, "Nos muestra el registro atras"); // toolTip1.SetToolTip(this.archivoToolStripMenuItem, "Nos muestra registro final"); } //finalizamos el codigo del form 2 en su evento carga //iniciamos el codigo del button5 private void button5_Click(object sender, EventArgs e) {//habilitamos los botones de navegacion this.groupBox1.Visible = true; ; this.btn_2.Visible = true; this.btn_3.Visible = true; this.btn_1.Visible = true; this.btn_4.Visible = true; } //finalizamos el codigo del button5 //iniciamos el codigo del metodo verinfo en el cual nos mostrara que registro estamos actualmente void verInfo(int nRegistro) { registroActual = nRegistro; txtnumtra.Text = datosCelular[registroActual].txtnumtra.ToString(); comboBox1.Text = datosCelular[registroActual].comboBox1; txtdep.Text = datosCelular[registroActual].txtdep; txtprecio.Text = datosCelular[registroActual].txtsalario.ToString(); reg_info.Text = (registroActual + 1) + "/" + totalRegistros; } //finalizamos el codigo del metodo
//iniciamos el codigo de crear en el menustrip localizada en archivo private void crearToolStripMenuItem1_Click(object sender, EventArgs e) { //Crear flujo SaveFileDialog sf = new SaveFileDialog(); sf.Filter = "Archivos de Textos (*.txt)|*.txt|Todos los Archivos (*.*)|*.*"; if (sf.ShowDialog() == DialogResult.OK)//Al seleccionar guardar en la ventana de dialogo { string nombre = sf.FileName;//Se obtiene la ruta y nombre del archivo FileStream flujo = new FileStream(nombre, FileMode.Create, FileAccess.Write); BinaryWriter escritor = new BinaryWriter(flujo); this.nombre = sf.FileName; this.reg_info.Text = "Sin registro"; this.label10.Text = "Has creado el archivo " + Path.GetFileName(nombre); this.txtnumtra.Focus(); //Se habilitan controles this.abrirToolStripMenuItem.Enabled = true; this.crearToolStripMenuItem1.Enabled = true; this.registrosToolStripMenuItem.Enabled = true; this.mnmodificar.Enabled = false; this.comboBox1.Enabled = false; this.txtprecio.Enabled = false; this.txtdep.Enabled = false; this.txtnumtra.Enabled = false; } } //finalizamos el codigo de crear en el menu strip //iniciamos elc odigo del menu nuevo en registro del menutrip private void mnunuevo_Click(object sender, EventArgs e) { //'limpiamos this.txtnumtra.Text = ""; this.comboBox1.Text = ""; this.txtdep.Text = ""; this.txtprecio.Text = ""; //'habilitamos botones this.cmdguardar.Visible = true; this.cmdcerrar.Visible = true; this.mnmodificar.Enabled = true; this.busqueda.Enabled = true; //'deshabilitamos menus this.mnmodificar.Enabled = false; this.mnunuevo.Enabled = false; //habilitamos textboxt txtnumtra.Enabled = true; comboBox1.Enabled = true; txtdep.Enabled = true; txtprecio.Enabled = true; } //finalizamos el codigo del menu nuevo en registro en menustrip //iniciamos el codigo de modificar en registro en menustrip private void mnmodificar_Click(object sender, EventArgs e) {//habilitamos nuestras cajas de texto y nuestro combobox
txtnumtra.Enabled = true; comboBox1.Enabled = true; txtdep.Enabled = true; txtprecio.Enabled = true; this.busqueda.Visible = true; this.cmdguardar.Visible = true; this.cmdcerrar.Visible = true; //'habilitamos bandera que nos dice que esta modificando un registro //'deshabilitamos menus this.mnmodificar.Enabled = true; this.mnunuevo.Enabled = true; this.btn_1.Enabled = true; this.btn_2.Enabled = true; this.btn_3.Enabled = true; this.btn_4.Enabled = true; } //finalizamos el codigo de modificar en registro en menutrip //iniciamos el codigo de boton guardar en su evento click private void cmdguardar_Click(object sender, EventArgs e) { this.guardarToolStripMenuItem.Enabled = true; if (txtnumtra.Text == "" || comboBox1.Text == "" || txtdep.Text == "" || txtprecio.Text == "") { MessageBox.Show("Faltan datos por ingresar", "Aviso"); } else { if (modificar == true) //si estaba modificando entonces guardamos en la posicion que estaba { modificar = false; //guardamos en vector pero en la posicion actual datosCelular[registroActual].txtnumtra = int.Parse(txtnumtra.Text); datosCelular[registroActual].comboBox1 = comboBox1.Text; datosCelular[registroActual].txtdep = txtdep.Text; datosCelular[registroActual].txtsalario = int.Parse(txtprecio.Text); } //sino se guardaran en el registro total else { datosCelular[totalRegistros].txtnumtra = int.Parse(txtnumtra.Text); datosCelular[totalRegistros].comboBox1 = comboBox1.Text; datosCelular[totalRegistros].txtdep = txtdep.Text; datosCelular[totalRegistros].txtsalario = int.Parse(txtprecio.Text); registroActual = totalRegistros; //el registro actual sera el recientemente creado totalRegistros++; } //mostrar en esta barra el registro que estamos manejando reg_info.Text = "Registro " + (totalRegistros) + "/" + totalRegistros;
//desabilitamos los contrles this.txtdep.Enabled = false; this.txtnumtra.Enabled = false; this.txtprecio.Enabled = false; this.comboBox1.Enabled = false; } //haiilitamos menu nuevo mnunuevo.Enabled = true; } //finalizamos el cogio del boton guardar en su evento click //iniciamos el codigo del metodo validador de caracteres public static bool ValidadorCaracteres(char e) {//pondremos los caracteres permitidos para ingresar string caracteresPermitidos = "ABCDEFGHIJKLMNÑOPQRSTVWYZabcdefghijklmnñopqrstvwxyz áéíóú\b"; bool Existe; Existe = caracteresPermitidos.Contains(e); //si se cumple la condicion podras ingresar caracteres if (Existe == true) { return false; }//sino no te permitira ingresar caracteres que no publicamos else { return true; } } //finalizamos el codigo del metodo validador de caracteres //iniciamos el codigo del validador numerico public static bool ValidadorNumerico(char e) {//son los caracteres permitidos que seran numeros string caracteresPermitidos = "123456789\b"; bool Existe; Existe = caracteresPermitidos.Contains(e); //si la codicion se cuimple te dejara ingresar if (Existe == true) { return false; } //sino no te dejara ingresar caracteres amenos que sena numeros else { return true; } } //finalizamos el codigo del metodo caracter numerico //iniciamos el codigo del primer textbox en su envento keypress,Se produce cuando se presiona una tecla mientras el control tiene el foco. private void txtnumtra_KeyPress(object sender, KeyPressEventArgs e) {//aclaramos que el maximo de ingreso de caracteres sera 57 if (e.KeyChar >= 48 && e.KeyChar <= 57) { e.Handled = false; } //si no pones caracteres de letras no te dejara ingresar numeros
else if (e.KeyChar == 8) { e.Handled = false; } else { e.Handled = true; } //hacemos referecia a nuesto metodo para poner las condiciones de insercion de caracteres e.Handled = ValidadorNumerico(e.KeyChar); } //iniciamos el codigo del combobox textbox en su envento keypress //finalizamos el codigo del boton primero en su evento keypress,Se produce cuando se presiona una tecla mientras el control tiene el foco. private void comboBox1_KeyPress(object sender, KeyPressEventArgs e) {//aclaramos que el maximo de ingreso de caracteres sera 57 //si la condicion se cumple if (e.KeyChar >= 47 && e.KeyChar <= 57) {//bis desabilitara el ingreso e.Handled = false; } //sino nos habilitara else { e.Handled = true; } e.Handled = ValidadorCaracteres(e.KeyChar); } //iniciamos el codigo del segundo textbox en su envento keypress //finalizamos el codigo del combobox primero en su evento keypress,Se produce cuando se presiona una tecla mientras el control tiene el foco. private void txtdep_KeyPress(object sender, KeyPressEventArgs e) {//aclaramos que el maximo de ingreso de caracteres sera 57 //si la condicion se cumple if (e.KeyChar >= 47 && e.KeyChar <= 57) { e.Handled = false; } else { e.Handled = true; } e.Handled = ValidadorCaracteres(e.KeyChar); } //finalizamos el codigo del boton segundo en su evento keypress //iniciamos el codigo del tercero textbox en su envento keypress, Se produce cuando se presiona una tecla mientras el control tiene el foco. private void txtprecio_KeyPress(object sender, KeyPressEventArgs e) {//aclaramos que el maximo de ingreso de caracteres sera 57 //si la condicion se cumple if (e.KeyChar >= 48 && e.KeyChar <= 57) { e.Handled = false;
} else if (e.KeyChar == 8) { e.Handled = false; } else if (e.KeyChar == 8) { e.Handled = false; } else if (e.KeyChar == 46) { e.Handled = false; } else { e.Handled = true; } //mencionaremos nuestro validador de metodo numerico en r.handled e.Handled = ValidadorNumerico(e.KeyChar); } //finalizamos el codigo del boton tercer en su evento keypress //iniciamos el codigo del metodo botones void botones(String boton, String modo) { //utilizamos el switch para habilitar y frenar el habilitado switch (boton) { case "primero": if (modo == "H") { btn_1.Enabled = true; } else { btn_1.Enabled = false; } break; case "anterior": if (modo == "H") { btn_2.Enabled = true; } else { btn_2.Enabled = false; } break; case "siguiente": if (modo == "H") { btn_3.Enabled = true; } else { btn_3.Enabled = false; } break; case "ultimo": if (modo == "H") { btn_4.Enabled = true; } else { btn_4.Enabled = false; } break; case "cerrar": if (modo == "H") { cmdcerrar.Enabled = true; } else { cmdcerrar.Enabled = false; } break; case "guardar": if (modo == "H") { cmdguardar.Enabled = true; } else { cmdguardar.Enabled = false; } break; case "all": if (modo == "H") { btn_1.Enabled = true; btn_2.Enabled = true; btn_3.Enabled = true; btn_4.Enabled = true; cmdguardar.Enabled = true; cmdcerrar.Enabled = true; } else { btn_1.Enabled = false; btn_3.Enabled = false; btn_2.Enabled = false; btn_4.Enabled = false; cmdguardar.Enabled = false; cmdcerrar.Enabled = false; } break; case "all-1": if (modo == "H") { btn_1.Enabled = true; btn_2.Enabled = true; btn_3.Enabled = true; btn_4.Enabled = true; cmdguardar.Enabled = true; } else { btn_1.Enabled = false; btn_2.Enabled = false; btn_3.Enabled = false; btn_4.Enabled = false; cmdguardar.Enabled = false; } break; case "all-2": if (modo == "H") { btn_1.Enabled = true; btn_2.Enabled = true; btn_3.Enabled = true; btn_4.Enabled = true; } else { cmdguardar.Enabled = false; btn_2.Enabled = false; btn_3.Enabled = false; btn_4.Enabled = false; } break; } } //finalizamos el codigo del metodo botones //iniciamos el metodo de navegacion
void navegacion(int registrototal) { if (registroActual == (registrototal - 1)) { botones("primero", "H"); botones("anterior", "H"); } else if (registroActual == 0) { botones("siguiente", "H"); botones("ultimo", "H"); } else { botones("all-2", "H"); } } //finalizamos el codigo de navegacion //iniciamos el codigo del metodo de verificacion bool verificacion() { //sino esta completa la instruccion nos aparece un mensaje if (txtnumtra.Text == "") { MessageBox.Show("Debe de ingresar una clave", ""); txtnumtra.Focus(); return false; } else if (comboBox1.Text == "") { MessageBox.Show("Debe de elegir una marca", ""); comboBox1.Focus(); return false; } else if (txtdep.Text == "") { MessageBox.Show("Debe de ingresar una descripción", ""); txtdep.Focus(); return false; } else if (txtprecio.Text == "") { MessageBox.Show("Debe de ingresar un precio", ""); txtprecio.Focus(); return false; } else { return true; }; } //finalizamos el metodo de verificacion //iniciamos el codigo del boton cerrar en su evento click private void cmdcerrar_Click(object sender, EventArgs e) {//nos pondra en 0 nuestros valores txtdep.Clear(); txtnumtra.Clear(); txtprecio.Clear(); comboBox1.Text = ""; } //finalizamos el codigo del boton cerrar //iniciamos el metodo de campo private void campos(string p, string p_2) { throw new NotImplementedException(); } //finalizamos el codigo del metodo campos //iniciamos el metodo de menus private void menus(string p, string p_2) { throw new NotImplementedException(); } //finalizamos el codigo del metodo menus public int registrototal { get; set; } public bool modificar { get; set; } //iniciamos el codigo del boton guardar en su evento mouse hover private void cmdguardar_MouseHover(object sender, EventArgs e)
{//el cilco for indicaremos que inicia en 0 y llegara a un tope de 80 y se ira encrementando for (int i = 0; i < 10; i++) { //realizara el movimiento hacia la izquierda this.cmdguardar.Location = new System.Drawing.Point(this.cmdguardar.Location.X - 10, this.cmdguardar.Location.Y); //realizara el movimiento hacia la derecha this.cmdguardar.Location = new System.Drawing.Point(this.cmdguardar.Location.X + 10, this.cmdguardar.Location.Y); } } //finalizamos el codigo del boton guardar en su evento mousehover //iniciamos el codigo del button cerrar en su evento mosehover private void cmdcerrar_MouseHover(object sender, EventArgs e) {//el cilco for indicaremos que inicia en 0 y llegara a un tope de 80 y se ira encrementando for (int i = 0; i < 10; i++) { //realizara el movimiento hacia la izquierda this.cmdcerrar.Location = new System.Drawing.Point(this.cmdcerrar.Location.X - 10, this.cmdcerrar.Location.Y); //realizara el movimiento hacia la derecha this.cmdcerrar.Location = new System.Drawing.Point(this.cmdcerrar.Location.X + 10, this.cmdcerrar.Location.Y); } } //finalizamos el codigo del boton cerrar en su evento mousehover //iniciamos el codigo del boton de busqueda en su evento mosehover private void busqueda_MouseHover(object sender, EventArgs e) {//el cilco for indicaremos que inicia en 0 y llegara a un tope de 80 y se ira encrementando for (int i = 0; i < 10; i++) { //realizara el movimiento hacia la izquierda this.busqueda.Location = new System.Drawing.Point(this.busqueda.Location.X - 10, this.busqueda.Location.Y); //realizara el movimiento hacia la derecha this.busqueda.Location = new System.Drawing.Point(this.busqueda.Location.X + 10, this.busqueda.Location.Y); } } //finalizamos el codigo del boton busqueda mosehover //iniciamos el codigo del button 1 en su evento click private void btn_1_Click(object sender, EventArgs e) {//nos regresara a nuestr 1 registro verInfo(0); botones("primero", "F"); botones("anterior", "H"); botones("siguiente", "F"); botones("ultimo", "H"); } //finalizamos el codigo del buttton1 en su evento click //iniciamos el codigo del button2 en su evento click private void btn_2_Click(object sender, EventArgs e) { verInfo(registroActual + 1);
if (registroActual == registrototal - 1) { botones("ultimo", "F"); botones("siguiente", "F"); } else { botones("ultimo", "H"); botones("siguiente", "H"); } botones("primero", "H"); botones("anterior", "H"); } //finalizamos el codigo del button2 en su evento click //iniciamos el codigo de abrir en registr del menustrip private void abrirToolStripMenuItem_Click(object sender, EventArgs e) { //Abrir OpenFileDialog abrir = new OpenFileDialog();//ventana de dialogo para abrir abrir.Filter = "Archivos de Textos (*.txt)|*.txt|Todos los Archivos (*.*)|*.*"; abrir.Title = "Select a Cursor File"; nombre = abrir.FileName; //si la condicion de abrir del showdialog es verdadero if (abrir.ShowDialog() == DialogResult.OK) { //creamos flujo FileStream flujo = new FileStream(abrir.FileName, FileMode.Open, FileAccess.Read); BinaryReader leer = new BinaryReader(flujo); //nos leera el archivo elegido si se cumple eta condicion if (leer.PeekChar() != -1) { registroActual = (int)(Math.Ceiling((double)(flujo.Length / 70)) + 1); nombre = abrir.FileName; //el ciclo for nos ayuda a ser mas eficiente la lectura al incremntarce desde 0 hasta llegar a los registros actuales for (int x = 0; x < registroActual; x++) {//hace lectura de la base leer.BaseStream.Seek(70 * x, SeekOrigin.Begin); datosCelular[x].txtnumtra = leer.ReadInt32(); datosCelular[x].comboBox1 = leer.ReadString(); datosCelular[x].txtdep = leer.ReadString(); datosCelular[x].txtsalario = leer.ReadInt32(); } txtnumtra.Text = datosCelular[totalRegistros].txtnumtra.ToString(); comboBox1.Text = datosCelular[totalRegistros].comboBox1; txtdep.Text = datosCelular[totalRegistros].txtdep; txtprecio.Text = datosCelular[totalRegistros].txtsalario.ToString();
reg_info.Text = "Registro" + (totalRegistros + 1) + "/" + (totalRegistros + 1); flujo.Close(); leer.Close(); } //nos habilitara el registro del menustrip registrosToolStripMenuItem.Enabled = true; } } //finalizamos el codigo abrir en archivo del menustrip //iniciamos el codigo de guardar en menustrip en archivo private void guardarToolStripMenuItem_Click(object sender, EventArgs e) { FileStream flujo = new FileStream(nombre, FileMode.Create, FileAccess.Write); BinaryWriter guar = new BinaryWriter(flujo); for (int i = 0; i < totalRegistros; i++) //Se agregan todos los registros al archivo { guar.BaseStream.Seek(70 * i, SeekOrigin.Begin); guar.Write(datosCelular[i].txtnumtra); guar.Write(datosCelular[i].comboBox1); guar.Write(datosCelular[i].txtdep); guar.Write(datosCelular[i].txtsalario); } flujo.Close(); guar.Close(); } //finalizamos el codigo de guardar en el menutrip en archivo //iniciamos el codigo del button3 private void btn_3_Click(object sender, EventArgs e) {//el metodo dew ver info sera ahora registrototal menos 1 verInfo(registroActual - 1); //nos mostrara el registro anterior if (registroActual == registrototal - 1) { botones("primero", "H"); botones("anterior", "F"); } else { botones("primero", "F"); botones("anterior", "F"); } botones("anterior", "F"); botones("siguiente", "F"); botones("ultimo", "H"); } //iniciamos el codigo del button4 en busqueda private void btn_4_Click(object sender, EventArgs e) { //el metodo dew ver info sera ahora registrototal mas 1 //nos mostrara el ultimo registro verInfo(registrototal+3); botones("primero", "H");
botones("anterior", "F"); botones("ultimo", "H"); botones("siguiente", "H"); } //finalizamos el codigo del button4 de busqueda //iniciamos el codigo de busqueda del menustrip en registro private void busquedaToolStripMenuItem_Click(object sender, EventArgs e) { this.busqueda.Visible = true; } //finalizamos el codigo de busqueda de menustrip //finalizamos el codigo del form2 } }
FORM3
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace SISTEMAS_DE_ARCHIVOS { public partial class REGISTRO : Form { public REGISTRO() { InitializeComponent(); } //contruir aqui los controles //iniciar formulario de la clase form1 //iniciamos el codigo del button1 private void button1_Click(object sender, EventArgs e) { DialogResult resultado; resultado = MessageBox.Show("¿Deseas salir de la aplicacion?", "AVISO", MessageBoxButtons.YesNo, MessageBoxIcon.Information); if (resultado == DialogResult.Yes) { Application.Exit(); } } //finalizamos el codigo del button1 //iniciamos el codigo del picturebox en su evento mousehover es que nos da movimiento de de derecha a izquierda private void pictureBox1_MouseHover(object sender, EventArgs e) {// el ciclo for pondremos que i es iguala 0 , y que llegara a ser a 20 incrementandose de uno a uno for (int i = 0; i < 500; i++) { //se mueve hacia la izquierda el picturebox
this.pictureBox1.Location = new System.Drawing.Point(this.pictureBox1.Location.X - 20, this.pictureBox1.Location.Y); //se mueve hacia la derecha el picturebox this.pictureBox1.Location = new System.Drawing.Point(this.pictureBox1.Location.X + 20, this.pictureBox1.Location.Y); } } //finalizamos el codigo del picturebox1 //iniciamos el codigo del picturebox1 en su evento click private void pictureBox1_Click(object sender, EventArgs e) {//Abriremos otro nuevo form de trabajo cerrando o haciendo invisible este form this.Visible = false; Form2 f2 = new Form2(); f2.Show(); this.Hide(); } //finalizamos el codigo del picturebox1 en su evento click //iniciamos el codigo del picturebox2 en su evento click private void pictureBox2_Click(object sender, EventArgs e) {//Abrimos otro nuevo form de informacion cerrando o haciendo invisible ester form this.Visible = false; INFORMACION f4 = new INFORMACION(); f4.Show(); this.Hide(); } //finalizamos el codigo del picturebox2 en su evento click //iniciamos el codigo del picturebox2 en su evento mousehover private void pictureBox2_MouseHover(object sender, EventArgs e) {// el ciclo for pondremos que i es iguala 0 , y que llegara a ser a 20 incrementandose de uno a uno for (int i = 0; i < 500; i++) { //se mueve hacia la izquierda el picturebox this.pictureBox2.Location = new System.Drawing.Point(this.pictureBox2.Location.X - 20, this.pictureBox2.Location.Y); //se mueve hacia la derecha el picturebox this.pictureBox2.Location = new System.Drawing.Point(this.pictureBox2.Location.X + 20, this.pictureBox2.Location.Y); } } //finalizamos el codigo del picturebox en su evento mousehover //iniciamos el codigo del button1 en su evento mousehover private void button1_MouseHover(object sender, EventArgs e) {// el ciclo for pondremos que i es iguala 0 , y que llegara a ser a 20 incrementandose de uno a uno for (int i = 0; i < 500; i++) {//se mueve hacia la izquierda el picturebox this.button1.Location = new System.Drawing.Point(this.button1.Location.X - 20, this.button1.Location.Y); //se mueve hacia la derecha el picturebox this.button1.Location = new System.Drawing.Point(this.button1.Location.X + 20, this.button1.Location.Y); } //finalizamos el codigo del button1 en su evento mousehover }
private void REGISTRO_Load(object sender, EventArgs e) { //habilitamos con un nuevo ingreso al tooltip ToolTip toolTip1 = new ToolTip(); // Establecer los plazos para la información sobre herramientas. toolTip1.AutoPopDelay = 5000; toolTip1.InitialDelay = 500; toolTip1.ReshowDelay = 500; // Fuerza al texto sobre herramientas que se muestra o no la forma activa. toolTip1.ShowAlways = true; // Establecer el texto de información sobre herramientas para el botón y casilla de verificación. toolTip1.SetToolTip(this.pictureBox1, "Ingresa al sistema de registros"); toolTip1.SetToolTip(this.pictureBox2, "Ingresa a algunas recomendaciones de celulares"); toolTip1.SetToolTip(this.button1, "Salir del sistema"); } //finalizamos el codigo de carga del form //finalizamos el codigo del form3 } }
FORM4
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace SISTEMAS_DE_ARCHIVOS { public partial class INFORMACION : Form { public INFORMACION() { InitializeComponent(); } //contruir aqui los controles //iniciar formulario de la clase form1 //iniciamos el codigo del button1 private void button1_Click(object sender, EventArgs e) {//habilitamos solo la primera lista this.listBox1.Visible = true; this.listBox2.Visible = false; this.listBox3.Visible = false; }
//finalizamos el codigo del button1 //iniciamos el codigo del button2 private void button2_Click(object sender, EventArgs e) {//habilitamos solo la segunda lista this.listBox2.Visible = true; this.listBox1.Visible = false; this.listBox3.Visible = false; } //finalizamos el codigo del button2 //iniciamos el codigo del button3 private void button3_Click(object sender, EventArgs e) {//habilitamos la tercera lista this.listBox3.Visible = true; this.listBox1.Visible = false; this.listBox2.Visible = false; } //finalizamos el codigo del button3 //iniciamos el codigo del button4 private void button4_Click(object sender, EventArgs e) { //volvemos a nuestro form tercero para volver acer la seleccion REGISTRO form3 = new REGISTRO(); //hacemos invisible este form4 this.Visible = false; form3.ShowDialog(); form3.Close(); form3 = null; } //finalizamos el codigo del button4 //iniciamos el codigo de carga del form private void INFORMACION_Load(object sender, EventArgs e) { //habilitamos con un nuevo ingreso al tooltip ToolTip toolTip1 = new ToolTip(); // Establecer los plazos para la información sobre herramientas. toolTip1.AutoPopDelay = 5000; toolTip1.InitialDelay = 500; toolTip1.ReshowDelay = 500; // Fuerza al texto sobre herramientas que se muestra o no la forma activa. toolTip1.ShowAlways = true; // Establecer el texto de información sobre herramientas para el botón y casilla de verificación. toolTip1.SetToolTip(this.listBox1, "Muestra la informacion del 1 celular"); toolTip1.SetToolTip(this.listBox2, "Muestra la informacion del 2 celular"); toolTip1.SetToolTip(this.listBox3, "Muestra la informacion del 3 celular"); toolTip1.SetToolTip(this.button1, "Mostrara la ventana informacion del 1 celular"); toolTip1.SetToolTip(this.button2, "Mostrara la ventana informacion del 2 celular");
toolTip1.SetToolTip(this.button3, "Mostrara la ventana informacion del 3 celular"); toolTip1.SetToolTip(this.button4, "Regresar a la ventana de selecciones"); toolTip1.SetToolTip(this.linkLabel1, "Etiqueta de Recomendaciones"); toolTip1.SetToolTip(this.label1, "Etiqueta de ALCATEL AOT-906"); toolTip1.SetToolTip(this.label2, "Etiqueta de LG-Optimus Me P350 android"); toolTip1.SetToolTip(this.label3, "NOKIA N97"); toolTip1.SetToolTip(this.label4, "Etiqueta de informacion"); toolTip1.SetToolTip(this.pictureBox1, "Mustra la imagen del alcatel"); toolTip1.SetToolTip(this.pictureBox2, "Mustra la imagen del LG"); toolTip1.SetToolTip(this.pictureBox3, "Muestra la imagen del nokia"); } //finalizamos el codigo de carga del form //finalizamos el codigo del form4 } }
FORM5
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; using System.Text; using System.Windows.Forms; namespace SISTEMAS_DE_ARCHIVOS { public partial class BIENVENIDO : Form { public BIENVENIDO() { InitializeComponent(); } //contruir aqui los controles //iniciar formulario de la clase form1 // variables globales //usuario=AND //contraseña=2012 String usario = "AND"; String contra = "2012"; //iniciamos el codigo del boton1 en su evento click private void button1_Click(object sender, EventArgs e) { {//comparacion de los datos usuario y contraseña if ((this.txtu.Text == usario)&(this.txtc.Text == contra)) { //llamar al formulario 2 REGISTRO f3 = new REGISTRO(); f3.Show();
this.Close(); } //sino saldra la ventana marcando un error de llenado else MessageBox.Show("ERROR ALGUNO DE LOS DATOS NO SON CORRECTOS"); } } //finalizamos el codigo del button1 //inicamos el codigo del button2 private void button2_Click(object sender, EventArgs e) { Application.ExitThread(); } //finalizamos el codigo del button2 //iniciamos el codigo de carga del form private void BIENVENIDO_Load(object sender, EventArgs e) {//habilitamos con un nuevo ingreso al tooltip ToolTip toolTip1 = new ToolTip(); // Establecer los plazos para la información sobre herramientas. toolTip1.AutoPopDelay = 5000; toolTip1.InitialDelay = 500; toolTip1.ReshowDelay = 500; // Fuerza al texto sobre herramientas que se muestra o no la forma activa. toolTip1.ShowAlways = true; // Establecer el texto de información sobre herramientas para el botón y casilla de verificación. toolTip1.SetToolTip(this.txtu, "Ingresa la contraseña AND"); toolTip1.SetToolTip(this.txtc, "Ingresa la contraseña 2012"); toolTip1.SetToolTip(this.button1, "Entraras en una seleccion del programa"); toolTip1.SetToolTip(this.button2, "¡¡¡Saldras del programa!!!"); toolTip1.SetToolTip(this.linkLabel1, "Etiqueta de login"); toolTip1.SetToolTip(this.label1, "Etiqueta de Usuario"); toolTip1.SetToolTip(this.label2, "Etiqueta de Contraseña"); } //finalizamos el codigo de carga del form //finalizamos el codigo del form bienvenidos. } }
USUARIO
1.- Al iniciar el programa nos aparece nuestro splashscreen el cual nos cargara
nuestro programa
2.- Cuando se termino de cargar nuestro splash nos manda a un Form de login
para ingresar los datos del administrador del programa, en nuestro caso el usuario
es AND y la contraseña 2012.
Label2.- Muestra la etiqueta
con nombre del programa.
Label1.- Muestra la etiqueta
con nombre del equipo.
productVersionLabe
l.- Muestra la versión
del programa.
Label3.- Muestra la
etiqueta de carga del
sistema.
copyrightLabel.- Muestra
etiqueta de no copiar el
programa
ProgressBar1.- Muestra la
barra de carga del sistema
Link label1.- Muestra
la etiqueta de login.
Label1.- Muestra la
etiqueta de teclea
el usuario.
Label2.- Muestra la
etiqueta de Teclea
su contraseña.
Button1.- Nos accionara el
evento de abrir el programa.
PictureBox1.-Muestra la
imagen de usuario.
TextBox1.-Ingresaremos el
usuario en esta caja de texto.
TextBox2.- Ingresaremos la
contraseña en esta caja de
texto.
Button2.- Nos da por
terminada la aplicación.
Si pones un dato incorrecto a las instrucciones te saldrá un mensaje de error.
3.-Al ingresar correctamente nuestro usuario y contraseña, nos llevara a otra
ventana donde nos da elegir 3 opciones, registrar artículos, pará ver
recomendaciones y salir.
Al dar el click al pictureBox2 para ver recomendaciones primeramente.
PictureBox2.-
Nos llevara a
la ventana de
recomendacio
nes
PictureBox1.- Nos llevara a la
ventana de registro de artículos
Button1.- Nos dará por
terminada la aplicación
Para que nos muestre la información en las listas solo daremos al botón
correspondiente para que nos muestre al 1,2,3 celular dependiendo.
1 celular
Link Label1 .- Muestra la
etiqueta de recomendados.
Button4.- Nos
regresara al Form de
selecciones.
Button1.- Nos
mostrara el
listbox1.
Label4.- Nos mostrar
la etiqueta de
información.
Label1.- Mostrara
la etiqueta del 1
celular.
ListBox1.- Nos
mostrara la
información del
1 celular.
ListBox2.-
Nos mostrara
la información
del 2 celular.
ListBox3.-
Nos mostrara
la información
del 3 celular.
PictureBox1.-
Muestra la imagen
del 1 celular.
Label2.-
Muestra la
etiqueta del 2
celular.
PictureBox2.-
Muestra la
imagen del 2
celular.
Label3.-
Muestra la
etiqueta del 3
celular.
PicutreBox3
.- Muestra la
imagen del 3
celular.
Button3.- Nos
mostrara la
información del
3 celular.
Button2.- Nos mostrara la
información del 2 celular.
2 celular
3 celular
Para regresarnos al form de selecciones solo daremos click al botón.
Y nos regresara de nuevo al form de selecciones
.
Ahora daremos un click al pictureBox1 donde ingresaremos registros.
Menustrip1.- Mostrara el menú donde
crearemos, abriremos un archivo, el cual se
podrá registrar artículos, modificar y buscar y
dará por terminada la aplicación al salir.
Textbox1.- Ingresaremos el
número de modelo.
Statustrip.-Mostrara el
No.de registro, la hora y
la fecha.
Label1.- Mostrara la
etiqueta de No.
modelo
Label2.- Mostrara la
etiqueta de compañía
Label3.- Mostrara la
etiqueta de
descripción
Label4.- Mostrara la
etiqueta de precio
Label10.- Mostrara la
etiqueta de nombre
del archivo guardado
GroupBox1.- Esta
agrupación nos involucra 4
botones los cuales nos
harán el movimiento de
mostrarnos el 1 registro, el
siguiente, el atrás y el último
registro.
ComboBox1-
seleccionaremos una
compañia
textBox2.-ingresaremos
una descripción del
producto
textBox3.-ingresaremos
precio del producto.
Cmdguardar.-
Nos guardara la
información en
las variables.
Cmdcerrar .-
Nos quitara la
opción de
modificar
registros.
Búsqueda.-
Nos habilitara el
GroupBox1.
Como se observara varios controles se encuntran desabilitados hasta que el
usuario cree un nuevo archivo o lo abra.
Para empezar a utilizar esta ventana primero abriremos archivo y daremos crear
nuevo
Nos mostrara una ventana como la siguiente:
Daremos como nombre de nuestro archivo B y le daremos guardar.
Iremos a documentos donde guarde mi archivo B para confirmar que esta
guardado en la carpeta.
Ahora procedemos a crear nuevos registros de artículos en nuestro archivo.
Para lo cual nos iremos a registro del menustrip nuevo.
Una vez dado nuevo archivo nos habilitara nuestro cajas de texto y la selección
entre nuestros bototes de guardar o cancelar.
Crearemos 4 registros nuevos con diferentes nombres como ejemplo:
Cada registro que crearemos daremos click al botón de guardar o la palomita
verde.
Observamos que cada que guardamos el registro en las variables nos deshabilita
de nuevo nuestras cajas de texto y la selección
Y nos muestra en una etiqueta que registro fue guardado.
Ya una vez creado nuestro 4 registros direfentes.
Volveremos a dar guardar en el menú de archivo para que haga efectiva su
guardado en el archivo.
Una vez hecho este proceso probaremos nuestro archivo abriéndolo desde
documentos para ver si almaceno nuestros registros.
Continuamos con la prueba de nuestro archivo para ello daremos abrir en el menú
de archivo
Abrimos nuestro archivo B de ejemplo. Nos mostrara una ventana como la
siguiente que aparecerá.
Mostrara nuestro primer registro creado.
Para poder ver los demás registros que colocamos primero habilitamos nuestro
botón que nos habilitara otro menú
Dependiendo que registró queramos observar sería lógico que solo funcionara los
botones de siguiente y final.
En mi caso le di siguiente.
Una vez enviado al 2 registro nos regresaremos
Nos mostrara nuestro 1 registro
Daremos un click al final
Daramos un click al inicio
Nos madara al registro inicial.
Para dar por terminada nuestra aplicación damos al menú salir.
Nos mostrara un mensaje que si realmente estamos seguros de salir de la
plaicacion si la respuesta si nos terminara la aplicación sino no hara nada y nos
mantendrá en la ventana de registros.