Foxtable(狐表)用户栏目专家坐堂 → [原创]重要的建议:自定义公式+Eval函数 能否取代表达式列的功能!


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

主题:[原创]重要的建议:自定义公式+Eval函数 能否取代表达式列的功能!

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
[原创]重要的建议:自定义公式+Eval函数 能否取代表达式列的功能!  发帖心情 Post By:2009/4/3 13:39:00 [显示全部帖子]

      我在其他的贴子中曾说表达式列是鸡胁,可能说得有点武断了。但我的意思不是说表达式列没有用,而是说, 我们能否把数据列增加让用户自定义公式的功能,取两者的长处,合二为一,这样,表达式列存在的价值就真的不大了!

      希望老师们先不要马上说不可能,世上哪有这种两全其美的好事?行与不行,我们先分析一下 :
 
      根据前几天关于自定义公式解析的讨论,列之间的计算关系不仅仅可以用代码写好,而且可以让最终用户任意编写自定义公式(也就是表达式,但可以支持更多的函数,计算功能比表达式列要强得多),然后用Eval函数(或者自定义函数)解析!或者换句话说,我们完全可以做一个数据列之间自定义公式的功能!这样,既可以实现表达式列的全部功能,又可以解决表达式列的各种功能局限(例如函数太少计算功能太弱,不能保存,不能被代码引用等等)。
     既然用户就可以做出让各列自定义公式的功能,如果再发扬广大一下,让贺老师直接把这个功能做到系统中,岂不更不方便! 肯定比目前的这个表达式列的功能要强得多!方便得多!
       狐表自从推出至今,对表达式的争论不断,褒贬不一,我们不去评判谁对谁错,至少说明目前的表达式列是存在很多缺陷的,贺老师至今没有找出好的解决方案!请贺老师认真分析一下,如果我的这个建议可行,那么应该说是最完美的方案了!
 
    
    补充:个人认为,目前易表老户往狐表转化的障碍有: 列 区分为数据列和表达式列,表达式列支持的函数太少,数据列不能自定义公式,初次接触代码有难度,以及易表中的一些常用菜单功能在狐表中没有,等等。如果现在的狐表稍作改造,把表达式列与数据列合并,再增加一些易表中的函数,甚至可以在狐表中做一个可选的模仿易表的界面(注意是可选的,即做多个可选界面,其中之一与易表类似,增加易表中的菜单按钮和相应功能),这样改造后,易表的老用户使用狐表时没有任何的不习惯,谁还会去使用易表?妨碍易表用户往狐表转化的,不是用户,正是贺老师您自己啊!
