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


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

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

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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望: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编辑过]

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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/11/1 17:07:00 [显示全部帖子]

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

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

10步,化为3步

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

 


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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/11/1 17:40:00 [显示全部帖子]

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

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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/11/1 17:41:00 [显示全部帖子]

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

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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/11/2 11:47:00 [显示全部帖子]

对头,如狐爸所说,启动效率随着系统的丰满会迅速的衰弱~~,

 

不过,项目测试完成,或阶段性调试好函数,花几分钟一次性把函数填进系统就行了。

 

完全适用于设计阶段

有时,忘记写一个引号,执行报错了,你就得花10步,点来点去,拉来拉去,改一个小代码,确实有点痛哈。


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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/11/2 11:55:00 [显示全部帖子]

 

想应用到发布阶段,也不是没可能,规划一下加载与编译的先后顺序与时机,要么窗口首次打开触发,要么后台悄悄地干活,应该能做到满足用户体验。


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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/11/2 22:09:00 [显示全部帖子]

幸好是内网的数据库。。。。不好意思啊做示例粗心了点,忘记删外部数据源了,大家无视吧。。。

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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2012/12/5 14:57:00 [显示全部帖子]

呵,谢谢大家的喜欢:)

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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2014/2/26 20:34:00 [显示全部帖子]

我又来了。。。


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


加好友 发短信
等级:童狐 帖子:265 积分:2399 威望:0 精华:0 注册:2011/10/21 17:07:00
  发帖心情 Post By:2015/4/2 15:29:00 [显示全部帖子]

回来看看~~~

 回到顶部
总数 21 1 2 3 下一页