Documentos de Académico
Documentos de Profesional
Documentos de Cultura
mnuultimo.Enabled = True mnusiguiente.Enabled = True Else mnuanterior.Enabled = True mnuprimero.Enabled = True mnuultimo.Enabled = True mnusiguiente.Enabled = True End If End If Else 'si no se cumple esa condicion entrara a una condicion mas mnunuevo.Enabled = True sblabel.Text = "Sin registros" txtnumtra.Text = "" txtnombre.Text = "" txtdep.Text = "" txtsalario.Text = "" registro = 0 End If GuardarToolStripMenuItem.Enabled = True leerfile.Close() flujoopen.Close() lblfile.Text = Path.GetFileName(dlgopen.FileName) txtnumtra.Focus() End If End Sub Private Sub GuardarToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles GuardarToolStripMenuItem.Click If registro > 0 Then 'aqui se guardaran los datos introducidos en la aplicacion para trabajar con ellos Dim flujosave As New FileStream(archivo, FileMode.Create, FileAccess.Write) Dim escribirfile As New BinaryWriter(flujosave) Dim a As Integer For a = 0 To registro - 1 escribirfile.BaseStream.Seek(70 * a, SeekOrigin.Begin) escribirfile.Write(CType(vdatos(a).numtra, Integer)) escribirfile.Write(CType(vdatos(a).nombre, String)) escribirfile.Write(CType(vdatos(a).dep, String)) escribirfile.Write(CType(vdatos(a).salario, Single)) Next escribirfile.Close() flujosave.Close() End If End Sub Private Sub SalirToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SalirToolStripMenuItem.Click Me.Close() End Sub Private Sub mnunuevo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnunuevo.Click
mnumodificar.Enabled = False mnueliminar.Enabled = False mnunuevo.Enabled = False mnuprimero.Enabled = False mnusiguiente.Enabled = False mnuanterior.Enabled = False mnuultimo.Enabled = False End Sub Private Sub cmdguardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdguardar.Click 'si no son introducidos todos los campos en la aplicacion, mandara un mensage de aviso If txtnumtra.Text = "" Or txtnombre.Text = "" Or txtdep.Text = "" Or txtsalario.Text = "" Then MessageBox.Show("Insertar toda la informacion requerida", "Advertencia", MessageBoxButtons.OK, MessageBoxIcon.Warning) Else If banmodificar = 1 Then banmodificar = 0 vdatos(registronow).numtra = CType(txtnumtra.Text, Integer) vdatos(registronow).nombre = txtnombre.Text vdatos(registronow).dep = txtdep.Text vdatos(registronow).salario = CType(txtsalario.Text, Single) Else
vdatos(registro).numtra = CType(txtnumtra.Text, Integer) vdatos(registro).nombre = txtnombre.Text vdatos(registro).dep = txtdep.Text vdatos(registro).salario = CType(txtsalario.Text, Single) registronow = registro registro += 1 End If 'la operacion que realizara el boton de cancelr cmdcancelar.Visible = False cmdguardar.Visible = False txtnumtra.Focus() sblabel.Text = "Registro " & registronow + 1 & "/" & registro
If registro > 1 Then If registronow = registro - 1 Then mnuanterior.Enabled = True mnuprimero.Enabled = True
ElseIf registronow = 0 Then mnuultimo.Enabled = True mnusiguiente.Enabled = True Else mnuanterior.Enabled = True mnuprimero.Enabled = True mnuultimo.Enabled = True mnusiguiente.Enabled = True End If End If
mnumodificar.Enabled = True mnueliminar.Enabled = True mnunuevo.Enabled = True End If End Sub Private Sub cmdcancelar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdcancelar.Click MessageBox.Show("Esta seguro de cancelar?", " Seguro!!", MessageBoxButtons.OKCancel, MessageBoxIcon.Warning) cmdcancelar.Visible = False cmdguardar.Visible = False mnunuevo.Enabled = True If banmodificar = 1 Then banmodificar = 0 verregistro(registronow) Else txtnumtra.Text = "" txtnombre.Text = "" txtdep.Text = "" txtsalario.Text = "" End If If registro > 0 Then mnumodificar.Enabled = True mnueliminar.Enabled = True End If
If registro > 1 Then If registronow = registro - 1 Then mnuanterior.Enabled = True mnuprimero.Enabled = True ElseIf registronow = 0 Then mnuultimo.Enabled = True mnusiguiente.Enabled = True Else mnuanterior.Enabled = True mnuprimero.Enabled = True mnuultimo.Enabled = True mnusiguiente.Enabled = True End If End If End Sub Sub verregistro(ByVal numreg)
registronow = numreg txtnumtra.Text = vdatos(registronow).numtra txtnombre.Text = vdatos(registronow).nombre txtdep.Text = vdatos(registronow).dep txtsalario.Text = vdatos(registronow).salario sblabel.Text = "Registro " & registronow + 1 & "/" & registro txtnumtra.Focus() End Sub Private Sub mnuprimero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuprimero.Click verregistro(0) mnuprimero.Enabled = False mnuanterior.Enabled = False mnusiguiente.Enabled = True mnuultimo.Enabled = True End Sub Private Sub mnuanterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuanterior.Click verregistro(registronow - 1) If registronow = 0 Then 'comienza la condicion del menu mnuprimero.Enabled = False mnuanterior.Enabled = False Else mnuprimero.Enabled = True mnuanterior.Enabled = True End If 'termina la condicion del menu de ver registro mnusiguiente.Enabled = True mnuultimo.Enabled = True End Sub Private Sub mnusiguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnusiguiente.Click verregistro(registronow + 1) If registronow = registro - 1 Then 'inicia otra condicional mnuultimo.Enabled = False mnusiguiente.Enabled = False Else mnuultimo.Enabled = True mnusiguiente.Enabled = True End If
mnuprimero.Enabled = True mnuanterior.Enabled = True End Sub 'termina otro condicional de menu Private Sub mnuultimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnuultimo.Click verregistro(registro - 1) 'comienzala accion que tomara el menu anterior mnuanterior.Enabled = True mnuprimero.Enabled = True mnuultimo.Enabled = False
mnusiguiente.Enabled = False End Sub Private Sub mnumodificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnumodificar.Click cmdguardar.Visible = True cmdcancelar.Visible = True banmodificar = 1
mnumodificar.Enabled = False mnueliminar.Enabled = False mnunuevo.Enabled = False mnuprimero.Enabled = False mnusiguiente.Enabled = False mnuanterior.Enabled = False mnuultimo.Enabled = False txtnumtra.Focus() End Sub Private Sub mnueliminar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles mnueliminar.Click If MessageBox.Show("Esta seguro que desea eliminar este registro?", "Cuidado", MessageBoxButtons.YesNo, MessageBoxIcon.Warning) = Windows.Forms.DialogResult.Yes Then vdatos(registronow).numtra = CType(0, Integer) vdatos(registronow).nombre = "" vdatos(registronow).dep = "" vdatos(registronow).salario = CType(0, Single) If registro = 1 Then mnueliminar.Enabled = False mnumodificar.Enabled = False mnuprimero.Enabled = False mnusiguiente.Enabled = False mnuanterior.Enabled = False mnuultimo.Enabled = False
txtnumtra.Text = "" txtnombre.Text = "" txtdep.Text = "" txtsalario.Text = "" sblabel.Text = "Sin registros" registro = 0 registronow = 0 Else If registronow <> registro - 1 Then Dim a As Integer For a = registronow To registro - 2 vdatos(a).numtra = vdatos(a + 1).numtra vdatos(a).nombre = vdatos(a + 1).nombre vdatos(a).dep = vdatos(a + 1).dep vdatos(a).salario = vdatos(a + 1).salario Next
verregistro(registronow) Else registronow -= 1 verregistro(registronow) End If registro -= 1 sblabel.Text = "Registro " & registronow + 1 & "/" & registro End If
If registro > 1 Then If registronow = registro - 1 Then mnuanterior.Enabled = True mnuprimero.Enabled = True ElseIf registronow = 0 Then mnuultimo.Enabled = True mnusiguiente.Enabled = True Else mnuanterior.Enabled = True mnuprimero.Enabled = True mnuultimo.Enabled = True mnusiguiente.Enabled = True End If End If End If End Sub Private Sub AbrirToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles AbrirToolStripMenuItem1.Click Dim dlgopen As New OpenFileDialog dlgopen.CheckFileExists = False If dlgopen.ShowDialog() = Windows.Forms.DialogResult.OK Then Dim flujoopen As New FileStream(dlgopen.FileName, FileMode.OpenOrCreate, FileAccess.ReadWrite) Dim leerfile As New BinaryReader(flujoopen) archivo = dlgopen.FileName If leerfile.PeekChar <> -1 Then registro = CType(Math.Ceiling(flujoopen.Length / 70), Integer) Dim a As Integer For a = 0 To registro - 1 leerfile.BaseStream.Seek(70 * a, SeekOrigin.Begin) vdatos(a).numtra = leerfile.ReadInt32.ToString vdatos(a).nombre = leerfile.ReadString.ToString vdatos(a).dep = leerfile.ReadString.ToString vdatos(a).salario = leerfile.ReadSingle.ToString Next mnunuevo.Enabled = True verregistro(0) If registro > 1 Then If registronow = registro - 1 Then
mnuanterior.Enabled = True mnuprimero.Enabled = True ElseIf registronow = 0 Then mnuultimo.Enabled = True mnusiguiente.Enabled = True Else mnuanterior.Enabled = True mnuprimero.Enabled = True mnuultimo.Enabled = True mnusiguiente.Enabled = True End If End If Else mnunuevo.Enabled = True sblabel.Text = "Sin registros" txtnumtra.Text = "" txtnombre.Text = "" txtdep.Text = "" txtsalario.Text = "" registro = 0 End If GuardarToolStripMenuItem.Enabled = True leerfile.Close() flujoopen.Close() lblfile.Text = Path.GetFileName(dlgopen.FileName) txtnumtra.Focus() End If End Sub Private Sub txtnumtra_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles txtnumtra.TextChanged End Sub Private Sub txtnumtra_KeyPress(ByVal sender As System.Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtnumtra.KeyPress End Sub End Class
Vista de la aplicacin:
Desplegar el men de registros Desplegar los mens de Navegar entre los registros y salir de la aplicacin
Despus de crear un archivo donde se guardaran los registros, se habilitaran los botones de Guardar y Cancelar, asi como despus de guardar ms de 1 registro, se habilitan las opciones de poder Navegar entre los registros.
Mens Registros y Navegar, para poder navegar, modificar entre otras operaciones entre los Registros