Foxtable(狐表)用户栏目专家坐堂 → 全局代码中的Public变量用代码修改


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

主题:全局代码中的Public变量用代码修改

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


加好友 发短信
等级:超级版主 帖子:113936 积分:580301 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/5/21 15:02:00 [显示全部帖子]

上面的代码只是定义了一个过程,并没有调用,只有调用这个过程,才会执行里面的代码,全局变量的值才会改变

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


加好友 发短信
等级:超级版主 帖子:113936 积分:580301 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/5/21 16:09:00 [显示全部帖子]

fixColor完整代码发上来

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


加好友 发短信
等级:超级版主 帖子:113936 积分:580301 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/5/21 16:53:00 [显示全部帖子]

colorNames、colors这些变量是怎么定义和赋值的?

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


加好友 发短信
等级:超级版主 帖子:113936 积分:580301 威望:0 精华:9 注册:2015/6/24 9:21:00
  发帖心情 Post By:2025/5/21 17:12:00 [显示全部帖子]

Color是结构体,不是类型,属于值类型,传入函数会变成复制的副本,使用ByRef 是没有用的,需要显示返回
全局代码
Public  function fixColor(i As String) as Color
dim cl As Color
If i.Contains(";") AndAlso  Char.IsDigit(i(0)) Then
    '传入文本包含":"和首个字符是数字
    '颜色文本是RGB值
    
    Dim rgbValues As String() = i.Split(";"c)
    Dim r As Integer = Integer.Parse(rgbValues(0).Trim())
    Dim g As Integer = Integer.Parse(rgbValues(1).Trim())
    Dim b As Integer = Integer.Parse(rgbValues(2).Trim())
    cl = Color.FromArgb(r, g, b)
    Output.Show(cl.Name)
Else
    ' 不是包含数字
    '颜色文本是英文单词类似Red 处理
    cl = Color.FromName(i)
    Output.Show(cl.Name)
    'Output.Show("fixColor颜色是 " & cl.Name, "颜色信息")
End If
return cl
End function 


调用
……
    If GetConfigValue(k , colorNames(k)) <> colorNames(k) Then
        output.Show(k & "颜色修改前是:" & colors(i).Name)
        '修改颜色Sub
        colors(i) = fixColor(GetConfigValue(k , colorNames(k)) )
        
        output.Show(k & "颜色修改后是:" & colors(i).Name)
        output.Show(i)
    End If
……
[此贴子已经被作者于2025/5/21 17:12:58编辑过]

 回到顶部