Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: WHK en 12 Octubre 2009, 21:16 PM

Título: Obtener el id del ultimo directorio creado
Publicado por: WHK en 12 Octubre 2009, 21:16 PM
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
Código (vb) [Seleccionar]
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
Título: Re: Obtener el id del ultimo directorio creado
Publicado por: BlackZeroX en 12 Octubre 2009, 21:47 PM
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).

Código (vb) [Seleccionar]

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!¡.
Título: Re: Obtener el id del ultimo directorio creado
Publicado por: WHK en 12 Octubre 2009, 22:28 PM
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
Título: Re: Obtener el id del ultimo directorio creado
Publicado por: seba123neo en 14 Octubre 2009, 01:38 AM
Hola y si usas la fecha de creacion del directorio y asi ordenarlos segun la fecha ¿ te sirve ?

saludos.