以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  过程定义与处理和表格传递  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188147)

--  作者:lesei
--  发布时间:2023/9/4 16:37:00
--  过程定义与处理和表格传递
之前跟您问过给单元格着色的问题,用一个东西存储各个表格需要着色的横竖坐标。
结论是:既不用全局变量传递参数,也不用var,也不用public等,而是用一个表进行存储。

我看到:杂项、高级话题、定义过程,说是定义一个过程,在任何位置都可以调用。

问题:
1.我能不能定义一个过程,把表名、横坐标(行名)、纵坐标(列名)作为参数进行传递,传递给过程,从而实现在任何表的任何事件里对单元格进行着色?
2.表名怎么传递?作为字符串?
我总感觉传递表,是不是把表格的所有数据都传递过去了,这样会造成效率低下啊?那该怎样让“过程”知道该处理哪个表呢?

--  作者:有点蓝
--  发布时间:2023/9/4 16:46:00
--  
1、没搞懂之前和我讨论啥了?如果是在drawcell事件里调用这个过程,是可以的。

不过个人不建议你这样用,除非是多个表都通用的处理逻辑。否则如果说每个表处理的逻辑,判断的列都不一样,会有大量的if判断等,效率会很低。drawcell事件触发的比较频繁,最好都在每个表自己的drawcell事件里控制。

2、直接传表对象,和传表名都可以。传对象也只是传表对象的内存地址引用而已,不会传递所有数据的。没有哪个编程语言会这样搞。

--  作者:lesei
--  发布时间:2023/9/4 17:10:00
--  
我重说下:
假设经常需要对单元格进行着色。
设定了一个名叫“drawcell参数”的表,存储着色单元格所归属的表名、行、列(如图1)。
每个表的drawcell事件都扫描这个名叫“drawcell参数”的表格里、自己对应的横纵坐标值、进行着色(如图2)。

如上所述,那么经常需要设定表格的横纵坐标。所以,想设定一个“过程”。这样无论在那个事件里,需要对任何单元格着色了,那么通过此“过程”对“drawcell参数”表里对应的值进行设定,就可以完成着色。
同样,需要去除颜色时,就通过“过程”删除对应的表格坐标即可。
[此贴子已经被作者于2023/9/4 17:13:17编辑过]

--  作者:有点蓝
--  发布时间:2023/9/4 17:14:00
--  
看的不是很懂。不如先自己测试,然后出现什么问题在具体提问
--  作者:lesei
--  发布时间:2023/9/4 17:15:00
--  
我刚已经把图片补上了。
但是我只看到了显示该帖子于xxx编辑过,并没看到照片。
如果您看不到照片,留言哈

--  作者:有点蓝
--  发布时间:2023/9/4 17:43:00
--  
http://www.foxtable.com/bbs/dispbbs.asp?boardid=2&Id=78

多试几次,重复上传直到编辑区有上传的链接