Required plugins for this example: MBS Main Plugin, MBS MacClassic Plugin, MBS Compression Plugin, MBS Images Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Compression/Old
Class Window1 Inherits Window
EventHandler Sub Open()
dim z as ZipMBS
dim f as FolderItem
f=SpecialFolder.Desktop.Child("test.zip")
MakeTestFiles
z=new ZipMBS(f,0)
AddFile z, SpecialFolder.Desktop.Child("test.jpg")
AddFile z, SpecialFolder.Desktop.Child("test.png")
z.Close("global comment")
z = nil
dim ff as FolderItem = SpecialFolder.Desktop.Child("test offset.zip")
dim bi as BinaryStream = f.OpenAsBinaryFile(False)
dim bo as BinaryStream = ff.CreateBinaryFile("")
bo.Write "Hello World "
bo.Write bi.Read(bi.Length)
bo.Close
End EventHandler
Sub AddFile(z as ZipMBS, f as FolderItem)
dim b as BinaryStream
dim info as ZipFileInfoMBS
dim d as date
b=f.OpenAsBinaryFile(false)
d=f.ModificationDate
info=new ZipFileInfoMBS
info.Day=d.day
info.Month=d.Month-1
info.Year=d.Year
info.Minute=d.Minute
info.hour=d.hour
info.Second=d.Second
info.ExternalFileAttributes=0
info.InternalFileAttributes=0
info.DosDate=0
z.CreateFile f.name, info, "", "", f.CommentMBS, z.MethodDeflated, z.CompressionBestCompression
while not b.EOF
z.Write b.Read(100000)
wend
z.CloseFile
End Sub
Sub MakeTestFiles()
dim f as FolderItem
dim p as Picture
p=LogoMBS(500)
f=SpecialFolder.Desktop.Child("test.jpg")
f.SaveAsJPEG p
f=SpecialFolder.Desktop.Child("test.png")
call f.SaveAsPNGMBS(p,0)
End Sub
End Class
MenuBar MenuBar1
MenuItem UntitledMenu1 = ""
MenuItem FileMenu = "&File"
MenuItem FileQuit = "Quit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem UntitledMenu0 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "Clear"
End MenuBar
Class App Inherits Application
End Class