易表在线答疑技术与交流用户社区 → 易表试用版问题


  共有36844人关注过本帖树形打印复制链接

主题:易表试用版问题

帅哥哟,离线,有人找我吗?
程兴刚
  1楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
[原创]金亿通工程造价系统发布(特供易友观摩学习,绝对不带运行环境)  发帖心情 Post By:2007/7/23 10:00:00 [显示全部帖子]

[这个贴子最后由程兴刚在 2008/05/14 09:28am 第 4 次编辑]

金亿通工程造价系统(特供易友观摩学习,绝对不带运行环境,卸载时不会卸载其他易表文件,并请指点为盼)


         下载地址: http://www.egrid2000.com/upload/易友作品/sgys-ybsetup.exe

      使用方法:双击左侧定额子目,或在定额编号中输入对应定额编号均可!

   呵呵,久违了,朋友们,苦战二十一天,终于,基于易表二次开发的建设工程预算软件已成雏形,看着那些久违的朋友们在论坛上的一些讨论,现迫不及待地将本软件发布与大家见面,以再度提高大家对易表的研究热情和信心(谁叫我是一个易表迷呢),可以肯定,我的易表水平并不高,但我还是想把我使用易表的几个观点与大家交流交流,互相学习嘛,恳请朋友们多提不同意见!

                                    个人易表设计心得(部分)

   一、本软件尽可能的避免易表速度计算慢的问题,采用所见即所得,及时刷新数据的设计理念:
       大家都都在埋怨易表的速度慢,但作为使用者(二次开发者),我们不能在本来就有伤口的情况下自己再添一刀:我曾经在论坛上提议大家尽量避免使用计算表的函数,但我看大家都不太在意,请问朋友们是不是在使用易表之前也经常或者或多或少使用过EXCEL(她的刷新速度本身就比较快),大家在使用时也计算全表吗?EXCEL的设计者采用了所见即所得,即时刷新数据的设计理念,所以,在设计本软件时,我在主数据表(预算操作,因为是本系统将来数据最多的表)就采用这种理念,及时刷新关联表与当前行关联的数据,同时刷新当前表的当前行,在每一步操作中所受到的速度影响微不足道,使用者的操作速度肯定比电脑慢多了,而且,最大的优点是,速度不会越来越慢(汇总时出外,但并无大碍),这样就没有必要计算全表(我曾经试过,如果计算全表的话,我这个主表文件数据达到5000行的时候,计算1个多小时)当您输入完最后一个数据,系统已经跟随您处理、计算完毕!

   二、 将主系统文件的大量数据库与当前运行的系统文件剥离,直接在数据库中刷新并计算,以提高当前文件的运行速度,减轻文件运行时的承重包袱;  

   三、采用非常规手段,实现跨文件、多表数据采集与计算:
      在当前文件和数据库文件建立对应触发条件数据表,由本系统文件向数据库文件写入触发条件值并打开数据库文件,数据库文件起动并根据不同的条件值进行不同的操作并计算(采集不同文件不同表的数据,根据收集来的数据和不同的条件值进行计算),将这些数据计算一次性完成,保证调入当前系统文件的数据为最新值,不需要再进行繁琐的计算也能达到提高系统运行速度的目的,计算完成后,自动退出数据库文件,并返回您刚才运行的系统文件(在向数据库文件写入条件值的时候,一定要写入当前文件filename的值,数据库文件执行完毕,才能按这个文件名打开文件,否则,您的文件改变储存位置和文件名后,就会出现找不到指定文件的错误)

   四、尽量避免系统运行时闪屏的现象:
       1、在跳转到其它表或打开其它窗口时,一定要先执行关闭当前窗口的命令(如果您打开一个窗口,再直接跳转到其它表,再返回原来的表看看,窗口依然是打开的)这样运行的时间越长闪屏现象越严重;
       2、将隐藏了主表并设置了主表背景的表位置排到最开始或最末尾(多表挨着排列就可以,背景图片相同的表紧挨着排列),不要插在中间,否则,系统在运行过程中,检索表名称时也会出现闪屏现象;
       3、错误地设置了背景图片的路径,系统运行时找不到图片,也会出现闪屏。

   五、诚然,易表的注册方式令人头疼,但本人并不认为她是一个不生蛋的鸡:
       这个问题,本人不想与大家争论,自因我是一个易表爱好者,所以替想易表说句公道话,根据本软件的开发构想,开发出的成品应该有市场价值,本软件中设置的是同行业软件的中等市场价(呵呵,见笑了),关键是看大家如何饲养这只“鸡”了,我们不能只顾埋怨,我等待易表新版的心情与大家一样迫切,但个人认为,就当前版本而言,还是大有潜力可挖的!

                                  以上仅代表个人看法,关键要大家来验证,请各位多指教

