View Full Version : 《Lotus爱好者》期刊(002期)2007-12
8bit_name
12-01-08, 09:29 PM
第一期《Lotus爱好者》期刊编制完成后人气一般,这个也是意想得到的,毕竟起步比较低。不过还是有很多帖子本身受到关注。
只是“主编”(自称的)比较懒的缘故,投入毕竟有限,后续的跟进不够及时。好不容易看看将近年末,打算赶紧将第二期推出。结果还是拖到了08年1月份,不过很多材料已经贴上了,只是差一个索引,所以还是把它归到去年吧。
期刊提供了以下栏目:
* 新闻时事
* 特别推荐
* 新手须知 和 使用技巧
* 技术课堂
* 实验与练习
* 热点问题
* 故障排查
* 软件错误
* 连载文章
* 相关知识
* 休闲娱乐
* 其他转载
<新闻时事>
LotusFans大事记
——论坛的发展
论坛在迁移后,就像初生的婴儿一样经受了不少学步的过程,速度也变得缓慢。不过它在不断地摔跤过程中,也不断地越走越好,终于速度恢复了正常。
论坛注册用户突破了3万人,人气进一步走高。论坛也由以前单一中文的“枪版”,改变为支持中英双语的“D5正版”,有望往D9豪华收藏版本靠拢。
——Lotus技术沙龙
IBM分别在北京、杭州等地开展了Lotus技术沙龙活动,详情参见以下URL:
* 通知/邀请函:http://www.lotusfans.com/forum/showthread.php?t=37594
* 活动结束通告:http://www.lotusfans.com/forum/showthread.php?t=37857
希望以后的活动越来越多,有更多论坛会员参与这些活动,增进交流和合作。
月度工作报告
——07年12月
以前的报告,是转眼一个月过去,这下可好,过去了三个月。当然,改版后论坛的速度是一方面,另一方面大部分精力被工作等所牵绊,自然对论坛的投入就大大减少。虽然一开始头脑发热想出了期刊帖,不过因为个人空间的关闭,也因为不知道如何发展,所以进一步的工作越来越少。
不过幸好论坛的人气,以及层出不穷的问题,让我觉得还是有必要继续写一些有用的材料的,所以工作之余,继续作点贡献吧,至少还是有不少支持者的。
8bit_name
12-01-08, 09:29 PM
理解Domino/Notes应用开发
URL:http://www.lotusfans.com/forum/showthread.php?t=37847
<新手须知>
数据库和模板
URL:
http://www.lotusfans.com/forum/showthread.php?t=34922#td_post_173547
8bit_name
12-01-08, 09:29 PM
Notes客户端使用技巧
关闭窗口
Notes工作台上,每开一个数据库,或者一篇文档,都可以打开一个子窗口,就像一些浏览器一样,知道有几种方法可以关闭它么?
* 可以通过鼠标点击窗口标签上的“叉”关闭。
* 可以通过“文件->关闭”菜单进行关闭。
* 可以用Esc键进行关闭。
除了以上三种外,笔者最喜欢用双击鼠标右键。毕竟很多时候浏览文章,不需要用键盘;用鼠标每次要移到那个“叉”还是需要点眼神的;用菜单更是麻烦。
不过工作台默认装好后,双击鼠标右键功能是没有启用的,需要在“文件->惯用选项->用户惯用选项”菜单中设置。
打开惯用选项对话框,可以看到“基本”标签下方其他选项列表框中,就有“双击鼠标右键关闭窗口”的选项,勾上并“确定”吧。
15160
图示 工作台的使用
设置完还不能马上用,得关闭一下Notes再打开才可以看到效果。
不想试试么?
8bit_name
12-01-08, 09:30 PM
有关Domino群集的知识(分享)
URL:http://www.lotusfans.com/forum/showthread.php?t=34682
<实验/练习>
跟我做03——认识Domino目录
URL:http://www.lotusfans.com/forum/showthread.php?t=38180
8bit_name
12-01-08, 09:30 PM
基础使用热点问题
——收件箱的已读未读
其实邮件的问题有很多,这里根据Notes使用进行分类,先将邮件规则的问题提出来。
回头进一步整理。
管理开发热点问题
管理版的问题还是邮件居多,但是除了SMTP外发外,代表性不多,暂时不列热点问题了。
应用开发热点问题
——自动更新域
URL:
* 如何动态更新下拉列表框的内容 2008-01-08 http://www.lotusfans.com/forum/showthread.php?t=38379
* 求教!关于隐藏域的显示问题! 2007-09-28 http://www.lotusfans.com/forum/showthread.php?t=36496
* 能用代码添加对话框列表域的选项吗?? 2007-08-10 http://www.lotusfans.com/forum/showthread.php?t=35423
* 新手求教单选按钮赋问题CS 2007-05-28 http://www.lotusfans.com/forum/showthread.php?t=33833
自动更新关键字域问题,主要的帖子中已经回答了,以后可以给个相关的例子。
<连载/文章> 应用开发错误
——db.search的搜索结果限制有误
版本:Domino R5.x
问题说明:
db.Search(queryString, dateTime, results)搜索方法中,最后一个参数为结果限制,如设置为1时,可以在找到1份文档后就返回。但是在以前的版本中,不管results是多少,均进行全部查找,返回所有的结果。
源代码如下:
Sub Initialize
Dim ns As New NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim queryString As String
queryString = "Subject = ""ok"""
Set db = ns.CurrentDatabase
Set dc = db.Search(queryString, Nothing , 0)
Print "Result: " + Cstr(dc.Count) + " - " + queryString
End Sub
运行结果:
Result: 2 - Subject = "ok"
如果将蓝色字体的程序行改成:
Set dc = db.Search(queryString, Nothing , 1)
运行结果:
Result: 2 - Subject = "ok"
备注:此问题在R6版本已经更正,测试通过。其他版本可以进一步确认。
8bit_name
12-01-08, 09:30 PM
程序?程序——2
可能我所说的只是入门的东东,根本不值得一提。如果不敢兴趣的话,不看也罢。
前面提过,错误的处理是很重要的一部分。
那么,首先我们看一下,错误一般有哪些处理方法(这里的如果不加说明,我都讲LotusScript,如果要别的话):
* Msgbox
* Print
如果再想全一点,就是写数据LOG库和文件了。
如果光是下面这一段程序,可能就以下这些提示就行了:
Sub Initialize
On Error Goto Err_Agent_Initialize
Dim appTitle As String, appMsg As String
'Declaration
appTitle = "代理操作"
'Operation
'...
Exit_Agent_Initialize:
Exit Sub
Err_Agent_Initialize:
'Get Error Message
appMsg = appTitle + "(" + Cstr(Erl) + "): " + Error
MsgBox appMsg
'You can use Print instead of Msgbox
' Print appMsg
Resume Exit_Agent_Initialize
End Sub
appTitle的作用是一旦函数多的时候,可以及时知道是哪个函数段的错误;
appMsg的作用是可以记录程序运行过程中的各种消息,毕竟事件不像对象类中,可以有Property Get ErrorMessage As String这样的属性方法。
再加上Erl,可以快速定位到错误的行了。
不过,现在开发的版本,可能C/S和B/S都要调用,如何考虑怎样打印错误?是不是就得拷贝两份?我们增加一些错误判断。
Sub Initialize
On Error Goto Err_Agent_Initialize
Dim appTitle As String, appMsg As String
Dim ns As New NotesSession
'Declaration
appTitle = "代理操作"
debugLevel = "" '初始化, 万一连下面这一句都会出错了
debugLevel = ns.GetEnvironmentString("DebugLevel") '如果是服务器端代理,这里可以用服务器的notes.ini设置
'Operation
'...
Exit_Agent_Initialize:
Exit Sub
Err_Agent_Initialize:
'Get Error Message
appMsg = appTitle + "(" + Cstr(Erl) + "): " + Error
Select Case debugLevel
Case "1":
Msgbox appMsg
Case "0":
Print appMsg
Case Else:
End Select
Resume Exit_Agent_Initialize
End Sub
下面来进一步讨论,如果我们要写得长一点的程序,比如要对通讯录里面的所有人员进行操作,就自动根据人员的组织单元,生成所有人员的部门吧。
作为规范的考虑,首先想到写函数,甚至放在ScriptLib中;一个很普通的办法就是同时可以使用C/S或B/S代理去调用。
判断要做的事情:
1 获取公用通讯录 *;
2 获取用户;
3 获取用户的部门信息,如“张三/办公室/单位”,可以取出“办公室” *;
4 查找“办公室”群组是否存在,
- 不存在,创建;
- 存在,查找该用户是否在该群组中;不存在添加。
根据通用性考虑,1和3可以(打*号)需要建函数,我们来先来考虑一下GetNAB。
Function GetNAB(dbSource As NotesDatabase) As String
'当然函数也可以这样写,但是一旦出错,错误信息就无从获取了。
'Function GetNAB(dbSource As NotesDatabase) As NotesDatabase
On Error Goto Err_GetNAB
Dim appTitle As String
Dim ns As New NotesSession
appTitle = "获取通讯录"
GetNAB = ""
If Isarray(ns.AddressBooks) Then
Set dbSource = Nothing '一个无聊的问题,如果这一句和If换一下,会有什么效果差异?
Forall book In ns.AddressBooks
If Not(book.IsPrivateAddressBook) Then '以前我用If book.IsPublicAddressBook Then的。
Set dbSource = book
Call dbSource.Open("", "")
If dbSource.IsOpen Then '冗余错误
'成功了,执行到最后退出...
Else
GetNAB = appTitle + ": 打开通讯录失败!"
End If
Exit Forall
End If
End Forall
Else
GetNAB = appTitle + ": 无法获取通讯录, 通讯录为空!"
End If
Exit_GetNAB:
Exit Function
Err_GetNAB:
GetNAB = appTitle + "(" + Cstr(Erl) + "): " + Error
Resume Exit_GetNAB
End Function
这里仅仅将错误信息作为GETNAB的返回参数。这样就可以分别在不同的代理中调用:
Notes客户端调用:
Sub Initialize
Dim runInfo As String
Dim dbName As NotesDatabase
runInfo = GetNAB(dbName)
If runInfo = "" Then
'正确的话, 继续运行...
Else
'错误
MsgBox runInfo, 48, "系统提示"
End If
End Sub
浏览器上调用:
Sub Initialize
Dim runInfo As String
Dim sucessLink As String, errorLink As String
Dim dbName As NotesDatabase
successLink = "操作成功!<HR><A HREF='/'>主页</A>"
errorLink = "<HR><A HREF='/'>主页</A> <A HREF='javascript:history.back()'>返回</A>"
runInfo = GetNAB(dbName)
If runInfo = "" Then
'正确的话, 继续运行...
Print successLink
Else
'错误
Print "错误信息: " + runInfo
Print errorLink
End If
End Sub
以上的函数的大致考虑,我不知道多少人会去写类,类的错误信息又会不一样。有空再讨论吧。
8bit_name
12-01-08, 09:31 PM
关于Internet域名和DNS解析
URL:http://www.lotusfans.com/forum/showthread.php?t=35590
<休闲娱乐>
蛤蟆之死
URL:http://www.lotusfans.com/forum/showthread.php?t=38091
8bit_name
12-01-08, 09:31 PM
同样地,第二期也是匆匆忙忙地开张了,不过在紧张追求质量的同时,还是关注基础知识,尽量以浅显的方式提供材料,希望初学者也可以很快掌握。
当然,因为刚开始,主要还是希望通过这些材料来吸引人气,要更多内容,等看得人多了以后吧。:lol
skyforwing
08-02-08, 02:36 PM
支持...刚开始学习...
wing_stone
20-02-08, 08:56 PM
顶,强烈支持
jgssy2078
23-02-08, 10:49 AM
能否搞成电子版的....像PDF格式.好些,好收藏啊....
shen_bo
29-02-08, 03:29 PM
建议搞成自动发到我们的邮件中的.以电子档的格式.这样很好的.
感谢,将最近一段时间的好帖、新帖都汇总起来了。方便查看。谢谢!
谢谢版主,你辛苦了,呵呵。网页以mht的格式存储,也挺好的。再次多谢!
chiao2006
03-03-08, 11:52 AM
谢谢!
整理学习一下。
windowtime
04-03-08, 03:34 PM
谢谢,学习中,有没有打包下载版啊?
kuailibin
16-03-08, 10:52 AM
感谢,将最近一段时间的好帖、新帖都汇总起来了。方便查看。谢谢!
lixvfei
17-03-08, 10:16 AM
刚开始学习Lotes,看的不太懂,但是也要支持一下哈。。
yuanyaow
29-03-08, 03:21 PM
新手上路,赶紧多学点。谢谢楼主了
linux_tech
08-04-08, 04:36 PM
强烈支持,努力加油
yy611612
15-04-08, 10:01 AM
谢谢楼主,这几天一直在学习中......
liu2005yy
17-04-08, 09:18 AM
先留个名呵呵上期没有关注,这期要好好的看一下
zhongzheng
23-04-08, 08:20 AM
都是好东西,谢谢版主,
zhongzheng
23-04-08, 05:02 PM
谢谢版主,你辛苦了。期待003期
ly19811105
26-05-08, 11:20 PM
新手报到贴
liantingwqn
03-06-08, 08:34 PM
谢谢楼主的分享……
fannisiteluer
30-06-08, 10:38 AM
太好了,非常喜欢,强烈支持。继续期待中。
clon911
05-07-08, 12:01 AM
对啊
做成电子版的
留芳百世
支持
sunnyqboy2008
03-09-08, 10:09 AM
顶一下哈!楼主加油!
frigate
08-10-08, 04:46 PM
支持支持…………
vBulletin® v3.7.3, Copyright ©2000-2008, Jelsoft Enterprises Ltd.