KiXforms Forum Index KiXforms
The Forum for the KiXforms Community
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 
 Quick Links 
Site News
Downloads
Documentation
Donations
Script Archive
Tracking Systems

Scripted Resource (Base64) Development Kit
Goto page 1, 2, 3  Next
 
Post new topic   Reply to topic    KiXforms Forum Index -> Discussion
View previous topic :: View next topic  
Author Message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Tue Feb 08, 2005 2:13 pm    Post subject: Scripted Resource (Base64) Development Kit Reply with quote

Just posted a new Development kit to experiment with embedding "resources" (like bitmaps) inside your scripts ... the bitmaps get encoded using Base64 encoding - almost exactly like email attachments get mime-type encoded ... there is a demo script included that builds a MainMenu using a scripted resource ... you can encode bmps, jpgs and gifs - and convert them to Bitmaps inside your script ...

Works like this:

Take a bitmap strip, representing toolbar icons, in the GIF format, and run it through the base64.exe utility, like this:

c:\> base64 toolbar.gif toolbar.b64

This produces a file called toolbar.b64 that has the GIF encoded in ASCII Base64 format .... then take this "string" and create a Bitmap from it inside your script, like this:

$String = "
R0lGODlhcAEPAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AQEBAgICAwMDBER
ERYWFhwcHCIiIikpKVVVVU1NTUJCQjk5Of98gP9QUNYAk8zs/+/Wxufn1q2pkDMAAGYAAJkA
AMwAAAAzADMzAGYzAJkzAMwzAP8zAABmADNmAGZmAJlmAMxmAP9mAACZADOZAGaZAJmZAMyZ
......."

$Bitmap = $System.Bitmap.FromBase64String($String)

The use the bitmap to build an ImageList like this:

$ImageList = $System.ImageList()
$ImageList.ImageSize = 16,15
$ImageList.TransparentColor = 192,192,192

$ImageList.Images.AddStrip($Bitmap)

Then use the ImageList as one normally would (like plugging it into a MainMenu) ... the Label object will also support setting its "Image" property to a bitmap created in this fashion. This is good for plain-simple images (like banners) to be displayed on forms.

You need the lastest dev. build to experiment with this - and remember that this is very new and experimental ...

Here's the code for the demo script:

Code:

Break On

$System = CreateObject("Kixtart.System")

$Form = $System.Form()
$Form.Size = 640,480
$Form.Text = "Blank Form"
$Form.Center
$Form.KeyPreview = 1

$MenuBitmap = MenuBitmap()

$ImageList = $System.ImageList()
$ImageList.ImageSize = 16,15
$ImageList.TransparentColor = 192,192,192

$ImageList.Images.AddStrip($MenuBitmap)

$MainMenu = $System.MainMenu()
$MainMenu.Style = 1
$MainMenu.ImageList = $ImageList

$FileMenu = $MainMenu.MenuItems.Add("File")

$NewMenu = $FileMenu.MenuItems.Add("New")
$NewMenu.ImageIndex = 0

$OpenMenu = $FileMenu.MenuItems.Add("Open")
$OpenMenu.ImageIndex = 1

$SaveMenu = $FileMenu.MenuItems.Add("Save")
$SaveMenu.ImageIndex = 2

$= $FileMenu.MenuItems.Add("-")

$PrintMenu = $FileMenu.MenuItems.Add("Print")
$PrintMenu.ImageIndex = 6

$= $FileMenu.MenuItems.Add("-")

$ExitMenu = $FileMenu.MenuItems.Add("Exit")
$ExitMenu.ImageIndex = 18
$ExitMenu.OnClick = "Quit()"

$EditMenu = $MainMenu.MenuItems.Add("Edit")

$UndoMenu = $EditMenu.MenuItems.Add("Undo")
$UndoMenu.ImageIndex = 17

$RedoMenu = $EditMenu.MenuItems.Add("Redo")
$RedoMenu.ImageIndex = 16

$= $EditMenu.MenuItems.Add("-")

$CutMenu = $EditMenu.MenuItems.Add("Cut")
$CutMenu.ImageIndex = 3

$CopyMenu = $EditMenu.MenuItems.Add("Copy")
$CopyMenu.ImageIndex = 4

$PasteMenu = $EditMenu.MenuItems.Add("Paste")
$PasteMenu.ImageIndex = 5

