Colaboración de
Harvey Triana
Actualizado el 24/Jul/97
La necesidad de esta
función nace de la siguiente situación. Algunas herramientas de
ingeniería, generan archivos ASCII o de Texto como fuente de
datos de salida. El propósito es que software comercial o
corporativo pueda leer, graficar o interpretar los datos.
Normalmente este tipo de software importa estos datos a un
sistema binario de acceso directo o a un Database. Estos archivos
tienen extensiones personalizadas y por lo tanto debemos evaluar
si son o no binarios antes de intentar procesarlos. Valga aclarar
que el tamaño de estos archivo frecuentemente alcanza los 10
Megabytes y algunos son formato texto de Unix.
Pues bien, la función que
les presento a continuación hace esta tarea efectivamente. Doy
crédito a David Garza Marín, quien me dio la idea
básica del programa.
Public Function IsBinaryFile(File As String) As Boolean
Const aLf = 10, aCR = 13, aSP = 32
Const MaxRead = 65536
Dim ff As Integer
Dim s As Integer
Dim i As Long
Dim n As Long
Dim Rtn As Boolean
On Error GoTo IsBinaryFile_Err
ff = FreeFile
Open File For Binary Access Read As #ff
n = IIf(LOF(ff) > MaxRead, MaxRead - 1, LOF(ff))
Do
i = i + 1
If i >= n Then
IsBinaryFile = False
Rtn = True
Else
s = Asc(Input$(1, #ff))
If s
NOTAS
|
Cualquier inquietud puedes comunicarte a [email protected] Atentamente, Harvey Triana