tercoide 14-03-2024, 00:19
Muchos saben que yo soy fanático de armar equipos de trabajo, probablemente la antítesis del programador solitario, así que aquí voy de nuevo:

que os parece hacer un programa en el que participemos TODOS los usuarios habituales del foro???????????????????

Si somos menos de 10, no vale.

1-Terco
2-...
tincho 13-03-2024, 23:53
Hola amigos.
Le comparto una función que sirve para averiguar cuando ocupa un directorio, o mejor dicho cuanto es la suma de todos los archivos que contiene.
En realidad son dos funciones una que lista todos los archivos (ScanFiles) y otra que los contabiliza (DirSize).

El primer argumento es obligatorio pues es el directorio a analizar y el segundo, que es booleano indica si se contabilizaran los enlaces simbólicos
Código:
'' <b>RAD Extension.</b><br>
'' Return the directory size in bytes. The first argument is mandatory because it is the directory to be analyzed and the second, which is boolean, indicates whether symbolic links will be counted.
Public Function DirSize(sDir As String, bSymbolic As Boolean) As Long
  Dim a As String[]
  Dim f As String
  Dim z As Long
  a = ScanFiles(sDir,,,, True) 'Esta es la otra función
  For Each f In a
    z = z + Stat2(f)["size"]
  Next
  Return z
End

Código:
'' <b>RAD Extension.</b><br>
'' Return a files list nested in a directory using a find command
Public Function ScanFiles(sPath As String, Optional ext As String[], Optional maxdepth As Integer, Optional sFilter As String, Optional bSymbolic As Boolean) As String[]

  Dim out As New String[]
  Dim t As String
  Dim ex As String
  Dim sTmp As String
  Dim aOut As New String[]
  Dim sType As String
  Dim sMax As String

  If maxdepth > 0 Then
    sMax = " -maxdepth " & CStr(maxdepth)
  Endif

  If bSymbolic Then
    sType = " -type f,l"
  Else
    sType = " -type f"
  Endif

  If Exist(sPath) Then
    If ext Then
      Select ext.Count
          'Case 0
          '  Shell "find '" & sPath & "'" & sMax & sType & " -printf '%p\n' 2>&1" To t
        Case 1
          Shell "find '" & sPath & "'" & sMax & sType & " -name '*.'" & ext[0] & " -printf '%p\n' 2>&1" To t
        Case Else
          ex = "\\( -name \"*."
          ex &= ext.Join("\" -o -name \"*.")
          ex &= "\" \\)"
          Shell "find '" & sPath & "'" & sMax & sType & ex & " -printf '%p\n' 2>&1" To t
      End Select
    Else
      Shell "find '" & sPath & "'" & sMax & sType & " -printf '%p\n' 2>&1" To t
    Endif

    out = Split(t, "\n")

    If out.Count > 0 Then
      If out[out.Max] = "" Then
        out.Remove(out.Max, 1)
      Endif
    Endif

  Endif

  If sFilter <> "" Then
    For Each sTmp In out
      If InStr(sTmp, sFilter) > 0 Then
        aOut.Add(sTmp)
      Endif
    Next
  Else
    aOut = out.Copy()
  Endif

  Return aOut

End
Shordi 13-03-2024, 19:19
... anuncio mi retirada y vuelvo al poco tiempo. La primera vez fue cuando me jubilé y tuve que volver porque sin programar la vida no era vida. La segunda fue cuando me compré una moto un poco harto de hacer programas que a nadie interesaban, ni siquiera a mí mismo.... pero ahora vuelvo otra vez.
¿Por qué?:
Porque necesito programar
Porque no sólo de montar en moto vive un jubilado
Porque veo mensajes en el foro (sí, lo he seguido visitando de vez en cuando) a los que creo que puedo ayudar
Y porque os echaba de menos.

O sea, que héteme aquí otra vez. No prometo gran asiduidad, pero sí constancia... hasta que me vuelva a retirar pa siempre.

Una cervecita para todos
Páginas (566):    1 102 103 104 105 106 566   
Bienvenido, Invitado
Tienes que registrarte para poder participar en nuestro foro.
Recordarme?
Miembros: 295
Último miembro: ncofre98
Temas del foro: 1,748
Mensajes del foro: 9,072
Últimos temas
Problemas con las interru...
Foro: General
Último mensaje por: guizans, 14-12-2025, 18:40
Respuestas: 5 - Vistas: 239
Scrolling un ScrollArea
Foro: Controles/Librerías/Componentes
Último mensaje por: Shordi, 12-12-2025, 07:24
Respuestas: 5 - Vistas: 249
Ordenar en un TableView
Foro: General
Último mensaje por: guizans, 08-12-2025, 23:06
Respuestas: 9 - Vistas: 944
Resultados dispares según...
Foro: Bases de Datos
Último mensaje por: guizans, 04-12-2025, 22:49
Respuestas: 6 - Vistas: 400
Mover un Result a una pos...
Foro: Bases de Datos
Último mensaje por: guizans, 30-11-2025, 19:25
Respuestas: 2 - Vistas: 224
Powered By MyBB, © 2002-2025 MyBB Group.
Made with by Curves UI.