$DeleteMenu = $EditMenu.MenuItems.Add("Delete")
$DeleteMenu.ImageIndex = 20

$= $EditMenu.MenuItems.Add("-")

$FindMenu = $EditMenu.MenuItems.Add("Find...")
$FindMenu.ImageIndex = 19

$WindowMenu = $MainMenu.MenuItems.Add("Window")

$CascadeMenu = $WindowMenu.MenuItems.Add("Cascade")
$CascadeMenu.ImageIndex = 9

$TileHorzMenu = $WindowMenu.MenuItems.Add("Tile Horizontally")
$TileHorzMenu.ImageIndex = 10

$TileVertMenu = $WindowMenu.MenuItems.Add("Tile Vertically")
$TileVertMenu.ImageIndex = 11

$HelpMenu = $MainMenu.MenuItems.Add("Help")

$ContentsMenu = $HelpMenu.MenuItems.Add("Contents")
$ContentsMenu.ImageIndex = 22

$ContactMenu = $HelpMenu.MenuItems.Add("Technical Support...")
$ContactMenu.ImageIndex = 21

$AboutMenu = $HelpMenu.MenuItems.Add("About...")
$AboutMenu.ImageIndex = 7

$Form.Menu = $MainMenu

$Toolbar = $Form.Groupbox()
$Toolbar.Height = 40
$Toolbar.Dock = "Top"
$Toolbar.DockPadding = 2,2,2,2

$NewButton = $Toolbar.ToolButton()
$NewButton.Width = 40
$NewButton.Dock = "Left"
$NewButton.Text = "New"
$NewButton.FlatStyle = 1

$Label = $Form.Label()

$Label.BorderStyle = 2
$Label.Dock = "Fill"
$Label.Image = $MenuBitmap

$Form.Show
While $Form.Visible
 $= Execute($Form.DoEvents())
Loop

Exit 0

Function MenuBitmap()

 $MenuBitmap = "
R0lGODlhcAEPAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AQEBAgICAwMDBER

ERYWFhwcHCIiIikpKVVVVU1NTUJCQjk5Of98gP9QUNYAk8zs/+/Wxufn1q2pkDMAAGYAAJkA

AMwAAAAzADMzAGYzAJkzAMwzAP8zAABmADNmAGZmAJlmAMxmAP9mAACZADOZAGaZAJmZAMyZ

AP+ZAADMADPMAGbMAJnMAMzMAP/MAGb/AJn/AMz/AAAAMzMAM2YAM5kAM8wAM/8AMwAzMzMz

M2YzM5kzM8wzM/8zMwBmMzNmM2ZmM5lmM8xmM/9mMwCZMzOZM2aZM5mZM8yZM/+ZMwDMMzPM

M2bMM5nMM8zMM//MMzP/M2b/M5n/M8z/M///MwAAZjMAZmYAZpkAZswAZv8AZgAzZjMzZmYz

ZpkzZswzZv8zZgBmZjNmZmZmZplmZsxmZgCZZjOZZmaZZpmZZsyZZv+ZZgDMZjPMZpnMZszM

Zv/MZgD/ZjP/Zpn/Zsz/Zv8AzMwA/wCZmZkzmZkAmcwAmQAAmTMzmWYAmcwzmf8AmQBmmTNm

mWYzmZlmmcxmmf8zmTOZmWaZmZmZmcyZmf+ZmQDMmTPMmWbMZpnMmczMmf/MmQD/mTP/mWbM

mZn/mcz/mf//mQAAzDMAmWYAzJkAzMwAzAAzmTMzzGYzzJkzzMwzzP8zzABmzDNmzGZmmZlm

zMxmzP9mmQCZzDOZzGaZzJmZzMyZzP+ZzADMzDPMzGbMzJnMzMzMzP/MzAD/zDP/zGb/mZn/

zMz/zP//zDMAzGYA/5kA/wAzzDMz/2Yz/5kz/8wz//8z/wBm/zNm/2ZmzJlm/8xm//9mzACZ

/zOZ/2aZ/5mZ/8yZ//+Z/wDM/zPM/2bM/5nM/8zM///M/zP//2b/zJn//8z///9mZmb/Zv//

ZmZm//9m/2b//6UAIV9fX3d3d4aGhpaWlsvLy7KystfX193d3ePj4+rq6vHx8fj4+P/78KCg

