Foxtable(狐表)用户栏目专家坐堂 → [分享]代码帮的来吧,已添加示例


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

主题:[分享]代码帮的来吧,已添加示例

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


加好友 发短信
等级:童狐 帖子:269 积分:2425 威望:0 精华:0 注册:2011/10/21 17:07:00
[分享]代码帮的来吧,已添加示例  发帖心情 Post By:2012/11/1 16:56:00 [只看该作者]

写代码:你懂的。。。想带色不,想折叠不。。。

改代码:窗口管理,设计窗口,找控件,事件,事件代码按钮,写代码,关控件,关窗口,点应用,点按钮测试,累啊。。。

10步得有吧,现在只要3步,亲,只要3步,即可投篮!现在,写好代码保存,点按钮装载代码,点按钮测试

 

好吧,把思路介绍下,针对上面两个问题:

1.内部函数不在foxtable里写,而在功能更强大的你喜欢的编辑器里写,然后在FOXTABLE里用一个按钮读进去动态生成。

2.将所有窗口的事件,带表名、窗口名、控件名三个参数传递到一个内部函数里去处理,便于集中调试代码。例如click事件整合到n_formClick,DoubleClick整合到n_formDoubleClick, 如果效率能接受,你的窗口事件可以整合到一个函数里去处理。

 


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

附件随后:
 

 

 

一、在窗口的click事件添加了这个,喜欢吗?

Functions.Execute("n_formClick",e.Form.TableName,e.Form.Name,e.Sender.name)

n_formClick是自定义函数名,你可以换成其它的(这个函数名就是等下要在外部文本文件里定义的Sub n_formClick)

 

 

二、用foxtableCode.vb(这个文件名也是自定义的,自己换) 按vb格式写代码n_formClick内部函数,当然,你还可以写毛毛多的,做到集中写代码,亲,是不是实现了这个梦想,想用什么编辑器就用什么编辑器,什么代码折叠,自动完成,加亮提示等等自己随便折腾。

再也不要切来切去,再也不要找来找去,再也那啥,不多说了

foxtableCode.vb,格式要求:

1.[]标记起来的内容大小写固定、空格量固定: [Sub 内部函数名]、[End Sub]

2.自己写的内部函数里,不要出现:[Sub ]、[End Sub]、chr(11),不要有FOXTABLE里已定义的函数

3.其它无要求,文件名可以是TXT等,测试支持FOXTABLE内所有功能。

4.如有,求editplus或其它工具的FOXTABLE自动提示包

 

foxtableCode.vb示例

Sub test1
Dim a = 2
MsgBox("a11")
MsgBox("中文E测试")

End Sub

Sub test2
Dim a = 2
MsgBox("中文E测试"&1234)

End Sub

 

实现方法,只要两步: 

1.先按上面要求整个foxtableCode.vb 文件

2.自建个窗口,一按钮,以后每次在你的极品编辑器里编辑好代码后,按一下按钮就调进去了。按钮事件定义为下:

[code]

Dim File As String = ProjectPath & "foxtableCode.vb"
If Not FileSys.FileExists(File) Then
    MessageBox.Show("没有发现指定的代码文件, 请检查或与您的服务商联系! ","信息提示",MessageBoxButtons.OK,MessageBoxIcon.Question)
Else
    StatusBar.Message2 = "正在执行代码, 请稍候..."
    Application.DoEvents
    Dim i,ti,l,fnTitle,fnCode,tA,tstr
    Dim tCodeall As String = FileSys.ReadAllText(File,System.Text.Encoding.Default)
    tA = replace(tCodeall,"End Sub",chr(11)).split(chr(11))
    l = tA.length-1
    For i=0 To l
        StatusBar.Message2 = "正在执行代码, 请稍候..." & i & "-" & l
       
        tstr = trim(tA(i))
        output.show ("\n" & i & "-" & tstr)
        ti = InStr(tstr,"Sub ")
        If ti = 0 Then
            Continue For
        End If
        tstr = mid(tstr,ti)
        If left(tstr,4) = "Sub " Then
            ti = InStr(tstr,vbcrlf)
            If ti>0 Then
                fnTitle = trim(mid(tstr,4,ti-4))
                fnCode = mid(tstr,ti)
                'msgbox(fntitle & "-" & vbcrlf & fnCode)
                try
                    Functions.Remove(fnTitle)     '先删除函数
                    Functions.Add(fnTitle,fnCode)   '添加
                    Functions.Complie()         '编译
                    'Functions.Execute(fnTitle)    '执行
                catch ex As Exception
                    msgbox("function.add Err")
                End Try
            End If
        End If
    Next
    'tstr = tA(0) '& split("a,b,c",",")(0)
    'tstr = InStr(tcodeall,"vbcrlf")
    'output.show (tstr)
    '    Functions.Add("Zdy",Code)   '添加
    '    Functions.Complie()         '编译
    '    Functions.Execute("Zdy")    '执行
    '    Functions.Remove("Zdy")     '代码执行完毕即删除函数
    '    StatusBar.Reset
    StatusBar.Reset