[此贴子已经被作者于2009-4-4 12:26:34编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/3 14:45:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-4-3 14:17:00的发言:
我曾经在这个问题上迟疑了很久,最终保留表达式列是有原因的,正如老渔所说:各取所需。

如果你喜欢的话,你完全可以自己实现你所说的功能的。

     如果您在系统中内置数据列自定义公式的功能,再来讨论这个问题,恐怕就很少人会说目前的表达式列好用了!目前的系统的确是两种方式都有,各取所需。但最致命的是,两个都有,两个都不完善。表达式式肯定不会一无是处,但是,与数据列增加自定义公式相比,功能和方便性完全不是一个概念。如果说在一个软件中只要有用的东西都保留,那应该保留的东西太多了!正确的做法应该是为用户提供最方便的功能和操作方式!
    如果贺老师不相信我的话,可以在系统内增加一个数据列自定义的功能(应该与易表的列间表达式类似,但功能会强很多),然后,再来扩大范围,作一个用户调查。如果那到时候大家都认为表达式列比较好,不用数据列的自定义公式,那时候,大家都来批判我也不迟!

[此贴子已经被作者于2009-4-3 14:47:48编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/3 14:58:00 [显示全部帖子]

     贺老师,建议您再回顾一下大家的意见,如果狐表作为电子表格使用,最大的障碍和不足在哪里?表达式列的计算功能太弱应是最主要的方面之一吧(狐表的统计功能还是比较强大的)。个人认为狐表作为电子表格使用时,许多易表的老用户,面临的最大矛盾在于列间的计算问题,如果采用表达式列函数太少计算功能太弱,如果采用数据列编写代码则学习难度太大会把一部分人吓跑。如果目前的狐表增加了数据列的自定义公式功能,则可以很妥善的解决好这个很尖锐的矛盾,也非常有利于易表老用户的平稳过渡。
  
    对了,我再强调一下我的观点。我没有说一定要取消表达式列(我只是说它是鸡胁),我的观点是系统应该内置数据列自定义公式的功能,只要增加了这一点,狐表作为电子表格使用的功能和易用性将会是一个革命性的改变!到那时候,如果大家认为表达式列仍然有用,也可以继续保留;如果大家都认为无用,也可以去掉。

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/3 15:07:00 [显示全部帖子]

以下是引用长今在2009-4-3 15:02:00的发言:
个人认为表达式非常有用,把鸡肋变成凤凰。很多问题通过表达式列可以轻松达到,你说的是鸡肋我认为非常错误。

    我们不要为此争论下去伤了和气。
    我建议采取一个比较完满的解决办法:在目前的系统中,既保留表达式列,同时再增加数据列自定义公式的功能,这才叫各取所需。最后再来调查究竟哪个好用!


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/4 8:15:00 [显示全部帖子]

    昨天贺老师说目前的系统中已经有代码计算和表达式计算两种方式,够乱的了,所以再加上一个数据列的自定义公式就更乱了!
    晚上我认真想了一下,之所以目前的系统中列间计算的两种方式给人以乱的感觉,恰恰是因为表达式列的计算和数据列的计算是完全独立、完全不同的两套系统造成的。两种方式不仅支持完全不同的列不能混用,而且使用的函数也完全不同,这两套完全不同的的系统共存于一个表中,不乱才怪呢!记得刚推出狐表的时候,很多用户把表达式列和数据列弄混,或者把表达列的函数和代码的函数弄混淆,到后来接触多了才好一点。试想一下,如果刚开始推出狐表的时候,没有表达式列,只有数据列,数据列既可以用代码计算,也可以自定义公式计算,这样两种计算方式使用的列和支持的函数完全相同(与易表中的处理方式类似),大家还会搞混吗?还会认为乱吗?好像以前在易表中,很少有人说易表中的列间计算公式很混乱的;到了狐表,正是这两种完全不同的计算方式把大家搞乱了。
    说到表达式列的优点,几位老师都说到表达式列的最大优点是效率高、不占空间。在这里我想发表一下我的观点,使用狐表的时候,高级用户、尤其是把狐表当作开发工具的人,进行列间计算的时候一般用代码,很少用到表达式列。如果用代码进行列间计算的时候效率非常低,那么那些把狐表作为开发工具的人怎么使用呢?换句话说,既然那些把狐表当作开发工具的高级用户都可以接受用代码进行列间计算的效率,难道把狐表作为电子表格使用的用户就不能数据列自定义公式的效率吗(实质上数据列的自定义公式使用在系统内部仍然是使用代码,所以与代码的效率应该相同)?还有不占用空间,好像更不是什么大问题了?狐表能作为开发工具使用,编写大量的代码,而不用担心空间的问题;难道就编写几个自定义公式,在存储空间方面会有大问题吗?
    现在我说表达式列的意义不大,很多人过来反对,我认为有两个原因。一是我们只把目前系统中的表达式列与编写代码进行比较,很自然的就能看出表达式列的优势。而目前系统中并没有提供一种数据列的自定义公式功能,所以大家都认为目前的表达式列很好,具体数据列的自定义公式是什么样子,大家心里都没有数。如果换句话说,狐表中最初推出的时候就没有表达式列,而是与易表类似,只有一种数据列,同时提供一种支持全部函数的自定义公式功能,大家还会想着目前的表达式列很好用吗?另外一个原因,是目前的论坛中大部分人是高手,几位版主更是大家的老师了,对狐表已经接触了几个月,大家对狐表的代码多少已经了解了许多。大家再回忆一下刚推出狐表的时候,大家的第一印像是什么?是不是都认为狐表的表达式列支持的函数太少,没有易表中的自定义公式使用方便!然后贺老师告诉大家,复杂的列间计算不应用表达式列,而应用代码。然后大家埋头学习代码,紧接着大家开始抱怨学习代码太难!或许很多人说代码并不难,是的,对论坛上的高手来说,代码一点也不难,但对于刚刚接触的人来说,根本搞不清代码该写在哪儿,在现在的系统中也找不到代码,更搞不清什么是datarow 了。如果让每一个把狐表当电子表格使用的人都熟练掌握代码,恐怕实有点强人所难了!如果我不用狐表的开发功能,会宁愿选择用易表或者Excel。正像一位版主说的,论坛上的大部分人都和我一样,是狐表迷,对狐表非常执著!如果把狐表推给更多的人,可能第一印像就把人吓跑了,难道敢期望所有的人都像论坛上的这些人一样对狐表这么执著?难道敢期望所有的人会为了使用电子表格功能而学习几个月?    

[此贴子已经被作者于2009-4-4 8:47:48编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/4 9:14:00 [显示全部帖子]

以下是引用程兴刚在2009-4-4 8:58:00的发言:

眼花缭乱,没心思看完您的帖子,仅个人意见:

     1、截止到目前,foxtable您到底知多少,系统地从基础学起,组织好您的软件系统的结构才是关键,就像长今说的,易表一路走来,历经十年,听您说,您也是老易表用户了,十年间,易表的eval()您是否已经将他发挥到淋漓尽致?
     2、狐表绝对不是由两个系统构成,正确的说法是:包含应用模块和开发模块的一个完全独立的支持纯VB.NET语言的系统,这两个模块相互支持,分别面向高低端市场,高端市场的开发用户,完全可以结合应用模块设计出更加完美的系统,低端市场的应用系统用户,完全可以结合一下简单的代码,使自己的管理应用更加灵活。
     3、估计还是您在哪里理解和实际应用结合出现问题,建议您将您的文件,您的需求贴上来,要求大家来做,如果大家都无解(包括贺老师),那就没得说,改进,个人认为方法很重要,您看看昨晚mr725老兄的要求简化代码的帖子,720个组合,当时连他的源代码都无法贴上来,然而,巧妙的方法,可以浓缩到区区几行代码,也许您会明白,他原来的方法,实际就是典型的易表函数代码的方法。
     4、不仅是贺老师说不能加了,作为用户的我,也认为暂时不能随意加东西了,只要能够实现,说明已经有这样的方法,过分地加一些重复的东西,会让用户学习起来更乱,更摸不着门道,现在需要的事精髓,当然,确实是缺陷也是需要及时改进的!

  http://www.foxtable.com/dispbbs.asp?boardid=2&Id=2280
 (忘了建立链接,重新编辑一下)

[此贴子已经被作者于2009-4-4 8:59:11编辑过]

    或许这次真的是您误会了,其实我根本不需要这样的功能,因为我使用狐表完全是把它作为开发工具,在实际中我也不使用表达式列的。我之所以这么强烈的提这个问题,是因为我认为这个问题对于把狐表作为电子表格应用的人来讲非常关键,尤其对于刚接触狐表的人非常关键,但对于把狐表作为开发工具的人来讲基本无用。如果只为我自己使用考虑,我根本不用提这个建议的,至少现在完全没有必要提。或许,我现在提出来这个比较重大的问题,有点不合时宜,太晚了,如果是狐表刚推出公测的时候,我相信贺老师很容易就把它改了。但是,尽管晚,亡羊补牢总比不补好。如果狐表正式销售,往更多的用户推广的时候,再意识到我的意见对,恐怕损失就更大了。
    另外,顺便说一下。我用易表的时间不算太长,使用易表方面您们是前辈,跟您们比我算比较短的了。但我认为这并不影响我建议狐表学习易表的长处啊!
    最后顺便建议一下,我的贴子虽然长,但废话并不多,绝大部分都是有用的分析,还是希望您能耐心看完,要不然您没有完全我的意思就和我讨论好像不太合适吧。有些事情不是一两句话都讲清楚的,也不是一两句能分清楚谁是谁非的;否则,法官审案子就不需要那么长时间的辩论了,许多学术论文也不需要几万字了,一两句话把它讲清楚谁是谁非岂不更好!

[此贴子已经被作者于2009-4-4 9:16:42编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/4 9:33:00 [显示全部帖子]

以下是引用狐狸爸爸在2009-4-4 9:05:00的发言:
呵呵,搂主说的是有一定道理的,我也不是没有考虑过,但是我只是一个二道贩子,微软才是第一道,没有办法随心所欲啊。
Eval的效率不仅比不上表达式,连代码也比不上,更要命的是,做做列间的计算可以,要是表间的计算它就无能为力了。
功能不行,效率不行,实在没有必要官方再来一套了,Eval代替不了表达式,不管是功能还是效率,更代替不了事件代码,加入他只会让更多人头晕。
其实也不用小看普通用户的能力,从易表过来的用户,刚开始自然会感觉不习惯,毕竟用了这么多年的易表,习惯了,但是foxtable的用户,不单单来自易表的,而且找不到代码的只是那些急于求成的用户,按部就班看帮助的用户,一定能掌握的,这部分的还是大多数,不过一些用户确实是用易表较为合适一点,不是因为能力不够,而是因为耐心不够。
而且现在的情形是箭在弦上,不得不发了。

[此贴子已经被作者于2009-4-4 9:11:59编辑过]

    算了,不讨论了。等狐表正式推出后让更多的用户来检验吧!我保留意见,我一直认为从用户的角度看,易表对列间计算的处理要优于狐表的表达式(不考虑代码)!可能我的思路与您不太相同,您认为有很多用户用易表更合适,而我认为您在狐表中如果处理得当,应该把易表的所有用户都转过来使用狐表!
     经过分析,目前易表老户往狐表转化的障碍有: 列 区分为数据列和表达式列,表达式列支持的函数太少,数据列不能自定义公式,初次接触代码有难度,以及易表中的一些常用菜单功能在狐表中没有,等等。如果现在的狐表稍作改造,把表达式列与数据列合并,再增加一些易表中的函数,甚至可以在狐表中做一个可选的模仿易表的界面(注意是可选的,即做多个可选界面,其中之一与易表类似,增加易表中的菜单按钮和相应功能),这样改造后,这此老用户使用狐表时没有任何的不习惯,易表还有使用的必要吗?妨碍易表用户往狐表转化的,不是用户,正是您自己!
    既然箭在弦上,就赶快发吧?哪有箭放在弦上好几天一直不射出去的!

[此贴子已经被作者于2009-4-4 9:58:43编辑过]

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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/4 10:13:00 [显示全部帖子]

以下是引用菜鸟foxtable在2009-4-4 10:10:00的发言:

图片点击可在新窗口打开查看看来商业版有戏了....

图片点击可在新窗口打开查看可惜开发版又不知何时了.

    只要老大能兑现承诺就行!他以前说,在开发版推出之前,要保证试用版一直可以正常使用,在推出开发版之前不能过期!


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


加好友 发短信 一级勋章
等级:六尾狐 帖子:1412 积分:8937 威望:0 精华:0 注册:2008/9/1 8:57:00
  发帖心情 Post By:2009/4/4 11:47:00 [显示全部帖子]

以下是引用shaof在2009-4-4 11:25:00的发言:

很佩服楼主的毅力。
个人认为提建议是很有必要的,也是一件好事,肯定也不会有人会反对。
那为什么楼主每每提建议总会引来一片反对之声呢,我总觉得很奇怪,所以试着探索一下原因。

化了很长的时间看了楼主所提的建议,总算悟出点道道。
总的归结为,楼主言辞“偏激”(也许用词不当),走极端,说话太绝对,有时所提建议损害其他人的利益。
……

另外一个争议点,凡楼主所提的建议总是冠于“最重要”之类,虽然没人对此提出过异议,但相信有人冲这个就持反对态度。
真诚希望楼主以后提建议时修饰一下言辞!

最后最诚恳的说一句,楼主发贴时可不可以不要将字体搞的花花绿绿、放的这么大、加的那么粗呀,谢谢了!

[此贴子已经被作者于2009-4-4 11:27:01编辑过]

     谢谢您的建议!很多时候的确有些措词不当,也不够谦虚,以后应该改正。
     虽然反对的人很多,也招来了很多骂声,但现在的结果是我以前提的建议绝大部分都已经改进到了软件中!也算为狐表的发展尽了自己的一份力量吧!
     我会尽量改变语言偏激的问题,但偏激的语言可以不要,偏激的意见却是很有必要的!我不希望我一提比较偏激的建议,马上就有人出来反对,语言可以不偏激,如果意见也不偏激,都随大流,可能就不利于软件的更好发展了!

[此贴子已经被作者于2009-4-4 11:48:22编辑过]

 回到顶部