Foros del Web » Programación para mayores de 30 ;) » .NET »

Trabajar con Arrays (Buscar, Añadir, Borrar)

Estas en el tema de Trabajar con Arrays (Buscar, Añadir, Borrar) en el foro de .NET en Foros del Web. tengo un problema con un programa... pediria porfavor di alguien fuese tan amable de resolverlo se lo agradecere el enunciado es el siguiente: un empresa ...
  #1 (permalink)  
Antiguo 14/07/2009, 12:32
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años
Puntos: 0
Sonrisa Trabajar con Arrays (Buscar, Añadir, Borrar)

tengo un problema con un programa...
pediria porfavor di alguien fuese tan amable de resolverlo
se lo agradecere
el enunciado es el siguiente:

un empresa "Y" necesita guardar los datod de sus trabajadores (codigo de trabajador, nombre, domicilio, sueldo, horas extra, sueldo total) en una estructura tipo array, que nos ha de permitir recorrer toda la lista y encontrar un trabajador cualquiera.
Ademas el progrma necesita añadir o borrar un trabajador del listado, asi como calcular el sueldo total en funcion del sueldo y las horas extra.

por favor necesito ayuda urgente lo e de hacer y no se como.
Gracias
  #2 (permalink)  
Antiguo 14/07/2009, 13:01
Avatar de David
Moderador
 
Fecha de Ingreso: abril-2005
Ubicación: In this planet
Mensajes: 15.720
Antigüedad: 19 años
Puntos: 839
Respuesta: Trabajar con Arrays (Buscar, Añadir, Borrar)

Por favor, elige títulos más adecuados para las preguntas.

Muéstranos qué has intentado y qué parte no logras realizar, así podremos orientarte.
__________________
Por favor, antes de preguntar, revisa la Guía para realizar preguntas.
  #3 (permalink)  
Antiguo 14/07/2009, 13:03
 
Fecha de Ingreso: abril-2009
Mensajes: 46
Antigüedad: 15 años
Puntos: 0
Respuesta: Trabajar con Arrays (Buscar, Añadir, Borrar)

Código:
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        Dim codigo(20) As String
        Dim nombre(20) As String
        Dim domicilio(20) As String
        Dim sueldo(20) As String
        Dim horas(20) As String
        Dim sueldot(20) As String
        Dim i As Integer
        For i = 1 To 20
            codigo(i) = TextBox1.Text
            nombre(i) = TextBox2.Text
            domicilio(i) = TextBox3.Text
            sueldo(i) = TextBox4.Text
            horas(i) = TextBox5.Text
            sueldot(i) = TextBox6.Text
            TextBox12.Text = codigo(i)
            TextBox11.Text = nombre(i)
            TextBox10.Text = domicilio(i)
            TextBox9.Text = sueldo(i)
            TextBox8.Text = horas(i)
            TextBox7.Text = sueldot(i)
next
end sub
esto es loq ue llevo puesto pero es que no se hacer nada mas
estoy muy perdido ahora mismo
Gracias
  #4 (permalink)  
Antiguo 15/07/2009, 00:23
Avatar de Bravenap  
Fecha de Ingreso: noviembre-2002
Ubicación: Los Arroyos, El Escorial, Madrid
Mensajes: 2.084
Antigüedad: 21 años, 6 meses
Puntos: 4
Respuesta: Trabajar con Arrays (Buscar, Añadir, Borrar)

Y si cambia el número de empleados y ya no son 20 (esperemos que contraten a más gente y aumente). El código ya no te valdría.
Puedes o bien ir redimensionando tu vector:
Código PHP:
Redim Preserve codigo(21
O bien utilizar ArrayList que te permiten añadir y eliminar elementos más fácilmente. En un ArrayList puedes almacenar cualquier tipo de objeto o por ejemplo una estructura.

En este sentido, podrías crearte una estructura para almancenar los datos del empleado:

Código:
Public Structure Empleado
		Dim Codigo As String
		Dim Nombre As String
		Dim Domicilio As String
		Dim Sueldo As Double
		Dim Horas As Integer
		Function SueldoTotal() As Double
			Return Sueldo * Horas
		End Function
	End Structure
	
	    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
		Dim arrEmpleados As New ArrayList
		For i As Integer = 0 To X
			Dim Emp As New Empleado
			Emp.Codigo = TextBox1.Text
			Emp.Nombre = TextBox2.Text
			Emp.Domicilio = TextBox3.Text
			Emp.Sueldo = TextBox4.Text
			Emp.Horas = TextBox5.Text
			arrEmpleados.Add(Emp)
			TextBox12.Text = Emp.Codigo
			TextBox11.Text = Emp.Nombre
			TextBox10.Text = Emp.Domicilio
			TextBox9.Text = Emp.Sueldo
			TextBox8.Text = Emp.Horas
			TextBox7.Text = Emp.SueldoTotal
		Next
	End Sub
__________________
¡¡NO A LA GUERRA!!
Si ponemos a nuestros mensajes títulos adecuados, la gente se animará más a abrirlos y resultarán más útiles en las busquedas. ¡No a los ayuuudaaa, urgenteee y similares!
  #5 (permalink)  
Antiguo 15/07/2009, 06:31
 
Fecha de Ingreso: julio-2009
Mensajes: 1
Antigüedad: 14 años, 10 meses
Puntos: 0
Respuesta: Trabajar con Arrays (Buscar, Añadir, Borrar)

Yo soy una persona con el mismo problema
el codigo del programa vendria a ser asi:
(esta planteado en dos forms)
Form1
Cita:
Private Sub Command1_Click()

Dim codigo(100) As String
Dim nombre(100) As String
Dim domicilio(100) As String
Dim sueldo(100) As String
Dim horas(100) As String
Dim sueldototal(100) As String

Dim i As Integer
For i = 1 To 100

'Guardar'
codigo(i) = Text1.Text
nombre(i) = Text2.Text
domicilio(i) = Text3.Text
sueldo(i) = Text4.Text
horas(i) = Text5.Text
sueldototal(i) = Text6.Text

'Mostrar'
Form2.Text1.Text = codigo(i)
Form2.Text2.Text = nombre(i)
Form2.Text3.Text = domicilio(i)
Form2.Text4.Text = sueldo(i)
Form2.Text5.Text = horas(i)
Form2.Text6.Text = sueldototal(i)
Next

'Limpiar'
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""

End Sub

Private Sub Command2_Click() 'cambiar de formulario'
Form1.Visible = False
Form2.Visible = True
End Sub
Form2
Cita:
Aqui tenemos en la interficie grafica:
los respectivos textbox donde se muetran los vectores y 3 botones
uno: k es para volver al form1:
Form1.Visible = False
Form2.Visible = True

i los otros dos para navegar entre los trabajadores introducidos en los vectores declarados anteriormente (Ese es mi problema no se como hacer para poder desplazarme entre las secciones de los vectores)
Porfavor ayuda!!
  #6 (permalink)  
Antiguo 15/07/2009, 07:49
Avatar de Dradi7  
Fecha de Ingreso: junio-2008
Ubicación: Peru - Lima
Mensajes: 1.518
Antigüedad: 15 años, 11 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
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 01:30.