func init // add using module sys.add_use('System.IO') // initialize instance if(linked("ParentDirectory") and linked("doGetParent")) sys.add_var(this.name, 'DirectoryInfo') end if(linked("onError")) this.setfield('ex', 'ex' + this.id) end end func doCurrentDirectory(data) linked("onError") ? blk.println('try {').inc() : '' blk.println('Directory.SetCurrentDirectory(', d("Path"), ');') if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func doGetParent(data) linked("onError") ? blk.println('try {').inc() : '' if(linked("ParentDirectory")) blk.println(this.codename, ' = ', this.make_parent(data), ';') event("onGetParent", this.codename) else event("onGetParent", this.make_parent(data)) end if(linked("onError")) blk.dec().println('} catch (Exception ', this.ex, ') {').inc() event("onError", this.ex + '.Message') blk.dec().println('}') end end func CurrentDirectory return('Directory.GetCurrentDirectory()') end func ParentDirectory if(linked(doGetParent)) return(this.codename) else return(this.make_parent()) end end func LogicalDrives return('Directory.GetLogicalDrives()') end func make_parent(data) return('Directory.GetParent(' + d("Path") + ')') end