Foxtable(狐表)用户栏目专家坐堂 → [讨论]Output类型的成员和用法


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

主题:[讨论]Output类型的成员和用法

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


加好友 发短信 一级勋章
等级:MVP荣誉狐 帖子:858 积分:6071 威望:0 精华:19 注册:2008/9/1 9:13:00
  发帖心情 Post By: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

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





 回到顶部