补充:
    1、我那个锁屏操作被我设为0(禁止了),不是默认的10分钟了,大家可以设定,大于0就可以!
    2、启动时改变地区、年度、月、价格信息库的年度、月份、以及是否使用企业价格库,都将重新加载相应地区定额库、及相应时间的市场信息价并计算处理,然后返回系统(除北京地区的建筑工程以外,其他地区的数据库正在建立中,其它数据库是用北京地区数据库拷贝的,避免出现系统找不到数据库的错误,包括目录)


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  2楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/7/23 16:48:00 [显示全部帖子]

[这个贴子最后由程兴刚在 2007/07/25 06:19pm 第 2 次编辑]

谢谢各位的厚爱和鼓励,表示感谢!

    多谢8楼的建议,您的提出问题,我是这样处理的:

     1、新增行并直接写入对应定额编号,并将其他文件等于当前定额编号的数据导入人材机明细表即可;
     2、我的数据也都是从其它文件导入的,况且数据库外还挂用数据文件,也就是市场信息价文件(目前包含了北京地区2005年1月至2007年4月的建筑材料市场价,其它地区的市场价数据使用北京市市价文件拷贝的,暂时不能用,因为还没有建立相应的定额库),是靠定额数据库文件启动后导入,并进行一系列的计算,然后退出并进入到主文件来实现的,导入主系统文件的数据保证是最新的,不需要计算,速度自然就会快了(关于速度问题,请参考一楼说明)
     3、关于取费表的问题,在新建文件并确定取费表主要数据(主要是费率和计算式)以后,保存就可以,之所以设定那个按钮,是因为费率是由工程造价管理部门专门发文规定的,利用生成取费表按钮,是为了生成这个标准费率和计价公式,而且各地区、各定额类别的这些计价公式和费率标准也不一样,设置这个按钮是根据当前文件用户选择的所在地区、定额库类别,生成的一个标准费率表,用户只需调整费率及计价公式,再导算费率表就可以改变各项计价金额,从而组成总的工程造价!
      谢谢您的建议,我只是觉得我这样做的话,软件的适用范围会更广(增加适用不同的地区和不同的定额类别),不同的见解,也许会带来不一样的收获,还望能再提不同意见!


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  3楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/7/23 22:19:00 [显示全部帖子]

[这个贴子最后由程兴刚在 2007/07/26 01:59pm 第 2 次编辑]

呵呵呵,公式很简单,变量很复杂
    公式:
     [%打开预算表%]AndAddRow(GridName,"定额编号","2-24")And[%删除空行%]And[%建筑工程子目%]

  前两个变量无所谓,是为了缩短公式,是因为我的目录太大(前段时间曾经得到众多版主和朋友的指点,后来采用变量)关键是下面这个(里面还有变量,就不再祥述):
    变量:[%建筑工程子目%]公式:SetVariable("%关联%",[关联])AndIf(Right([定额编号],2) = "改","",If(FindText("人材机明细","编号","关联", "=" ,[关联],"定额编号", "=" ,[定额编号]) = "",DelFor("人材机明细","关联", "=" ,[关联]) And If(Rows = 1,ClearGrid("人材机明细") And Import("人材机明细",[系统设置!定额库路径],[系统设置!定额类别],"888","定额编号", "=" ,[定额编号],0),Import("人材机明细",[系统设置!定额库路径],[系统设置!定额类别],"888","定额编号", "=" ,[定额编号],0)),"")) And DelFor("人材机明细","编号", "=" ,"") And RecalcColFor("人材机明细","关联","关联", "=" ,"")And RecalcColFor("人材机明细","定额编号","定额编号", "=" ,"")And RecalcColFor("人材机明细","定额类别","关联", "=" ,[关联])And RecalcColFor("人材机明细","费用类别","关联", "=" ,[关联])And RecalcColFor("人材机明细","名称","关联", "=" ,[关联])And RecalcColFor("人材机明细","单位","关联", "=" ,[关联])And RecalcColFor("人材机明细","定额基价","关联", "=" ,[关联])And RecalcColFor("人材机明细","市场基价","关联", "=" ,[关联])And RecalcColFor("人材机明细","工程量","关联", "=" ,[关联])And RecalcColFor("人材机明细","市场合价","关联", "=" ,[关联])And RecalcColFor("人材机明细","定额含量合计","关联", "=" ,[关联])And RecalcColFor("人材机明细","价差","关联", "=" ,[关联])And RecalcRow(GridName,Row,Row,1) And SetVariable("%关联%","") And ApplyFormat(Row) And SetVariable("%修改判断%",[%判断子目%])


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  4楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/7/24 10:32:00 [显示全部帖子]

