You are on page 1of 32

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 using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; 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 using using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; System.Windows.Forms; 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 using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; 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 using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; 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 casilla de verificación. toolTip1.SetToolTip(this.listBox1, "Muestra celular"); toolTip1.SetToolTip(this.listBox2, "Muestra celular"); toolTip1.SetToolTip(this.listBox3, "Muestra celular"); toolTip1.SetToolTip(this.button1, "Mostrara celular"); toolTip1.SetToolTip(this.button2, "Mostrara celular"); herramientas para el botón y la informacion del 1 la informacion del 2 la informacion del 3 la ventana informacion del 1 la ventana informacion del 2

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 using using using using using using using System; System.Collections.Generic; System.ComponentModel; System.Data; System.Drawing; System.Linq; System.Text; 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 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. } } saldra la ventana marcando un error de llenado

USUARIO
1.- Al iniciar el programa nos aparece nuestro splashscreen el cual nos cargara nuestro programa

Label2.- Muestra la etiqueta con nombre del programa.

productVersionLabe l.- Muestra la versión del programa.

Label1.- Muestra la etiqueta con nombre del equipo.

Label3.- Muestra la etiqueta de carga del sistema. ProgressBar1.- Muestra la barra de carga del sistema

copyrightLabel.- Muestra etiqueta de no copiar el 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.
Link label1.- Muestra la etiqueta de login.

PictureBox1.-Muestra la imagen de usuario.

Label1.- Muestra la etiqueta de teclea el usuario. Label2.- Muestra la etiqueta de Teclea su contraseña.

TextBox1.-Ingresaremos el usuario en esta caja de texto.

TextBox2.- Ingresaremos la contraseña en esta caja de texto.

Button1.- Nos accionara el evento de abrir el programa.

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.

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

Al dar el click al pictureBox2 para ver recomendaciones primeramente.

Link Label1 .- Muestra la etiqueta de recomendados. Label1.- Mostrara la etiqueta del 1 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.

Button4.- Nos regresara al Form de selecciones.

Button1.- Nos mostrara el listbox1.

Label4.- Nos mostrar la etiqueta de información. 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.

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.

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

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.

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 Cmdguardar.Nos guardara la información en las variables. Cmdcerrar .Nos quitara la opción de modificar registros.

ComboBox1seleccionaremos una compañia textBox2.-ingresaremos una descripción del producto textBox3.-ingresaremos precio del producto.

Búsqueda.Nos habilitara el GroupBox1.

Statustrip.-Mostrara el No.de registro, la hora y la fecha.

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.

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.