pICAgP8AAAD/AP//AAAA//8A/wD//////ywAAAAAcAEPAAAI/wAPCFRAsCBBgQgTCuTHUCFC

gxAhOjyg4KHDiBMzGsz4MOLBixI5GhhJsuQBhihT8uPIsqXLA7NizpLFahbHVrOoUZvGqpXD

WkCDzntJtKjRAymSHl3KlCWjihwVcJhK9ePElQtPKlTAQsG/r2D/+akIdavFrWGtToSIA0fI

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

CfUTWhib0hOxNCnbMepfL4p7zt7zrOd8gIAAADs="

 $MenuBitmap = $System.Bitmap.FromBase64String($MenuBitmap)

EndFunction


Last edited by Shawn on Wed Feb 09, 2005 1:18 am; edited 1 time in total
Back to top
View user's profile Send private message
Chris S.
KiXforms Enthusiast
KiXforms Enthusiast


Joined: 05 Mar 2003
Posts: 241

PostPosted: Tue Feb 08, 2005 11:30 pm    Post subject: Reply with quote

Shawn, Shocked Shocked Shocked !!!

Very cool. Cool

One problem, though. I ran it on Windows XP (SP2) with the Fade Effect transition effect for menus and tooltips enabled and it locked up the form with a perpetual hourglass. When I switched it to Scroll Efffect the issue went away.
Back to top
View user's profile Send private message MSN Messenger
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Wed Feb 09, 2005 1:20 am    Post subject: Reply with quote

Can anyone out there verify the latest dev. build available here:

Development Build

with this script (or the menu.kix from the scripted resource dev. kit) on WINDOWS XP SP2 ??? I'm not running it - we're getting odd results, and hoping someone can verify this "show menu freeze" thing.

-Shawn


Last edited by Shawn on Wed Feb 09, 2005 3:08 am; edited 1 time in total
Back to top
View user's profile Send private message
Les
KiXforms Aficionado
KiXforms Aficionado


Joined: 24 Dec 2003
Posts: 317

PostPosted: Wed Feb 09, 2005 2:16 am    Post subject: Reply with quote

Did not try it on prior build but works well with the latest.
_________________
The Repro Man
Stealing for a living!
Back to top
View user's profile Send private message
krabourn
KiXforms Aficionado
KiXforms Aficionado


Joined: 05 Mar 2003
Posts: 273
Location: San Antonio. TX

PostPosted: Wed Feb 09, 2005 3:23 am    Post subject: Reply with quote

No problems here.
_________________
Kelly
Back to top
View user's profile Send private message Send e-mail MSN Messenger
Bryce
KiXforms Supporter
KiXforms Supporter


Joined: 26 Mar 2003
Posts: 69

PostPosted: Wed Feb 09, 2005 4:16 pm    Post subject: Reply with quote

WOW! Shocked

that is very NICE!
Back to top
View user's profile Send private message
benny69
KiXforms Advocate
KiXforms Advocate


Joined: 30 Oct 2003
Posts: 567
Location: Lincoln, Ne

PostPosted: Thu Feb 10, 2005 1:09 pm    Post subject: Reply with quote

Shawn,
This is very Kool!

I have been creating my own .dll's with icons that I needed, with this there would be no need for any extra files.

I think that this has great potential, it would be fun to try to do some animation type stuff, would this base64 import animated .gif's?

or would you have to create a sequence of images?

_________________
Wait don't order yet,... get KiXforms Designer .NET 2.0 (Beta)
KiXforms Designer .NET 2.0 (Beta)
Back to top
View user's profile Send private message Send e-mail
Jochen
KiXforms Devotee
KiXforms Devotee


Joined: 05 Mar 2003
Posts: 1204
Location: Stuttgart, Germany

PostPosted: Thu Feb 10, 2005 1:15 pm    Post subject: Reply with quote

Hmmmm ... I try to imagine actually how my game scripts would be grooowing in size. Will have to put the base64 strings strictly at the very end of the scripts, otherwise the readybility would get completely lost Wink.

Another good reason (in addition to sockets support) to start over the one or other not yet finished game script Tired

Thanx very mucho for the effort (y)

_________________
Jochen

Tell me, and I will forget.
Show me, and I may remember.
Involve me, and I will understand.
Back to top
View user's profile Send private message MSN Messenger
Les
KiXforms Aficionado
KiXforms Aficionado


