#include "dir.bi" Type infoarchv tamano As Longint nombre As String End Type Sub sortFiles(files() As infoarchv) Dim As Integer i, j, n = Ubound(files) For i = 0 To n-1 For j = i+1 To n If files(j).tamano < files(i).tamano Then Swap files(i), files(j) Elseif files(j).tamano = files(i).tamano Then If files(j).nombre < files(i).nombre Then Swap files(i), files(j) End If Next j Next i End Sub ' Main program Dim As String d Line Input "Enter directory to search (leave blank for current directory): ", d If d = "" Then d = Curdir If Chdir(d) <> 0 Then Print "Could not change directory: "; d : End Redim As String dirlist(0) Dim As Integer i, cntarchv = 0 Dim As String cad = Dir("*", fbNormal) While cad <> "" Redim Preserve dirlist(cntarchv) dirlist(cntarchv) = cad cntarchv += 1 cad = Dir() Wend Dim As infoarchv files() Redim files(cntarchv-1) For i = 0 To cntarchv-1 Dim As Long f = Freefile If Open(dirlist(i) For Binary Access Read As #f) = 0 Then files(i).tamano = Lof(f) files(i).nombre = dirlist(i) Close #f Else files(i).tamano = -1 files(i).nombre = dirlist(i) End If Next Print !"\nDirectory : "; d Print String(40, "-") sortFiles(files()) Dim As Boolean linea = False For i = 0 To cntarchv-2 If files(i).tamano = files(i+1).tamano And files(i).tamano >= 0 Then Print files(i).tamano; " "; files(i).nombre Print files(i+1).tamano; " "; files(i+1).nombre If i < cntarchv-2 Andalso files(i+1).tamano <> files(i+2).tamano Then linea = True Else linea = False End If If linea Then Print String(40, "-") linea = False End If Next Sleep