Foxtable(狐表)用户栏目Web开发 → 自定义函数中的return语句请教


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

主题:自定义函数中的return语句请教

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


加好友 发短信
等级:幼狐 帖子:181 积分:1317 威望:0 精华:0 注册:2018/1/21 10:25:00
自定义函数中的return语句请教  发帖心情 Post By:2019/9/8 15:22:00 [只看该作者]

以下是帮助文件里面的一段代码。

将这段代码做成自定义函数以后,return语句提示出错,提示大致意思是要求自定义函数中的return语句必须返回一个值。请教如何才能正确使用?


下面是HttpRequest事件代码,这段代码完成了HTTP服务的建立,3个页面的生成,以及数据接收等任务:

Dim
wb As New weui
Select
Case e.Path
    Case "addnew.htm"
        If e.PostValues.Count = 0 Then
            wb.AddForm("","form1","addnew.htm")
            With wb.AddInputGroup("form1","ipg1",
"
客户资料")
                .AddInput(
"
姓名","姓名","Text") '前一个"姓名"ID,后一个"姓名"是标题
                .AddInput(
"
年龄","年龄","number")
                .AddInput(
"
日期","日期","date")
                .AddSelect(
"
级别","级别","普通会员|高级会员|VIP会员")
                .AddSwitch(
"
停权","停权").Value = "True"
            End With
            With wb.AddRadioGroup("form1",
"
学历","最高学历")
                .Add(
"
本科","本科")
                .Add(
"
硕士","硕士")
                .Add(
"
博士","博士")
            End With
            With wb.AddCheckGroup("form1",
"
偏好","品牌偏好")
               
.Add("苹果","苹果")
                .Add("华为","华为")
               
.Add("三星","三星")
            End With
            With wb.AddButtonGroup("form1","btg1",True)
                .Add("btn1",
"
确定", "submit")
            End With
            e.WriteString(wb.Build)
        Else
            Dim nms() As String =
{"
姓名","年龄","日期","级别"} '不能为空的列名数组
            For Each nm As String In nms

               
If e.PostValues.ContainsKey(nm) = False Then '生成错误提示页
                    With wb.AddMsgPage("","msgpage","增加失败", nm & "列不能为空!")
                        .icon = "Warn" '改变图标
                        .AddButton("btn1","返回").Attribute = ""
                    End With
                    e.WriteString(wb.Build)
                    Return '必须返回
                End If
            Next
            nms = New String() {"姓名","年龄","日期","级别","停权","学历"} 
'重新定义了nms数组,增加了两列.
           
Dim dr As DataRow = DataTables("员工").AddNew()
            For Each nm As String In nms
                If e.
PostValues.ContainsKey(nm) Then
                    dr(nm) = e.
PostValues(nm)
                End If
            Next
            '以下代码处理品牌复选列表项
            Dim pp As String
            nms = New String() {"苹果","华为","三星"}
'将nms重新定义为品牌数组
           
For Each nm As String In nms
                If e.PostValues.ContainsKey(nm) AndAlso e.PostValues(nm).Trim() = "on" Then
'
不能省略Trim
                    pp = pp & nm  & ","
                End If
            Next
            If pp > "" Then
                dr(
"
偏好") = pp.Trim(",")
            End If
           
'
保存并生成增加成功提示页面
            dr.save()
            With wb.
AddMsgPage("","msgpage","增加成功", "好好学习,天天向上") '生成成功提示页
               
.AddButton("btn1","继续增加","addnew.htm")
            End With
            e.WriteString(wb.Build)
        End
If
End
Select


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


加好友 发短信
等级:幼狐 帖子:181 积分:1317 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/9/8 23:17:00 [只看该作者]

 Return '必须返回
编译错误提示:
‘Return’ statement in a Function,Get,or Operator must return a value
[此贴子已经被作者于2019/9/8 23:35:55编辑过]

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:9594 积分:55167 威望:0 精华:16 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/9/10 9:49:00 [只看该作者]

return nothing


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


加好友 发短信
等级:幼狐 帖子:181 积分:1317 威望:0 精华:0 注册:2018/1/21 10:25:00
  发帖心情 Post By:2019/9/10 19:38:00 [只看该作者]

谢谢!

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:9594 积分:55167 威望:0 精华:16 注册:2008/9/1 9:45:00
  发帖心情 Post By:2019/9/11 8:59:00 [只看该作者]

所谓的函数有两种,一种叫方法,一种叫函数.

方法是没有返回值的,函数是有返回值的.


返回值的类型也就是返回数据类型的值,没有的话就是 nothing

 回到顶部