$PBExportHeader$w_memory.srw $PBExportComments$In-memory compress/uncompress forward global type w_memory from window end type type cb_close from commandbutton within w_memory end type type mle_result from multilineedit within w_memory end type type cb_decompress from commandbutton within w_memory end type type cb_compress from commandbutton within w_memory end type end forward global type w_memory from window integer x = 302 integer y = 396 integer width = 2647 integer height = 1556 boolean titlebar = true string title = "Sample In-memory compress/uncompress" boolean controlmenu = true windowtype windowtype = response! long backcolor = 79416533 boolean center = true cb_close cb_close mle_result mle_result cb_decompress cb_decompress cb_compress cb_compress end type global w_memory w_memory type variables blob iblob_zipped ulong iul_original String is_source end variables forward prototypes public function string wf_loremipsum () end prototypes public function string wf_loremipsum ();Return "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis diam augue, hendrerit in dapibus a, ultricies sed orci. Vivamus id leo sit amet neque tincidunt euismod vel nec metus. Sed eros lectus, placerat id nulla sed, porttitor feugiat arcu. Proin condimentum est a est accumsan accumsan. Maecenas id nisl a augue egestas viverra et quis nulla. Praesent a hendrerit metus. Nunc dui leo, commodo ut tellus non, pellentesque iaculis nisl. Integer at rutrum sapien. Donec volutpat facilisis enim vitae mattis. Phasellus maximus vulputate lectus, non pretium elit consequat vehicula. Ut a ornare massa.~r~n~r~n" + & "Phasellus cursus nisi vel libero ultrices, a commodo enim iaculis. Nunc at iaculis enim. Aenean pellentesque fermentum orci, eget commodo sem rhoncus eget. Ut lacinia pellentesque venenatis. Donec elementum vulputate lectus eget rhoncus. Proin et molestie orci. Sed vitae posuere turpis. Ut luctus orci vel nibh dictum dignissim a id neque. Pellentesque venenatis nisl et varius pretium. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Nullam dignissim lorem id molestie feugiat. Aliquam in rhoncus magna. Nulla varius diam nisl, sed suscipit libero aliquam non. Cras sed pretium tellus. Mauris in nulla tempus, placerat mauris sed, pulvinar dui. Suspendisse at pretium quam.~r~n~r~n" + & "Fusce consequat tincidunt convallis. Integer sit amet tortor at risus aliquam pharetra nec ut ex. Suspendisse sed ante ullamcorper, tempor turpis sit amet, gravida risus. Donec ac purus ligula. Nunc ornare in dolor a tempus. Nullam eu mauris vel risus semper suscipit sed at leo. Pellentesque vitae eleifend turpis, at feugiat libero.~r~n~r~n" + & "Aenean vitae nunc in massa congue fermentum vitae sit amet dui. In ut ultricies dui. Nullam mauris enim, consequat nec turpis vel, sollicitudin aliquet eros. Duis nisi sapien, finibus in nisl at, feugiat porttitor libero. Proin ut mattis arcu. Sed facilisis tempor enim ac luctus. In odio orci, varius eu fermentum id, pretium sit amet urna. Maecenas cursus elementum enim et rutrum. Nam libero turpis, aliquet sit amet justo at, commodo vestibulum tortor. Nam malesuada sem dui, a auctor neque ultrices nec. Sed erat sem, semper eget finibus at, rutrum a ante. Phasellus euismod nibh pulvinar sem vulputate, at venenatis urna facilisis. Integer sed metus tincidunt, pretium neque sit amet, volutpat lectus. Sed quis lorem est.~r~n~r~n" + & "Donec posuere facilisis malesuada. Nulla facilisi. Donec tristique justo dolor, non finibus nisl venenatis id. Mauris molestie venenatis sem mattis consectetur. Nulla at erat volutpat, pulvinar mi vitae, egestas eros. Sed lacinia eget est vitae fermentum. In ac sapien ornare ligula posuere rutrum. Phasellus risus sem, commodo a ornare in, rutrum at felis. Aliquam erat volutpat. Nunc dignissim lorem nisi. Sed accumsan dolor nulla, in convallis nunc euismod sed. Maecenas lacus tortor, efficitur eget lectus in, tristique dapibus orci. Sed ex justo, laoreet in viverra quis, vulputate eu turpis. Integer ac ante nec libero tristique dapibus." end function on w_memory.create this.cb_close=create cb_close this.mle_result=create mle_result this.cb_decompress=create cb_decompress this.cb_compress=create cb_compress this.Control[]={this.cb_close,& this.mle_result,& this.cb_decompress,& this.cb_compress} end on on w_memory.destroy destroy(this.cb_close) destroy(this.mle_result) destroy(this.cb_decompress) destroy(this.cb_compress) end on type cb_close from commandbutton within w_memory integer x = 2231 integer y = 32 integer width = 334 integer height = 100 integer taborder = 30 integer textsize = -8 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Close" boolean cancel = true end type event clicked;Close(parent) end event type mle_result from multilineedit within w_memory integer x = 37 integer y = 160 integer width = 2528 integer height = 1252 integer taborder = 40 integer textsize = -9 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = fixed! fontfamily fontfamily = modern! string facename = "Fixedsys" long textcolor = 33554432 boolean vscrollbar = true boolean displayonly = true borderstyle borderstyle = stylelowered! end type type cb_decompress from commandbutton within w_memory integer x = 475 integer y = 32 integer width = 370 integer height = 100 integer taborder = 20 integer textsize = -8 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" boolean enabled = false string text = "Decompress" end type event clicked;String ls_source SetPointer(HourGlass!) // uncompress original string If gn_zlib.of_uncompress(iblob_zipped, iul_original, ls_source) Then If ls_source = is_source Then mle_result.text = ls_source Else MessageBox( Parent.title, & "Uncompressed source does not match original!") End If Else MessageBox(Parent.title, "Uncompress failed.") End If end event type cb_compress from commandbutton within w_memory integer x = 37 integer y = 32 integer width = 370 integer height = 100 integer taborder = 10 integer textsize = -8 integer weight = 400 fontcharset fontcharset = ansi! fontpitch fontpitch = variable! fontfamily fontfamily = swiss! string facename = "MS Sans Serif" string text = "Compress" end type event clicked;Decimal{2} ldec_pct SetPointer(HourGlass!) // get userobject source to use as test string is_source = wf_LoremIpsum() // save original size iul_original = Len(is_source) // compress original string If gn_zlib.of_compress(is_source, iblob_zipped) Then ldec_pct = 100 - ((Len(iblob_zipped) / iul_original) * 100) cb_decompress.enabled = True mle_result.text = "Compressed from " + & String(iul_original) + " to " + String(Len(iblob_zipped)) + & "~r~nA reduction of " + String(ldec_pct) + " percent" Else MessageBox(Parent.title, "Compress failed.") End If end event
File: w_memory.srw
Size: 7266
Date: Tue, 19 Apr 2022 01:58:04 +0200
Size: 7266
Date: Tue, 19 Apr 2022 01:58:04 +0200
- window w_memory(srw)
- commandbutton cb_close
- multilineedit mle_result
- commandbutton cb_decompress
- commandbutton cb_compress