Joined: 24 Dec 2003
Posts: 317

PostPosted: Thu Feb 10, 2005 1:45 pm    Post subject: Reply with quote

I like too, how he wrapped it in a function so that ASE can easily collapse the region. Mind you, with ASE, region/endregion would do that too... nevermind, I am just rambling. Sad
_________________
The Repro Man
Stealing for a living!
Back to top
View user's profile Send private message
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Thu Feb 10, 2005 3:00 pm    Post subject: Reply with quote

Animated gif's are a non-go afaik - but in terms of script size - been trying to think ahead to the day when Kixtart 4.50 will be finally released to the public, and one will be able to "tokenize" scripts ... have been playing much with a "strategy" of "compiling" scripts together, into a tokenized script.

Les - I know "compile" is a bad term, maybe "assemble and tokenize" would be better ... works like this ...

You break-up your script into "modules", lets say you have main script and a bunch of function scripts,like this:

main.kix
utils.kix
resources.kix

the main script uses features in utils and resources ... but instead of "calling" these sub-scripts at the top of the main script, one writes a simple BAT file that assembles all the scripts together, into ONE BIG script, like this:

Code:

@ECHO OFF

del kp.kix

type KpMain.kix >>kp.kix
type FindDialog.kix >>kp.kix
type GotoDialog.kix >>kp.kix
type IconsDialog.kix >>kp.kix
type MessageBoxWizard.kix >>kp.kix
type AboutDialog.kix >>kp.kix
type KpUtils.kix >>kp.kix
type OptionsDialog.kix >>kp.kix

kix32 /t kp.kix


the last step is to tokenize the script into one big one ... so this whole thing is almost exactly like the process one uses to build EXE's !!!

Anyway - my point is that this "scripted resource" idea would fit very nicely into this methodolgy - one can just stick the all the resources into a seperate script, and the references to the strings get resolved at "script assembly time" ? Wink

For thos that have Kixtart 4.50 (the tokenize engine) I just updated the base64 development kit to include an amazing little script that is "assembled and tokenized" ... its called SKIN.KX - give it a go.

-Shawn
Back to top
View user's profile Send private message
Jochen
KiXforms Devotee
KiXforms Devotee


Joined: 05 Mar 2003
Posts: 1204
Location: Stuttgart, Germany

PostPosted: Thu Feb 10, 2005 4:04 pm    Post subject: Reply with quote

Very Happy
_________________
Jochen

Tell me, and I will forget.
Show me, and I may remember.
Involve me, and I will understand.
Back to top
View user's profile Send private message MSN Messenger
benny69
KiXforms Advocate
KiXforms Advocate


Joined: 30 Oct 2003
Posts: 567
Location: Lincoln, Ne

PostPosted: Wed Mar 16, 2005 8:43 pm    Post subject: Reply with quote

does this work for .toolbuttons and .treeview, or maybe its not there.
I am working on a project and it would be nice to incorperate.

_________________
Wait don't order yet,... get KiXforms Designer .NET 2.0 (Beta)
KiXforms Designer .NET 2.0 (Beta)
Back to top
View user's profile Send private message Send e-mail
masken
KiXforms Enthusiast
KiXforms Enthusiast


Joined: 14 Mar 2003
Posts: 202
Location: Gothenburg, Sweden

PostPosted: Thu Mar 17, 2005 12:37 pm    Post subject: Reply with quote

This is way cool Smile Nice work shawn! Smile
Back to top
View user's profile Send private message MSN Messenger
Shawn
KiXforms Developer
KiXforms Developer


Joined: 22 Feb 2003
Posts: 1983
Location: Canada

PostPosted: Thu Mar 17, 2005 12:58 pm    Post subject: Reply with quote

Benny,

This should work with TreeView, just have to build an imagelist using the resource string, then plug it in per usual, heres a snippet:

Code:

break on

$system = createobject("kixtart.system")

$bitmap = $system.bitmap.frombase64string(toolbarbitmap())

$imagelist1 = $system.imagelist()
$imagelist1.imagesize = 16,16
$imagelist1.transparentcolor = 192,192,192
$imagelist1.addstrip($bitmap)

$form = $system.form()

$splitcontainer1 = $form.splitcontainer
$splitcontainer1.dock = "fill"

$treeview1 = $splitcontainer1.panel1.treeview()
$treeview1.dock = "fill"
$treeview1.imagelist = $imagelist1

