Xojo Conferences
MBSSep2018MunichDE
XDCMay2019MiamiUSA

Platforms to show: All Mac Windows Linux Cross-Platform

/Compression/GZip string test
Function:
Required plugins for this example: MBS Compression Plugin, MBS Util Plugin
You find this example project in your Plugins Download as a Xojo project file within the examples folder: /Compression/GZip string test
This example is the version from Sun, 17th Mar 2012.
Project "GZip string test.rbp"
Class App Inherits Application
Const kEditClear = "&Delete"
Const kFileQuit = "&Quit"
Const kFileQuitShortcut = ""
End Class
Class Window1 Inherits Window
EventHandler Sub Open() dim s as string = "Hello World" // compress dim c as string = GZIPStringWriteMBS(s) // decompress dim t as string = GZipStringReadMBS(c) MsgBox s // second test dim test as string = RandomBytesStringMBS(1000, true) test = test + test // 2000 test = test + test // 4000 test = test + test // 8000 Bytes now // compress dim ctest as string = GZIPStringWriteMBS(test) // decompress dim ttest as string = GZipStringReadMBS(ctest) if lenb(ttest)=lenb(test) then if StrComp(ttest, test, 0)=0 then MsgBox "OK" else MsgBox "Error: Content changed." end if else MsgBox "Error: Length wrong." end if End EventHandler
Function GZIPStringWriteMBS(data as string) As string dim g as new GZipFileMBS if g.CreateForString then g.Write data Return g.CloseForString end if End Function
Function GZipStringReadMBS(compressedData as string) As string dim g as new GZipFileMBS const BlockSize=1000000 if g.OpenString(compressedData) then dim parts(-1) as string while not g.eof dim s as string=g.Read(BlockSize) parts.Append s wend Return Join(parts,"") end if End Function
End Class
MenuBar MenuBar1
MenuItem FileMenu = "&File"
MenuItem FileQuit = "#App.kFileQuit"
MenuItem EditMenu = "&Edit"
MenuItem EditUndo = "&Undo"
MenuItem UntitledMenu1 = "-"
MenuItem EditCut = "Cu&t"
MenuItem EditCopy = "&Copy"
MenuItem EditPaste = "&Paste"
MenuItem EditClear = "#App.kEditClear"
MenuItem UntitledMenu0 = "-"
MenuItem EditSelectAll = "Select &All"
End MenuBar
End Project

See also:

Feedback, Comments & Corrections

The items on this page are in the following plugins: MBS Compression Plugin.




Links
MBS Xojo Plugins