Foxtable(狐表)用户栏目专家坐堂 → 全局代码编译错误“语句不能出现在方法体外”的求助


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

主题:全局代码编译错误“语句不能出现在方法体外”的求助

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


加好友 发短信
等级:三尾狐 帖子:781 积分:6658 威望:0 精华:0 注册:2017/8/31 12:07:00
全局代码编译错误“语句不能出现在方法体外”的求助  发帖心情 Post By:2018/2/24 11:55:00 [只看该作者]

各位老师,春节快乐!

打算定义全局代码“Welcome”,准备在每个主窗口引用,但是保存全局代码时出现错误,麻烦老师看看,帮帮忙!

Dim ln As New Lunar(Date.Today)
Dim str As String = ""
Dim d As Date = cdate(ln.LunarDate)  '.adddays(-11)
If d.Month = 1 Then
    If d.Day <= 10 Then
        str = cldate(d).Substring(5).trim("日")
        str = str.Insert(str.Length-1, "初")
        str = str.Remove(0,1)
        str = str.Insert(0, "正")
    Else
        str = cldate(d).Substring(5).trim("日")
        str = str.Remove(0,1)
        str = str.Insert(0, "正")
    End If
ElseIf d.Month = 2 OrElse d.Month = 3 OrElse d.Month = 4 OrElse d.Month = 5 OrElse d.Month = 6 OrElse d.Month = 7 OrElse d.Month = 8 OrElse d.Month = 9 OrElse d.Month = 10 OrElse d.Month = 11
    If d.Day <= 10 Then
        str = cldate(d).Substring(5).trim("日")
        str = str.Insert(str.Length-1, "初")
    Else
        str = cldate(d).Substring(5).trim("日")
    End If
ElseIf d.Month = 12 OrElse d.Month = 13
    If d.Day <= 10 Then
        str = cldate(d).Substring(5).trim("日")
        str = str.Insert(str.Length-1, "初")
        str = str.Remove(0,2)
        str = str.Insert(0, "腊")
    Else
        str = cldate(d).Substring(5).trim("日")
        str = str.Remove(0,2)
        str = str.Insert(0, "腊")
    End If
End If
Public Welcome As String =  "欢迎您:" & User.Name & " | 今天是:" & Format(Date.Today,"yyyy年MM月dd日 dddd" & " 农历:" & str   )

 

 


图片点击可在新窗口打开查看此主题相关图片如下:1.png
图片点击可在新窗口打开查看

此段代码,单独执行没有问题啊!自己不解。

[此贴子已经被作者于2018/2/24 12:06:49编辑过]

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


加好友 发短信
等级:童狐 帖子:250 积分:2089 威望:0 精华:0 注册:2014/3/25 14:24:00
  发帖心情 Post By:2018/2/24 12:11:00 [只看该作者]

用内部函数呀

 回到顶部
帅哥,在线噢!
有点蓝
  3楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:超级版主 帖子:106090 积分:539555 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2018/2/24 14:34:00 [只看该作者]

全局代码需要定义函数:http://www.foxtable.com/webhelp/scr/1938.htm

public function abc()
‘这里是1楼的代码,最后加上下面一句’
return Welcome 
end function 

外部调用

dim w as string = abc()
msgbox(w)

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


加好友 发短信
等级:三尾狐 帖子:781 积分:6658 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点蓝)全局代码需要定义函数:http://www.f...  发帖心情 Post By:2018/2/26 8:50:00 [只看该作者]

谢谢蓝老师!春节快乐!

 

不过按照您所教的,在设置全局代码时,出现以下错误:

 

 


图片点击可在新窗口打开查看此主题相关图片如下:2.png
图片点击可在新窗口打开查看

 

麻烦老师帮忙看看!谢谢!

[此贴子已经被作者于2018/2/26 8:54:42编辑过]

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


加好友 发短信
等级:版主 帖子:85326 积分:427815 威望:0 精华:5 注册:2012/10/18 22:13:00
  发帖心情 Post By:2018/2/26 8:59:00 [只看该作者]

做一个内部函数

 

Dim ln As New Lunar(Date.Today)
Dim str As String = ""
Dim d As Date = cdate(ln.LunarDate)  '.adddays(-11)
If d.Month = 1 Then
    If d.Day <= 10 Then
        str = cldate(d).Substring(5).trim("日")
        str = str.Insert(str.Length-1, "初")
        str = str.Remove(0,1)
        str = str.Insert(0, "正")
    Else
        str = cldate(d).Substring(5).trim("日")
        str = str.Remove(0,1)
        str = str.Insert(0, "正")
    End If
ElseIf d.Month = 2 OrElse d.Month = 3 OrElse d.Month = 4 OrElse d.Month = 5 OrElse d.Month = 6 OrElse d.Month = 7 OrElse d.Month = 8 OrElse d.Month = 9 OrElse d.Month = 10 OrElse d.Month = 11
    If d.Day <= 10 Then
        str = cldate(d).Substring(5).trim("日")
        str = str.Insert(str.Length-1, "初")
    Else
        str = cldate(d).Substring(5).trim("日")
    End If
ElseIf d.Month = 12 OrElse d.Month = 13
    If d.Day <= 10 Then
        str = cldate(d).Substring(5).trim("日")
        str = str.Insert(str.Length-1, "初")
        str = str.Remove(0,2)
        str = str.Insert(0, "腊")
    Else
        str = cldate(d).Substring(5).trim("日")
        str = str.Remove(0,2)
        str = str.Insert(0, "腊")
    End If
End If
return "欢迎您:" & User.Name & " | 今天是:" & Format(Date.Today,"yyyy年MM月dd日 dddd" & " 农历:" & str   )

 

调用内部函数

 

Dim str As String = Functions.Execute("test")
msgbox(str)


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


加好友 发短信
等级:三尾狐 帖子:781 积分:6658 威望:0 精华:0 注册:2017/8/31 12:07:00
回复:(有点甜)做一个内部函数 Dim ln As ...  发帖心情 Post By:2018/2/26 9:14:00 [只看该作者]

不错,完美解决,谢谢老师!还是自己对内部函数理解的不够啊!图片点击可在新窗口打开查看

 回到顶部