Foxtable(狐表)用户栏目专家坐堂 → [讨论] 在线开发指南中的一个问题: 代码好像不全?


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

主题:[讨论] 在线开发指南中的一个问题: 代码好像不全?

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


加好友 发短信
等级:超级版主 帖子:112378 积分:572152 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/8 8:59:00 [显示全部帖子]

没有问题。请认真看看这段代码前面的文字说明。

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


加好友 发短信
等级:超级版主 帖子:112378 积分:572152 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/8 13:59:00 [显示全部帖子]

认真看过了?那来说一下,下面这句代码表示什么意思?

If e.FolderName = "/" OrElse e.FolderName = "/公共" OrElse e.FolderName = "/" & User.Name Then

下面这句代码又表示什么意思?

ElseIf User.Group = "经理" Then

然后重新理解一下if语句的语法:http://www.foxtable.com/webhelp/topics/0223.htm

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


加好友 发短信
等级:超级版主 帖子:112378 积分:572152 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/8 14:19:00 [显示全部帖子]

说明还是木理解。例如

if user.name = "张三" orelse user.name = "李四"
else
    msgbox("我既不是张三也不是李四")
end if


if user.name <> "张三" andalso user.name <> "李四"
    msgbox("我既不是张三也不是李四")
end if

效果都一样,但是第一段代码的效率会比第二段高,为什么呢?

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


加好友 发短信
等级:超级版主 帖子:112378 积分:572152 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/9 14:06:00 [显示全部帖子]

嗯嗯,是我搞错了,6楼的代码效率是一样的,只是用法不一样而已。

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


加好友 发短信
等级:超级版主 帖子:112378 积分:572152 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2019/8/9 14:48:00 [显示全部帖子]

If e.FolderName = "/" OrElse e.FolderName = "/公共" OrElse e.FolderName = "/" & User.Name Then

每个用户可能访问自己的目录,所有用户都能访问名为“公共”以及根目录,如果符合此条件就不需要做任何处理

ElseIf User.Group = "经理" Then
不符合上面的添加,就会进来这里,再判断是否是经理,如果是,也不做任何处理,因为“如果用户分组为经理,则能访问所有用户的目录

Else
上面的条件都不符合,就进来这里,既然不符合条件就取消访问
    e.Cancel = True

上面的用法等同于下面用法,如果实在不理解就用下面的用法吧

If e.FolderName <> "/" andalso e.FolderName <> "/公共" andalso e.FolderName <> "/" & User.Name andalso User.Group <> "经理" Then
    e.Cancel = True
    MessageBox.Show(
"
你无权访问他人目录!","提示",MessageBoxButtons.OK,MessageBoxIcon.Information)
end if

 回到顶部