Ver Mensaje Individual
  #6 (permalink)  
Antiguo 15/07/2009, 07:49
Avatar de Dradi7
Dradi7
 
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 16 años, 4 meses
Puntos: 220
Respuesta: Trabajar con Arrays (Buscar, Añadir, Borrar)

Bueno te dejo un ejemplo de como trabajar con Arrays

Primero creas un Modulo llamado por ejemplo ModDatos

Código vb.net:
Ver original
  1. Public filacliente% = 0 ' Variable para Capturar el Ultimo Cliente Registrado
  2. Public clientes(20, 5) As String ' Nuestro Array de Clientes pueden ser mas
  3.  
  4. Sub grabarclientes(ByVal cod$, ByVal nom$, ByVal ape$, ByVal dir$, ByVal tele$) ' Procedimiento para grabar en el array
  5.             clientes(filacliente, 0) = cod
  6.             clientes(filacliente, 1) = nom
  7.             clientes(filacliente, 2) = ape
  8.             clientes(filacliente, 3) = dir
  9.             clientes(filacliente, 4) = tele
  10. End Sub

Bueno en tu Formulario digamos un mantenimiento

Código vb.net:
Ver original
  1. ' Las Variables de tu formulario declaradas
  2.  
  3. Dim Pos% = 0 ' Variable para avanzar y retroceder en el Array
  4.  
  5. ' Procedimiento para Mostrar los Registros del Array
  6.  
  7. Sub ver(ByVal p%)
  8.         If filacliente <= 0 Then
  9.             Me.lbregistro.Text = "Tabla Vacia"
  10.             ' Aqui pondrias procedimiento para desactivar cajas botones etc
  11.         Else
  12.             Me.tbcod.Text = clientes(p, 0)
  13.             Me.tbnom.Text = clientes(p, 1)
  14.             Me.tbape.Text = clientes(p, 2)
  15.             Me.tbdir.Text = clientes(p, 3)
  16.             Me.tbtel.Text = clientes(p, 4)
  17.             Me.lbregistro.Text = "Registro-->" + (p + 1).ToString + "de-->" + Str(filacliente)
  18.         End If
  19. End Sub
  20.  
  21. ' En el Load de tu Formulario
  22. Private Sub Manteclientes_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
  23.         Call ver(0)
  24.  
  25. End Sub
  26.  
  27. ' Procedimiento para Guardar
  28.  
  29. Private Sub Btn_Guardar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Guardar.Click
  30.  
  31. ' Los Nombres de tus textbox obviamente falta validar los campos
  32. Call grabarclientes(Me.tbcod.Text, Me.tbnom.Text, Me.tbape.Text, Me.tbdir.Text, Me.tbtel.Text)
  33. filacliente +=1
  34. MsgBox("Registro Guardado")
  35. pos = 0
  36. ver(pos) ' Mostrando el Primer Registro de Nuestro Array
  37.  
  38. end Sub
  39.  
  40. ' Procedimiento para Modificar
  41. Private Sub Btn_Modificar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Modificar.Click
  42.  
  43. clientes(pos, 1) = Me.tbnom.Text
  44. clientes(pos, 2) = Me.tbape.Text
  45. clientes(pos, 3) = Me.tbdir.Text
  46. clientes(pos, 4) = Me.tbtel.Text
  47. MsgBox("Registro actulizado")
  48. pos = 0
  49. ver(pos)
  50.  
  51. end Sub
  52.  
  53. ' Procedimiento para Buscar
  54. Private Sub Btn_Buscar_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Btn_Buscar.Click
  55.  
  56. Dim codbuscar$ = InputBox("Ingrese codigo", "BUSCAR")
  57. For x = 0 To filacliente - 1
  58.        If clientes(x, 0) = Trim(UCase(codbuscar)) Then Exit For
  59. Next
  60. pos = x
  61. ver(pos)
  62.  
  63. end Sub
  64.  
  65. ' Procedimiento para Eliminar
  66. Private Sub EliminarUno_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EliminarUno.Click
  67.         If MsgBox("Desea Eliminar realmente el registro..", 33, "Eliminar") = 1 Then
  68.             For x = pos To filacliente
  69.                 For j = 0 To 4
  70.                     clientes(x, j) = clientes(x + 1, j)
  71.                 Next
  72.             Next
  73.             filacliente -= 1
  74.             pos = 0
  75.             ver(0)
  76.         Else
  77.             MsgBox("Registro no eliminado..", 16, "Aviso")
  78.         End If
  79. End Sub
  80.  
  81. ' Procedimiento para Eliminar todos los registros
  82.  
  83. Private Sub EliminarTodos_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles EliminarTodos.Click
  84.         If MsgBox("Desea Eliminar realmente todos..", 33, "Eliminar") = 1 Then
  85.             filacliente = 0
  86.             ver(0)
  87.         Else
  88.             MsgBox("Registros no eliminados..", 16, "Aviso")
  89.         End If      
  90. End Sub
  91.  
  92. ' Procedimiento para Ir al Primer Registro
  93.  
  94. private sub Primero_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Primero.Click
  95.  
  96. Pos = 0
  97. Ver(Pos)
  98.  
  99. end sub
  100.  
  101. ' Procedimiento para Retroceder
  102.  
  103. private sub Anterior_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Anterior.Click
  104.  
  105. If pos > 0 Then
  106.     pos -= 1
  107.     ver(pos)
  108. Else
  109.    MsgBox("Ya es el inicio de la tabla")
  110. End If
  111.  
  112. end sub
  113.  
  114. ' Procedimiento para Avanzar
  115.  
  116. private sub Siguiente_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Siguiente.Click
  117.  
  118. If pos < filacliente - 1 Then
  119.       pos += 1
  120.       ver(pos)
  121. Else
  122.       MsgBox("ya es el final de la tabla")
  123. End If
  124.  
  125. end sub
  126.  
  127. ' Procedimiento para Ir al Ultimo Registro
  128.  
  129. private sub Ultimo_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Ultimo.Click
  130.  
  131. pos = filacliente - 1
  132. ver(pos)
  133.  
  134. end sub

Espero que sea de utilidad para ti y a otros
__________________
La clave de todo triunfador es eliminar todas sus excusas y sus limitaciones