MIDP Version: 1.0
Description: HECLet is like Applets or JavaScript for J2ME-Clients. HECLet downlod and execute by mobile phone after installing the jar. Optional it can install code for offline tools. It supports client side scripts like javascript and offline mode like google gears. Last updated: Tue Jan 13 19:50:04 +0000 2009 by
olamed
# http://olamed.de/j2me/release/heclet.v101.hcl
#
# 2009-01-10 Vers-1.0.0 prototype release
# 2009-01-11 Vers-1.0.1 command extension
# http://www.getjar.com/products/19005/HECLet
# command extension
set objH [list]
proc NewH {} {
global objH
set objH [list]
}
proc AddH {obj} {
global objH
lappend $objH $obj
}
proc GetH {int} {
global objH
return [lindex $objH $int]
}
proc SetH {int obj} {
global objH
lset $objH $int $obj
return $obj
}
proc UrlH {url} {
eval [hget [http.geturl $url] data]
}
proc RmsH {rms} {
set strR ""
foreach intR [sort [rms.list $rms]] {
append $strR [rms.get $rms $intR]
append $strR "\n"
}
eval $strR
}
# globals
set frmGui [form]
set lstHcl [list]
set selHcl [choicegroup]
set txtUrl [textfield]
# filelist
proc SetHcl {} {
global lstHcl
set lstHcl [list]
foreach strRms [rms.list] {
if {eq [strfind "hcl." $strRms] 0} {
lappend $lstHcl $strRms
}
}
}
# install
proc IniHcl {} {
global lstHcl
if {eq [llen $lstHcl] 0} {
set lstSrc {
{set guiMnu [form label "Demo"]}
{setcurrent $guiMnu}
}
if {eq [rms.size "hcl.demo"] 0} {
lappend $lstHcl "hcl.demo"
foreach strSrc $lstSrc {
rms.add "hcl.demo" $strSrc
}
}
unset lstSrc
}
}
# gui
proc GuiMnu {} {
global frmGui
global lstHcl
global selHcl
set frmGui [form label "HECLet - Menu" code {
set selHcl [choicegroup label "File:" list $lstHcl]
cmd label "OK" code {HdlGui "run"}
cmd label "WEB" code GuiWeb
cmd label "DEL" code {HdlGui "del"}
}]
setcurrent $frmGui
}
proc GuiWeb {} {
global frmGui
global txtUrl
set frmGui [form label "HECLet - Download" code {
set txtUrl [textfield label "URL:" text ""]
cmd label "OK" code {HdlGui "web"}
cmd label "CANCLE" code GuiMnu
}]
setcurrent $frmGui
if {ne [rms.hexists "cfg.heclet" "url"] 1} {
rms.hset "cfg.heclet" "url" "http://olamed.de/j2me/v101/example.install.heclet"
}
setprop $txtUrl text [rms.hget "cfg.heclet" "url"]
}
proc HdlGui {cmd} {
global lstHcl
global selHcl
set strRms [lindex $lstHcl [getprop $selHcl selected]]
if {eq $cmd "run"} {
RmsH $strRms
}
if {eq $cmd "del"} {
global frmGui
set frmGui [form label "HECLet - Delete" code {
string "$strRms ... "
}]
setcurrent $frmGui
rms.delete $strRms
SetHcl
IniHcl
GuiMnu
}
global txtUrl
if {eq $cmd "web"} {
set strUrl [getprop $txtUrl text]
if {ne $strUrl [rms.hget "cfg.heclet" "url"]} {
rms.hset "cfg.heclet" "url" $strUrl
}
UrlH $strUrl
}
}
# start
SetHcl
IniHcl
GuiMnu