Foxtable(狐表)用户栏目专家坐堂 → 12月8日超级更新,为高端用户加上一对翅膀,无限扩展Foxtable的功能


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

主题:12月8日超级更新,为高端用户加上一对翅膀,无限扩展Foxtable的功能

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
12月8日超级更新,为高端用户加上一对翅膀,无限扩展Foxtable的功能  发帖心情 Post By:2009/12/8 11:02:00 [只看该作者]

本次更新主要是针对高端用户的,普通用户了解一下如何在全局代码中定义变量即可(绿色字体部分):



1、增加了引用外部库的功能(这里必须是托管的DLL,也就是.net下编译的DLL),对于非系统的DLL文件,以前库文件只需复制到Foxtable目录下即可,现在除了复制,还得引用;除了引用的功能,还增加了命名空间的定义。以lxl斑竹提供的库为例:


此主题相关图片如下:002.gif
按此在新窗口浏览图片



此主题相关图片如下:001.gif
按此在新窗口浏览图片


一旦加上了引用,就可以直接在代码中使用改库的功能:

Dim app As New Office.Excel.Application
Dim book As Office.Excel.Workbook = app.Workbooks.Open("C:\112.xls")
Dim sheet As Office.Excel.Worksheet = book.Sheets.Item(1)
app.Visible = True
sheet.PrintPreview()
book.Close()
app.Quit()




2、增加全局代码的功能:


此主题相关图片如下:003.gif
按此在新窗口浏览图片



你可以在这里定义API函数,例如:


Declare Function getUserName Lib "advapi32.dll" Alias "GetUserNameA" _
(ByVal lpBuffer As String, ByRef nSize As Integer) As Integer

 

<DllImport("kernel32.dll", CharSet:=CharSet.Ansi, CallingConvention:=CallingConvention.Cdecl)> _
Public Function lstrlenA(ByVal InString As String) As Integer
End Function


如果不是系统的,而是第三方的DLL,请事先将其复制到foxtable目录下。
一旦定义了,就可以直接在任何地方使用上面的API函数,例如:



Return lstrlenA("ABC")



Foxtable的全局变量定义和使用都不便利,而且不是所有的事件都能引用,现在你可以在全局代码中定义变量,用Public代替Dim,这样定义的变量可以在任何事件代码中引用,例如:

Public  gbStartDate As Date
Public  gbEndDate As Date



这样就定义了两个日期型全局变量,分别为gbStartDate  和 gbEndDate ,你可以在任何事件代码中直接使用,例如:



MessageBox.show("起始日期:" & gbStartDate)


为了避免全局变量和事件中定义的变量出现名称冲突,建议全局变量统统用gb开头。



全局代码中不仅可以定义变量和API函数,还可以直接定义过程或者函数,例如:


Public Function LenStr(ByVal val As String) As Integer
        Dim b() As Byte = System.Text.Encoding.ASCII.GetBytes(val)
        Return b.Length
End Function

定义好之后,你可以在任何事件代码中使用这个函数:

MessageBox.show(lenstr("ren们"))

3、虽然原有的全局变量不够便利,但是可以绑定,而且有事件跟踪其值的变化,所以不仅不会淘汰的,还增加了一个统一定义的界面:


此主题相关图片如下:004.gif
按此在新窗口浏览图片

请不要再使用Vars.Add方法来增加变量,以便于管理。

4、开发接口

DataTable有一个BaseTable属性,返回底层的System.Data.DataTable对象
Table有一个View属性,返回底层的System.Data.DataView对象。
Table有一个Grid属性,返回底层的C1.Win.C1FlexGrid.C1FlexGrid对象

所有的控件都有一个BaseControl属性,返回其对应的System.Windows.Forms.Control对象
窗口有一个Panel对象,返回一个Foxtable.FormPanel容器,窗口所有的控件都在这个容器中
对于模式窗口和独立窗口,可以通过窗口的BaseForm属性,返回对应的Windows.Forms.Form对象

有了这些接口以及前面提到的引用功能,就可以无穷无尽的扩展foxtable的功能。
例如你可以加入第三方的控件,并帮定到foxtable中的表。
提示:最好在窗口的BeforeClose事件中,将第三方控件移除并销毁。

如果要使用第三方的开发工具,请引用foxtable.exe和foxtable.lib.dll,这两个文件包括foxtable所有公开的类型

5、修正了一些bug

[此贴子已经被作者于2009-12-8 12:16:59编辑过]

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


加好友 发短信 菜鸟中的老鸟
等级:七尾狐 帖子:1486 积分:10064 威望:0 精华:9 注册:2008/11/14 8:54:00
  发帖心情 Post By:2009/12/8 11:08:00 [只看该作者]

沙发

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


加好友 发短信
等级:贵宾 帖子:102 积分:880 威望:0 精华:4 注册:2008/8/31 21:47:00
  发帖心情 Post By:2009/12/8 11:09:00 [只看该作者]

先顶起再说。


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


加好友 发短信 好心情 一级勋章
等级:超级版主 帖子:715 积分:5564 威望:0 精华:1 注册:2008/8/31 20:45:00
  发帖心情 Post By:2009/12/8 11:12:00 [只看该作者]

顶起

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/12/8 11:14:00 [只看该作者]

兴奋,谢谢!

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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/12/8 11:21:00 [只看该作者]

看来您的无声无息会给我们带来更大的惊喜!

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


加好友 发短信
等级:管理员 帖子:47497 积分:251403 威望:0 精华:91 注册:2008/6/17 17:14:00
  发帖心情 Post By:2009/12/8 11:24:00 [只看该作者]

以下是引用程兴刚在2009-12-8 11:21:00的发言:
看来您的无声无息会给我们带来更大的惊喜!



从这个版本开始,你可以研究你的加密狗了。
让对方提供Dll库以及vb.net使用的例程即可。


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


加好友 发短信 一级勋章
等级:超级版主 帖子:7258 积分:40773 威望:0 精华:16 注册:2008/8/31 23:23:00
  发帖心情 Post By:2009/12/8 11:28:00 [只看该作者]

以下是引用狐狸爸爸在2009-12-8 11:24:00的发言:



从这个版本开始,你可以研究你的加密狗了。
让对方提供Dll库以及vb.net使用的例程即可。


谢谢,样狗已经备齐,学到一些知识,就是没有深入研究,现在好了,在此表示感谢!
       狐表成为真正的开发工具,从今天开始,这个日子是狐表成长史上的一个重要里程碑!


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


加好友 发短信
等级:狐神 帖子:6886 积分:43605 威望:0 精华:0 注册:2009/3/2 14:07:00
  发帖心情 Post By:2009/12/8 11:30:00 [只看该作者]

我顶


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


加好友 发短信
等级:小狐 帖子:374 积分:3147 威望:0 精华:0 注册:2009/2/3 9:55:00
  发帖心情 Post By:2009/12/8 11:32:00 [只看该作者]

狐爸把日期写错了图片点击可在新窗口打开查看


[此贴子已经被作者于2009-12-8 11:50:57编辑过]

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