- 1、本文档共10页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
LotusDominoAPI应用.doc
Lotus Domino/Notes是美国莲花公司出的企业通讯和群件服务平台。但由于其本身提供的开发工具的限制,在Notes中实现系统级功能十分困难。比如在Notes中,不能通过公式或脚本来得到一个数据库的未读文档的数量和其内容。但这个未读文档数的小功能在做有些方面是十分有用的,例如我们可以根据这个未读文档数来做个提醒功能,提醒用户该进行某类工作如文件签发等。Notes系统本身有个Minder的程序,它是在有新邮件来到的时候,提醒用户,并可提供一些基本的信息:来信人,标题等。我们也可以这样做(当然利用未读文档数来做不是完美,如果你有兴趣,你可以试试做个数据库钩子程序来实现,但总的来说,利用未读文档数来做较为简单。)。
本文就是讨论如何利用Notes提供的C API来实现读取一个Notes数据库的未读文档数和其信息。因为利用的是C API,所以我们的开发语言是C。开发工具我们选用的是VC++ 6.0。我们需要借助的是Notes本身提供的C API函数。Notes的大部分API都封装在nNotes.dll文件中。其中包括有ACL,Database,User,Document,Item等各个方面的API函数。它不光能实现几乎所有在Notes中实现的功能,它还提供了其他在Notes中难以想象的功能(换句话说,你可以自己写自己特有的Notes桌面程序而不再使用Notes.exe。当然它的功能还远不止这点)。利用Notes API包,我们可以做以下的程序:
1、独立应用程序。
2、DOMINO 服务器的扩展插入服务(add-in tasks)。
3、NOTES 客户机的菜单扩展插入(menu add-ins)。
4、NOTES 客户机可动态加载的函数库。
5、数据库的钩子驱动程序(HOOK Drivers)。
6、扩展管理程序的钩子函数库。
7、非NOTES数据库的驱动程序。
下面简单介绍一下我们后面会涉及的主要的Notes API函数:
NotesInitExtended:初始化Notes环境,应在所有Notes API函数调用前初始化系统。
NSFDbOpen:打开指定的Notes数据库。
NSFDbClose:关闭指定的Notes数据库。
NSFDbGetUnreadNoteTable:取得指定数据库内的未读文档列表。
NSFDbUpdateUnread:更新数据库的未读文档列表。
NIFFindView:取得数据库内的指定视图或文件夹。
NIFOpenCollection:取得指定视图或文件夹的所有文档。
NIFUpdateCollection:更新指定视图或文件夹的所有文档。
NIFCloseCollection:关闭文档集。
NIFReadEntries:读取文档集的指定文档。
NSFNoteOpen:打开指定文档。
NSFItemGetText:取得文档的指定字段值。
程序流程:
数据库中有张类型为IDTable的未读文档列表,其中包含了该数据库的带有未读标志的文档号。这张表存储在数据库中和客户机的Desktop.dsk文件中。当然,在数据库和文件中的这张表是一样的。当他们不一致时,则在你打开数据库时,它们会自动同步,使他们保持一样。
我们就是要取得这张未读文档表,再统计一下这张表中有多少项,就知道了数据库中多少文档带有未读标志。我们还可以在此基础上取得该文档的一些具体信息。但这张表是整个数据库的未读文档列表,我们怎么得到某个视图或文件夹的未读文档数和信息呢?实际上,这才是我们真正关心的。我们可以再找到某个视图和文件夹的文档列表,再与上面的未读文档列表进行一一比较,相同的则是该视图或文件夹的未读文档列表。
主要程序如下:
//////////////////////////////////////////////////////
// InitNotes:初始化Notes环境,打开数据库
// szServerName:服务器名
// szDBName:数据库名
// szDirectory:Notes系统目录
// 返回值:1 - 成功
// 0 - 失败
int CNotes::InitNotes(char *szServerName,char *szDBName,char *szDirectory)
{
STATUS status;
char szPathName[MAX_PATH];
char szpInitPara[1][260];
// 数据库路径名=服务器名+“!!”+数据库名
if (strlen(szServerName)==0)
strcpy(szPathName,szDBName);
else {
strc
您可能关注的文档
- HTML规则.ppt
- HTML语言..ppt
- HTML语言个人学习简记.doc
- HTML语言标记.doc
- HTML语言知识.doc
- HTML超文本标记语言.doc
- IC卡密码配置说明.doc
- IDC项目是指什么.doc
- ID联网一体机产品介绍.doc
- IE设置及office控件安装.doc
- 2025年母婴护理行业技术创新与发展趋势研究报告.docx
- 数字孪生赋能下的2025年新材料研发制造路径分析报告.docx
- 2025年电力行业碳中和技术创新与产业布局研究报告.docx
- 2025年房地产企业多元化发展战略规划与区域协同效应评估报告.docx
- 共享自习室2025年会员分级服务人力资源配置策略案例分析.docx
- 共享自习室2025年会员分级服务产品创新报告.docx
- 共享自习室2025年会员分级服务会员互动体验优化.docx
- 2025年直播电商虚拟场景搭建在环保行业的应用案例研究.docx
- 共享自习室2025年会员分级服务个性化推荐系统设计报告.docx
- 共享自习室2025年个性化空间布局与用户付费意愿关系探讨.docx
最近下载
- VEICHI伟创 AC310系列变频调速器使用手册2021.06.pdf VIP
- 隧道施工课件.ppt VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-下(判断题汇总).docx VIP
- DB 6108T 53-2023 煤基固废调理剂修复沙化土地技术规范.docx VIP
- DB6108_T 52-2023 煤基固废调理剂修复盐碱地技术规范.docx VIP
- 行政人事部年终工作总结.pdf VIP
- 行政人事部年终工作总结.pptx VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛备赛试题库-中(多选题汇总).docx VIP
- 化工厂物资明细表.xls VIP
- 第五届国家级新区经开区高新区班组长管理技能大赛试题库(浓缩500题).docx VIP
文档评论(0)