Hola, estoy haciendo un programa que guarda imagenes a un directorio, este directorio tiene un grupo de imagenes en directorios ordenados de forma numérica, por ejemplo:
imagenes/grupo1
imagenes/grupo2
imagenes/grupo3
imagenes/grupo4
etc..
el problema es que como puedo saber cual directorio corresponde después del último creado sabiendo que alguien puede modificar el nombre de algún directorio por x motivo imposibilitando utilizar las propiedades nativas de creación del directorio y evitando que el directorio 10 quede primero que el 1 y sabiendo que pueden haber directorios eliminados por lo tanto puede haber directorio 2, directorio 5, etc.
Como podría hacerlo?
Ya obtube todos los directorios de la ruta con una función que hize:
Archivos.bas
Public Function Obtener_Directorios(Ruta As String) As Variant
Dim Directorio As String
On Error Resume Next
Directorio = Dir(Ruta, vbDirectory)
While Directorio <> ""
Directorio = Dir
If Is_Dir(Ruta & Directorio) Then
Obtener_Directorios = Obtener_Directorios & Directorio & ","
End If
Wend
Obtener_Directorios = Split(Obtener_Directorios, ",")
End Function
Pero ahora no se como ordenarlos de forma alfabetica y numérica :P
Para el ordenado puedes usar Bubble Sort:
Este codigo es sacado del ListboxEx de Leandro Ascierto, te lo pongo por su sencilles (Es Relentisimo con muchos datos a ordenar pero se comprende bien).
Public Enum EnuListOrder
AcendetOrder = 0
DecendentOrder = 1
End Enum
Public Sub Sorted(Order As EnuListOrder)
Dim Itm as string
Dim J As Long
Dim i As Long
If Order = AcendetOrder Then
For J = 0 To mCount - 2
For i = 0 To mCount - 2
If Item(i) > Item(i + 1) Then
Itm = Item(i + 1)
Item(i + 1) = Item(i)
Item(i) = Itm
End If
Next i
Next J
Else
For J = 0 To mCount - 2
For i = 0 To mCount - 2
If Item(i) < Item(i + 1) Then
Itm = Item(i + 1)
Item(i + 1) = Item(i)
Item(i) = Itm
End If
Next i
Next J
End If
End Sub
Dulces Lunas!¡.
XDDDD al principio serán unas 100 o 200 imagenes por sesión de fotos, después quedarán almacenados y serán miles xDD
gracias de todas formas
Hola y si usas la fecha de creacion del directorio y asi ordenarlos segun la fecha ¿ te sirve ?
saludos.