Hecl Builder

Easy Mobile Applications

HECLet
Download: .jad .jar
3.0/5 Average rating:

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


Note: If you have trouble with the applets on this site, you might try upgrading your Jave Runtime Environment, in order to get the "Next-Generation Java Plug-In", available for download here: http://download.java.net/jdk6/