以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  如何通过过程对某个单元格赋值  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=188150)

--  作者:lesei
--  发布时间:2023/9/4 18:15:00
--  如何通过过程对某个单元格赋值
想通过过程对表a的某个单元格进行赋值,请问代码怎么写哈?
过程共需要传递三个函数,分别是表名称(比如,表a),行、列。

--  作者:有点蓝
--  发布时间:2023/9/4 20:02:00
--  
至少需要4个参数,建议使用内部函数:http://www.foxtable.com/webhelp/topics/1486.htm

比如定义函数abc,函数代码为

dim 表名 as string = args(0)
dim 行 as integer = args(1)
dim  as string = args(2)
dim 
 as string = args(3)
tables(表名).rows()() = 

然后按钮调用函数代码为:
Functions.Execute("abc","表A",1,2,"我是一个值") \'给表A第2行,第3列的单元格赋值为"我是一个值"
[此贴子已经被作者于2023/9/4 20:32:16编辑过]

--  作者:lesei
--  发布时间:2023/9/4 20:16:00
--  
datatable行、列脚标(你上例里的行脚标2,列脚标3)是什么类型的数据?是固定的吗?
为啥问这个问题?
因为,你给的代码,行列脚标都是以数字形式传递的。
我自己写的,列脚标以数字3传递,报错。
附信息:我的表横坐标(行)写的都是数字123456789之类。我表的纵坐标名称都是第一列、第二列这样的名字,我传字符串没报错。

--  作者:有点蓝
--  发布时间:2023/9/4 20:34:00
--  
针对table
行:http://www.foxtable.com/webhelp/topics/1438.htm

针对datatable

--  作者:lesei
--  发布时间:2023/9/4 21:22:00
--  
你的建议是用到了“内部函数”。
在帮助里还有:杂项、高级话题、定义过程(这里定义的过程还是全局的)。
请问:
1.我觉得内部函数也是全局任何地方都可以调用。
那么自定义的内部函数与自定义的过程有什么区别?

我觉得二者区别是:
1.差一个返回值。函数有返回值,过程没有。
2.自定义的内部函数,传参个数可以是任意个。而且每个参数的类型也可以不同。
自定义过程传递的参数类型要提前声明,且传递的参数个数也得提前声明。
[此贴子已经被作者于2023/9/4 21:24:47编辑过]

--  作者:有点蓝
--  发布时间:2023/9/4 21:24:00
--  
差不多的。就是全局代码每次更改都得重启项目比较麻烦
--  作者:lesei
--  发布时间:2023/9/4 21:33:00
--  
我觉得二者区别是:
1.差一个返回值。函数有返回值,过程没有。
2.自定义的内部函数,传参个数可以是任意个。而且每个参数的类型也可以不同。
自定义过程传递的参数类型要提前声明,且传递的参数个数也得提前声明。

问题:
1.关于二者的区别,我说的对吗?
2.定义全局过程时,怎样定义能使得传递的参数不在意变量类型?



--  作者:有点蓝
--  发布时间:2023/9/4 22:02:00
--  
1、不对。function类型的过程可以有返回值的:http://www.foxtable.com/webhelp/topics/1938.htm

2、Foxtable使用的就是vb.net,所有vb.net的语法都可以使用。动态参数可以百度搜“ParamArray