以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  [讨论]Output类型的成员和用法  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=5436)

--  作者:ssqq
--  发布时间:2009/12/10 21:17:00
--  [讨论]Output类型的成员和用法
帮助文件中说:
FoxTable提供了一个Output类型,该类型有一个共享方法Show,用于在命令窗口显示信息。
不知这个类型还有什么共享方法?

MessageBox有一个共享方法Show,用于显示对话框.
不知MessageBox是否还有别的共享方法?

--  作者:lxl
--  发布时间:2009/12/10 22:40:00
--  

MessageBox只有一个Show
不过Output还有另外一个属性logs

创建操作日志

OutPut类有一个共享属性Logs,返回一个Log集合,可以用来创建操作日志。
和我们之前接触的集合不同,通过Logs可以访问指定名称的Log,例如:

Output.Logs("登录日志").Add(User.Name & "于" & Date.Now & "进入")

你不需要显示地创建一个Log,然后添加到Logs中,首次执行上面的代码,系统会自动创建一个名为“登录日志”的Log。

方法

Add

增加日志信息,语法:

Add(Messge)

Message: 字符型,要增加的日志信息

增加的日志信息不会显示,但是可以用Save方法保存到一个文件中,这样我们就可以创建自己的操作日志了。
例如我们要在名为ABC的Log中增加今天的日期:

Output.Logs("ABC").Add(Date.Today)

Clear

清除指定log中现有日志信息,例如要清除名称为ABC的Log的日志信息:

Output.Logs("ABC").Clear()

如果要清除所有Log的信息,直接调用Logs集合的Clear方法即可:

Output.Logs.Clear()

Save

将调试信息保存到一个文本文件中,语法:

Save(FieName, Append)

FileName:字符型,目标文件名,要包括路径。
Append:  逻辑型,如果目标文件已经存在,此属性决定是将调试信息会加到源文件,还是直接覆盖原文件。

保存某一个Log后,会自动清除该Log的日志信息,这样可以避免信息的重复保存。

示例一,创建删除数据的日志

例如我们要在日志文件中记录什么人在什么时候在订单表中删除了一条记录,被删除订单的编号是什么,可以在订单表的DataRowDeleting事件中设置如下代码:

Output.Logs("删除日志").Add(User.Name & "在" & Date.Now & "删除了" & e.DataRow("订单编号"))

然后打开项目属性窗口,将BeforeCloseProject事件的代码设置如下:

Output.Logs("删除日志").Save("C:\\Delete.txt",True)

这样就会在C盘根目录下创建一个Delete.txt文件,记录订单删除操作的日志。

日志内容是不会自动清除的,即使打开一个新的项目,上一个项目的日志内容还是会保存,所以我们需要在项目的AfterOpenProject设置如下代码,用于清除上一个项目的日志内容:

Output.Logs.Clear()

示例二,创建一个登录日志

在项目的AfterOpenProject事件中设置如下代码:

Output.Logs("登录日志").Add(User.Name & ":" & Date.Now )
Output.Logs(
"登录日志").Save("c:\\log.txt",True)
Output.Logs(
"登录日志").Clear

简单的三行代码,即可记录什么人在什么时候进入了本系统





--  作者:ssqq
--  发布时间:2009/12/10 23:57:00
--  
您是狐表的开发人员吧,建议用Foxtable本身来制作帮助文档。一些参数和系统变量直接从软件中获得。
就好像表属性,项目属性的界面一样。把所有的事件,方法,属性整合成一个文件。
[此贴子已经被作者于2009-12-10 23:58:44编辑过]

--  作者:smileboy
--  发布时间:2009/12/11 7:07:00
--  
以下是引用ssqq在2009-12-10 23:57:00的发言:
您是狐表的开发人员吧,建议用Foxtable本身来制作帮助文档。一些参数和系统变量直接从软件中获得。
就好像表属性,项目属性的界面一样。把所有的事件,方法,属性整合成一个文件。
[此贴子已经被作者于2009-12-10 23:58:44编辑过]

目录下code文件就是。代码编辑器也可以显示

[此贴子已经被作者于2009-12-11 7:10:00编辑过]