下面引用由gaoqr2007/07/24 06:56am 发表的内容:
是复杂。
程兄如需要内蒙定额库,我可以提供。


   那就谢谢了,真要有的话就会事半功倍了,如果这样的话,到时我一定会免费让您使用,这也是对您予以回报!(对了,还有最近几年的市场信息价格库吗?)不过一定要保证数据的准确性!


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  5楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/7/24 13:24:00 [显示全部帖子]

多谢了!您做得也不错,我只是刚刚起步,软件只是初具雏形,大部分的工作还在后面,一定得多向您学习!

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  6楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/7/24 23:50:00 [显示全部帖子]

本试用版现存在的几个小问题:
      1、由于设计过程中频繁试验文件,将试用次数始终设置为1,是为了防止设计过程中达到试用次数锁定文件(其实在易表注册窗口输入易表注册码及附加码就可以,本人是偷懒了),发布前忘记修改回来,所以大家的试用文件不会出现100次的提示、限制并弹出注册窗口,不是设计时出现的试用限制漏洞!不过本软件设计时,考虑了四重试用限制及校验设置(校验窗口有提示),利用这样的多重限制方法应该说没什么大问题!
      2、把这个窗口修改成这样,用户提取序列号更方便,不必到注册窗口去提取!


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  7楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/7/25 10:33:00 [显示全部帖子]

下面引用由ffb20042007/07/25 10:03am 发表的内容:
我想问一下,这样2次开发的软件,如果不安装易表的机器能使用么?另外,使用该系统的机器如果没有注册易表是不是也一样有易表试用版本的限制,比如记录行数限制等等?


       1、一起打包并安装易表运行环境是可以使用的;
       2、当您受到用户的序列号后,及时到易表公式注册认证码,将收到的认证码和您设置的附加码组合后,再发给您的用户,由您的用户完成注册码的输入,是可以使用的(当然,您在定制价格时一定要把在易表公司注册的成本考虑进去)在用户注册成功以后,您一定要为您的用户压缩带正式版的运行环境的安装程序(您在向易表公司注册时同时索要),否则,一样会出现注册错误!


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  8楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/7/27 9:01:00 [显示全部帖子]

[分享]   简单的方法利用窗口自定义按钮返回进入本表操作前的上一任意表:

     1、建立变量[%表名%]
     2、所有的表验证公式:SetVariable(%表名%,GridName)
     3、返回按钮的公式:OpenGrid([%表名%])
     如果同时想打开相应的窗口,建立[%窗口%],将打开窗口的公式写成这样:OpenWindow(1)andSetVariable(%窗口%,1)   (这里举例假设为第一个窗口,每个打开窗口公式都需这样)将返回按钮的公式改为:OpenGrid([%表名%],[%窗口%])

     采用以上方法,不管您是从哪一个表进入本表操作,只需点击返回按钮,都将返回到进入本表之前的那一个表(同时打开最后被打开的窗口),让返回按钮真正达到返回的意义(也许这是一个大家都在使用的方法,也许是个被大家忽略的方法,但本人只是愿意与大家分享!)


 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  9楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/7/27 12:37:00 [显示全部帖子]

谢谢版主,我在论坛和帮助文件中没有找到,只怪我粗心,献丑了!

 回到顶部
帅哥哟,离线,有人找我吗?
程兴刚
  10楼 | QQ | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:版主 帖子:4639 积分:133 威望:0 精华:0 注册:2006/9/23 19:23:00
  发帖心情 Post By:2007/7/27 19:05:00 [显示全部帖子]

呵呵,没明白您的意图,版主们也帮忙看看!

 回到顶部
总数 17 1 2 下一页