Tengo que hacer un pequeño programa. En una matriz debo almacenar los nombres, apellidos, dirección y teléfonos de usuarios, y debo ordenar esa matriz por los apellidos de los usuarios. ¿Cómo ordeno la matriz? ¿Existe una función que me haga esto? Gracias.
Que yo sepa, no existe ninguna función que te haga eso, te deberías crear un algoritmo tu mismo. Te aconsejo que te hagas un array de un type que deberás crearte previamente. Te he hecho un sencillo programa para que te sirva de ejemplo, porque vale más un ejemplo que mil palabras. <Modulo1> Public Const MAXIMO = 10 Type DatosPersonales nombre As String apellidos As String direccion As String telefono As String End Type 'Creamos una variable del type que nos hemos creado en el modulo Public datos(MAXIMO) As DatosPersonales <Codigo del Form1> Private Sub Command1_Click() 'Ordenar datos Dim posi As Long Do If datos(posi).apellidos > datos(posi + 1).apellidos Then Dim auxiliar As DatosPersonales auxiliar = datos(posi) datos(posi) = datos(posi + 1) datos(posi + 1) = auxiliar If posi > 0 Then posi =posi - 1 Else posi = posi + 1 End If Loop Until posi > MAXIMO - 1 'Mostrar datos For i = 0 To MAXIMO List1.AddItem datos(i).nombre & " " & datos(i).apellidos & " " & _ datos(i).direccion & " " & datos(i).telefono Next i End Sub Private Sub Form_Load() 'Introducimos datos de ejemplo al array datos(0).apellidos = "Rodriguez" datos(1).apellidos = "Gonzalez" datos(2).apellidos = "García" datos(3).apellidos = "Gutierrez" datos(4).apellidos = "Esteban" datos(0).nombre = "Guillermo" datos(1).nombre = "Juan" datos(2).nombre = "Antonio" datos(3).nombre = "Miguel" datos(4).nombre = "Roberto" datos(0).telefono = "346634634" datos(1).telefono = "346326446" datos(2).telefono = "897978989" datos(3).telefono = "234252345" datos(4).telefono = "865856568" datos(0).direccion = "C/ del Palomar" datos(1).direccion = "C/ Urgell" datos(2).direccion = "C/ Sants" datos(3).direccion = "C/ del robledo" datos(4).direccion = "C/ de la pineda" End Sub <fin del codigo del Form1> En el formulario introduce un ListBox (List1) y un CommandButton (Command1). Con eso te debería funcionar el ejemplo. Para cualquier aclaración me lo dices.
- Anónimoahora mismo
Añade tu respuesta
Haz clic para
o
El autor de la pregunta ya no la sigue por lo que es posible que no reciba tu respuesta.