Para ordenar números de un arreglo se utilizan muchos métodos pero en este caso voy a utilizar el Método Burbuja.
Este Método consiste en ir revisando cada elemento de la lista que va a ser ordenada con el siguiente, intercambiándolos de posición si están en el orden equivocado. Es necesario revisar varias veces toda la lista hasta que no se necesiten más intercambios, lo cual significa que la lista está ordenada.
El formulario se ve de la siguiente manera:
Lo primero es tener un cuadro de texto en el cual escribir los números y luego irlos agregando al control List de la siguiente manera.
Private Sub cmdAgregar_Click() If txtNumero.Text <> "" Then ' se verifica que se ingresa un valor al control With List1 .AddItem txtNumero.Text txtNumero.Text = "" txtNumero.SetFocus End With End If End Sub
Hay que tener en cuenta que el control List tiene 2 opciones para ingresarle valores uno es usando el AddItem que corresponde a los elementos visibles del control y la otra propiedad es ItemData que corresponde al valor correspondiente a cada ítem agregado. Voy a dar un ejemplo:
List1.AddItem "Luis Fernando Martinez" List1.ItemData(.NewIndex) = 0 List1.AddItem "Carlos Gonzales" List1.ItemData(.NewIndex) = 1
Del ejemplo anterior vemos que el ItemData correspondiente a Luis Fernando es 0 y 1 para Carlos
La siguiente función se va a encargar de ordenar:
'Ordenamiento método burbuja Sub Ordenar() Do n = 0 ' esta variable hace las veces de bandera comprobara que ya este ordenado For i = 1 To List1.ListCount - 1 'se lee uno a uno los item de la lista ' se inicia en 1 para poder leer el anterior List1.ListIndex = i - 1 ' se resta uno para tomar el numero anterior numero = List1.Text ' se toma el numero List1.ListIndex = i 'numero siguiente temp = List1.Text If Val(numero) < Val(temp) Then 'se valida si el numero anterior es menor al siguiente List1.List(i - 1) = temp ' si es menor se intercambia la posicion List1.List(i) = numero n = i ' se cambia el valor de la bandera para que siga el ciclo End If Next i Loop While (n <> 0) 'se repite hasta que n sea = 0 End Sub
Y se hace el llamado desde el evento clic del botón Ordenar.
Private Sub cmdOrdenar_Click() Call Ordenar End Sub
Y por ultimo el botón salir
Private Sub cmdSalir_Click() Unload Me End Sub
Descargar el proyecto Ordenamiento Burbuja (130 descargas )
Puedes el listado de las lecciones del curso en Curso de Creación de Software de Ventas en Visual Basic 6
No te olvides de Compartir