for $i = 1 to 5
 $node = $treeview1.nodes.add("node$i")
 $node.imageindex = rnd(22)
 $node.selectedimageindex = $node.imageindex
 for $j = 1 to 10
  $child = $node.nodes.add("child$j")
  $child.imageindex = rnd(22)
  $child.selectedimageindex = $child.imageindex
 next
next

$gridview1 = $splitcontainer1.panel2.gridview()
$gridview1.dock = "fill"

$form.show
while $form.visible
 $=execute($form.doevents)
loop

exit 1

function toolbarbitmap()

$toolbarbitmap = "
R0lGODlhcAEQAPcAAAAAAIAAAACAAICAAAAAgIAAgACAgMDAwMDcwKbK8AQEBAgICAwMDBER

ERYWFhwcHCIiIikpKVVVVU1NTUJCQjk5Of98gP9QUNYAk8zs/+/Wxufn1q2pkDMAAGYAAJkA

AMwAAAAzADMzAGYzAJkzAMwzAP8zAABmADNmAGZmAJlmAMxmAP9mAACZADOZAGaZAJmZAMyZ

AP+ZAADMADPMAGbMAJnMAMzMAP/MAGb/AJn/AMz/AAAAMzMAM2YAM5kAM8wAM/8AMwAzMzMz

M2YzM5kzM8wzM/8zMwBmMzNmM2ZmM5lmM8xmM/9mMwCZMzOZM2aZM5mZM8yZM/+ZMwDMMzPM

M2bMM5nMM8zMM//MMzP/M2b/M5n/M8z/M///MwAAZjMAZmYAZpkAZswAZv8AZgAzZjMzZmYz

ZpkzZswzZv8zZgBmZjNmZmZmZplmZsxmZgCZZjOZZmaZZpmZZsyZZv+ZZgDMZjPMZpnMZszM

Zv/MZgD/ZjP/Zpn/Zsz/Zv8AzMwA/wCZmZkzmZkAmcwAmQAAmTMzmWYAmcwzmf8AmQBmmTNm

mWYzmZlmmcxmmf8zmTOZmWaZmZmZmcyZmf+ZmQDMmTPMmWbMZpnMmczMmf/MmQD/mTP/mWbM

mZn/mcz/mf//mQAAzDMAmWYAzJkAzMwAzAAzmTMzzGYzzJkzzMwzzP8zzABmzDNmzGZmmZlm

zMxmzP9mmQCZzDOZzGaZzJmZzMyZzP+ZzADMzDPMzGbMzJnMzMzMzP/MzAD/zDP/zGb/mZn/

zMz/zP//zDMAzGYA/5kA/wAzzDMz/2Yz/5kz/8wz//8z/wBm/zNm/2ZmzJlm/8xm//9mzACZ

/zOZ/2aZ/5mZ/8yZ//+Z/wDM/zPM/2bM/5nM/8zM///M/zP//2b/zJn//8z///9mZmb/Zv//

ZmZm//9m/2b//6UAIV9fX3d3d4aGhpaWlsvLy7KystfX193d3ePj4+rq6vHx8fj4+P/78KCg

pICAgP8AAAD/AP//AAAA//8A/wD//////ywAAAAAcAEQAAAI/wAPCFRAsCBBgQgTCuTHUCFC

gxAhOjyg4KHDiBMzGsz4MOLBixI5GhhJsuQBhihT8uPIsqXLA7NizpLFahbHVrOoUZvGqpXD

WkCDzntJtKjRAymSHl3KlCWjihwVcJhK9ePElQtPKlTAQsG/r2D/+akIdavFrWGtToSIA0fI

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"


EndFunction


-Shawn
Back to top
View user's profile Send private message
Lonkero
KiXforms Devotee
KiXforms Devotee


Joined: 13 Mar 2003
Posts: 1022
Location: Espoo, Finland

PostPosted: Sat Mar 19, 2005 9:05 pm    Post subject: Reply with quote

uh, base64!
_________________
Hammer
Back to top
View user's profile Send private message Visit poster's website MSN Messenger
Display posts from previous:   
Post new topic   Reply to topic    KiXforms Forum Index -> Discussion All times are GMT
Goto page 1, 2, 3  Next
Page 1 of 3

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum
You cannot attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2005 phpBB Group