End If
[code]

另外,感谢在 foxtable技术联盟_01-03 等群里帮助过我的朋友们。

演示文件如下:

以下内容只有回复后才可以浏览


2016.12.28补充
送给大家辅助开发FOXTABLE的好东东
http://www.foxtable.com/BBs/dispbbs.asp?boardid=2&id=78158&authorid=0&page=0&star=1

[此贴子已经被作者于2016/12/28 21:00:52编辑过]

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


加好友 发短信
等级:五尾狐 帖子:1088 积分:8247 威望:0 精华:4 注册:2012/3/31 18:08:00
  发帖心情 Post By:2012/11/1 17:03:00 [只看该作者]

呃。。。不发个效果图看看嘛。


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


加好友 发短信
等级:幼狐 帖子:139 积分:1021 威望:0 精华:0 注册:2012/1/18 14:40:00
  发帖心情 Post By:2012/11/1 17:06:00 [只看该作者]

n_formClick 是什么?

 

哦,才明白,加内部函数。

 

不过这样做的话,在内部函数那里看不到

[此贴子已经被作者于2012-11-1 17:13:18编辑过]

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


加好友 发短信
等级:童狐 帖子:269 积分:2425 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/11/1 17:07:00 [只看该作者]

这个有啥效果图啊!就只是为了方便调试代码,管理代码,

以前要切来切去,窗口管理,设计窗口,找控件,事件,事件代码按钮,写代码,关控件,关窗口,点应用,点按钮,累啊。。。

10步,化为3步

现在,写好代码保存,点按钮装载代码,点按钮测试

 


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


加好友 发短信
等级:狐神 帖子:6708 积分:34304 威望:0 精华:11 注册:2012/8/18 23:10:00
  发帖心情 Post By:2012/11/1 17:08:00 [只看该作者]

 楼主很非主流……这样,狐表自带的Tab键补全都用不上了。

 不过,用来开发外部应用还行。

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


加好友 发短信
等级:幼狐 帖子:139 积分:1021 威望:0 精华:0 注册:2012/1/18 14:40:00
  发帖心情 Post By:2012/11/1 17:30:00 [只看该作者]

这个也有一个好处,源码加密,在狐表的内部函数中找不到源码,不过可以直接使用

 


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


加好友 发短信
等级:童狐 帖子:269 积分:2425 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/11/1 17:40:00 [只看该作者]

加密不现实,进狐表后你也得解密成明文不是,如能进系统菜单也没什么秘密了

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


加好友 发短信
等级:童狐 帖子:269 积分:2425 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/11/1 17:41:00 [只看该作者]

主要是为了 提高写代码、调试效率

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


加好友 发短信
等级:九尾狐 帖子:2609 积分:16926 威望:0 精华:11 注册:2011/9/20 16:13:00
  发帖心情 Post By:2012/11/1 17:51:00 [只看该作者]

楼主辛苦。学习了


 回到顶部
帅哥哟,离线,有人找我吗?
布莱克朱
  10楼 | 信息 | 搜索 | 邮箱 | 主页 | UC


加好友 发短信
等级:三尾狐 帖子:623 积分:3897 威望:0 精华:0 注册:2011/8/3 22:13:00
  发帖心情 Post By:2012/11/1 18:07:00 [只看该作者]

做个例子 看看 还是有些不明白!

 回到顶部
总数 225 1 2 3 4 5 6 7 8 9 10 下一页 ..23