以文本方式查看主题 - Foxtable(狐表) (http://foxtable.net/bbs/index.asp) -- 专家坐堂 (http://foxtable.net/bbs/list.asp?boardid=2) ---- 求助参数的传递 (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=124296) |
-- 作者:ljz -- 发布时间:2018/9/4 8:21:00 -- 求助参数的传递 各位大腕,早上好。 请教一下。将 form1,btg1,True 这个字符串保存在某表某格dr("参数")中,如何写表达式,用dr("参数")代替以下代码中的红底部分代码? Select Case e.Path Case "test.htm"Dim wb As New weui wb.AddForm("","form1","test.htm") With wb.AddButtonGroup("form1","btg1",True) \'垂直排列 .Add("btn1", "按钮") .Add("btn4", "按钮", "reset") .Add("btn5", "按钮", "", "http://www.foxtable.com") \'单击这个按钮可以打开foxtable主页 End With With wb.AddButtonGroup("form1","btg2", False) \'水平排列 .Add("btn6", "按钮") .Add("btn7", "按钮").Kind = 2 End With With wb.AddButtonGroup("form1","btg3", False) .Add("btn8", "按钮").Kind = 0 .Add("btn9", "按钮").Kind = 1 End With e.WriteString(wb.Build) \'生成网页 End Select |
-- 作者:有点甜 -- 发布时间:2018/9/4 8:33:00 --
With wb.AddButtonGroup(dr("参数1"),dr("参数2"),dr("参数3")) \'垂直排列 |
-- 作者:有点甜 -- 发布时间:2018/9/4 8:35:00 -- 如果是字符串 form1,btg1,True 你可以分割以后再使用
http://www.foxtable.com/webhelp/scr/0245.htm
|
-- 作者:ljz -- 发布时间:2018/9/4 10:49:00 -- 谢谢有点甜! 我的意思是想更进一步 dr(“参数”)里在不同的情况下,可能有2个参数、也可能有3个参数,是否用类似.Add(dr("参数").split(“,”))表达 ? Select Case e.Path Case "test.htm"Dim wb As New weui wb.AddForm("","form1","test.htm") With wb.AddButtonGroup("form1","btg1",True) \'垂直排列 .Add("btn1", "按钮") .Add("btn4", "按钮", "reset") .Add("btn5", "按钮", "", "http://www.foxtable.com") \'单击这个按钮可以打开foxtable主页 End With With wb.AddButtonGroup("form1","btg2", False) \'水平排列 .Add("btn6", "按钮") .Add("btn7", "按钮").Kind = 2 End With With wb.AddButtonGroup("form1","btg3", False) .Add("btn8", "按钮").Kind = 0 .Add("btn9", "按钮").Kind = 1 End With e.WriteString(wb.Build) \'生成网页 End Select |
-- 作者:有点甜 -- 发布时间:2018/9/4 10:55:00 -- 你可以加上判断,如
Dim ary = dr("参数").split(",") If ary.length = 2 then
ElseIf ary.length = 3 Then
End If
没有办法直接用字符串add进去的。 |
-- 作者:ljz -- 发布时间:2018/9/4 12:41:00 -- 之前看过一个自定义函数。代码是这样的,就不必考虑后面参数的数量。但是不懂原理是否一下。 try If dr("参数") IsNot Nothing Then Dim cs() As String cs =dr("参数").Split(",")\'分离参数 If cs.Length - 1=0 Then \'如果没参数,则执行functions.execute(函数名) Functions.execute(cs(0))\'执行指定函数 ElseIf cs.Length - 1>0 Then \'如果有参数,则将dr("参数")分解为函数名和参数执行functions.execute(函数名,参数1,参数2,……) Dim objs As New List(Of object) Dim Names() As object For i As Integer =1 To cs.Length -1 If cs(i) = "e" Then objs.Add(e) Else Functions.remove("函数") Dim Code As String Code = "return " & cs(i) Functions.Add("函数",Code) Functions.Complie() Dim obj = Functions.Execute("函数") objs.Add(obj) End If Next Names=objs.ToArray() \'将集合转换为数组 Functions.execute(cs(0),Names)\'执行指定函数 End If End If catch ex As exception End try |
-- 作者:有点甜 -- 发布时间:2018/9/4 12:44:00 -- 参考
http://www.foxtable.com/webhelp/scr/1487.htm
|