Mailing List Archive: 49091 messages
  • Home
  • Script library
  • AltME Archive
  • Mailing list
  • Articles Index
  • Site search
 

[REBOL] REBOL stand-alone applications? Re:

From: kracik:mbox:dkm:cz at: 4-Aug-2000 17:46

This is a multi-part message in MIME format. --------------AA884A8894E2DC0069875E81 Content-Type: text/plain; charset=iso-8859-2 Content-Transfer-Encoding: 7bit Hi, There's a possibility to append your script after the REBOL executable, at least Windows loader does not complain. But you must then run REBOL with a long command line from a shortcut, not just rebol.exe. First, make a directory, copy REBOL.exe, hide-script.r and the script you want to hide (I use a random example dancelady.r) to that directory. Then run hide-script.r - it will create a modified REBOL executable and print a command line - copy it and paste into some shortcut. You can then delete dancelady.r file from disk - modified REBOL will still run it. Scripts and example shortcut (renamed, because Netscape Messenger tries to follow it) are attached. Hope this helps, -- Michal Kracik [newsletters--scanzoni--com] wrote:
> I would like to be able to put together an client side standalone > application that uses REBOL - but > I do not want to require the user to download the REBOL and see the scripts > that make up the application. > > Is it possible to create a REBOL app that completely encapsulates the REBOL > engine and hides the script(s).... > And if so, how? > > - Scanzoni
--------------AA884A8894E2DC0069875E81 Content-Type: text/plain; charset=iso-8859-2; name="dancelady.r" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline; filename="dancelady.r" REBOL [ TITLE: "The Dance Lady" AUTHOR: "Ralph Roberts, =A92000" DATE: "13-Jan-2000" PURPOSE: "console animation demo" FILE: %dancelady.r] print newline print "^(1B)[10CPresenting the exotic" print "^(1B)[10C MS. ASCII REBOLI" print newline print "^(1B)[12C .###. " print "^(1B)[12C _#*_*#_) " print "^(1B)[12C--(--/__\------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------/_/------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------\_\------" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C (_#*_*#_ " print "^(1B)[12C-----/__\-)----" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C _#*_*#_) " print "^(1B)[12C--(--/__\------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------/_/------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------\_\------" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C (_#*_*#_ " print "^(1B)[12C-----/__\-)----" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C _#*_*#_) " print "^(1B)[12C--(--/__\------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------/_/------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------\_\------" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C (_#*_*#_ " print "^(1B)[12C-----/__\-)----" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C _#*_*#_) " print "^(1B)[12C--(--/__\------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------/_/------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------\_\------" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C (_#*_*#_ " print "^(1B)[12C-----/__\-)----" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C _#*_*#_) " print "^(1B)[12C--(--/__\------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------/_/------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------\_\------" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C (_#*_*#_ " print "^(1B)[12C-----/__\-)----" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C _#*_*#_) " print "^(1B)[12C--(--/__\------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------/_/------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------\_\------" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C (_#*_*#_ " print "^(1B)[12C-----/__\-)----" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C _#*_*#_) " print "^(1B)[12C--(--/__\------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------/_/------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------\_\------" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C (_#*_*#_ " print "^(1B)[12C-----/__\-)----" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C _#*_*#_) " print "^(1B)[12C--(--/__\------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------/_/------" print "^(1B)[12C _\ \_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C ___#*_*#___ " print "^(1B)[12C------\_\------" print "^(1B)[12C _/ /_ " wait .2 prin "^(1B)[4A" print "^(1B)[12C .###. " print "^(1B)[12C (_#*_*#_ " print "^(1B)[12C-----/__\-)----" print "^(1B)[12C _/ /_ " print [newline "^(1B)[10C**applause**applause***^/"] print "^(1B)[12CNext Show 10 p.m." --------------AA884A8894E2DC0069875E81 Content-Type: text/plain; charset=iso-8859-2; name="hide-script.r" Content-Transfer-Encoding: 7bit Content-Disposition: inline; filename="hide-script.r" REBOL [] rebol-executable: read/binary %rebol.exe original-length: length? rebol-executable append rebol-executable read %dancelady.r write/binary %modified-rebol.exe rebol-executable print rejoin [ {modified-rebol.exe --do "do load to-string skip read/binary %modified-rebol.exe } original-length {"} ] --------------AA884A8894E2DC0069875E81 Content-Type: application/octet-stream; name="modified-rebol.exe.lnk__" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="modified-rebol.exe.lnk__" TAAAAAEUAgAAAAAAwAAAAAAAAEa7AAAAIAAAAMB2Gf4A/r8BANjijJ79vwEACez+AP6/AZtt AwAAAAAAAQAAAAAAAAAAAAAAAAAAAIwAFAAfD+BP0CDqOmkQotgIACswMJ0ZACNEOlwAAAAA AAAAAAAAAAAAAAAAAK1cFwAxAAAAAAASJyOAEABSRUJPTC0yAAAYADEAAAAAAAQpxVMQAG1v ZGlmaWVkAAAuADIAm20DAAQpF1UgAG1vZGlmaWVkLXJlYm9sLmV4ZQBNT0RJRkl+MS5FWEUA AAB/AAAAHAAAAAMAAAAcAAAAMgAAADgAAABbAAAAFgAAAAMAAACTEr04EAAAAEdBTUVTAEQ6 XABUXCMAAAACAAAAFAAAAAAAAAAAAAIAXFxLUkFDSUtcZ2FtZXMAUkVCT0wtMlxtb2RpZmll ZFxtb2RpZmllZC1yZWJvbC5leGUAFAAuAFwAbQBvAGQAaQBmAGkAZQBkAC0AcgBlAGIAbwBs AC4AZQB4AGUAEwBEADoAXABSAEUAQgBPAEwALQAyAFwAbQBvAGQAaQBmAGkAZQBkAEQALQAt AGQAbwAgACIAZABvACAAbABvAGEAZAAgAHQAbwAtAHMAdAByAGkAbgBnACAAcwBrAGkAcAAg AHIAZQBhAGQALwBiAGkAbgBhAHIAeQAgACUAbQBvAGQAaQBmAGkAZQBkAC0AcgBlAGIAbwBs AC4AZQB4AGUAIAAyADEAOQAxADMANgAiABAAAAAFAACgBQAAAC0AAAAAAAAA --------------AA884A8894E2DC0069875E81--