Code : Tout sélectionner
Procedure.l IsBinaryFile(Filename.s)
Protected file.l = ReadFile(#PB_Any, Filename)
If file
While Not Eof(file)
Select ReadByte(file)
Case #SOH,#STX,#ETX,#EOT,#ENQ,#ACK,#BEL,#BS,#VT,#FF,#SO,#SI,#DLE,#DC1,#DC2,#DC3,#DC4,#NAK,#SYN,#ETB,#CAN,#EM,#SUB,#ESC,#FS,#GS,#RS,#US,#DEL,#NUL
CloseFile(file) : ProcedureReturn #True
EndSelect
Wend
CloseFile(file)
EndIf
EndProcedure
If ExamineDirectory(0, #PB_Compiler_Home, "*.*")
While NextDirectoryEntry(0)
If DirectoryEntryType(0) = #PB_DirectoryEntry_File
Debug DirectoryEntryName(0) + ": " + Str(IsBinaryFile(#PB_Compiler_Home + DirectoryEntryName(0)))
EndIf
Wend
EndIf
Renvoi VRAI si un fichier est 'considéré' comme un fichier binaire.