LOTUS-API,开创实现新思路,极力推荐:)

LOTUS-API,开创实现新思路,极力推荐:)
1、Lotus Domino/Notes Toolkits
Toolkits列表:
按Lotus产品系列来分,Lotus提供下列产品的工具包:
Notes/Domino 、Sametime 、QuickPlace 、Discovery Server 、Other
其中,Notes/Domino和Sametime的工具包比较多,C、C++、Java语言的都有,其他产品的则很少。从这个角度,也可以看出文档数据处理、协
同工作是Lotus系列产品的核心价值所在。其中,Notes/Domino的工具包有:
Lotus C API toolkit
Lotus C++ API toolkit
Lotus Domino Toolkit for Java/CORBA
Lotus and Notes Toolkit for COM
Lotus Domino Driver for JDBC (简称LDDJ)
NotesSQL
Lotus XML Toolkit(简称DXL)
Custom Tag Converion kit(简称DCT)
LotusScript Extensions toolkit(简称LSX)
在Domino/Notes的Toolkit中,C API的功能最为强大:
可以操纵notes数据库中几乎所有的数据对象
数据库及ACL、文档和域、表单、视图和文件夹、代理 可以为Notes客户端的增加附加菜单、可以用来创建附加的Domino服务任务、可以用来扩
展Domino/Notes的事件管理
主要限制:
不能修改已有的Domino/Notes软件,不能去除其已有的功能、特性,或者改变其工作机理、不能修改安全特性、不能修改用户活动记录
支持的操作系统: WindowsNT/2000, Linux, Solaris SPARC/Intel, HP-UX, MacOS, AIX, AS/400, S/390等。


API 学习 (一)
(来自chinalotus__回归chinalotus)
1.API简介     
API是指有文件DLL提供的可以调用外部函数,WinAPI是指Windows 98自带的DLL文件中的函数。您可以自己利用VB,VC等工具开发设计DLL文件
,然后在Notes中调用
使用API时,需要在(Declarations)中说明函数;然后就可以在程序中像使用内部函数一样使用了。
2.AddFontResource
2.1声明
Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" (ByVal lpFileName As String) As Long
2.2说明
在Windows系统中添加一种字体资源。添加完毕后,该字体即可由任何Windows应用程序调用
2.3返回值
Long,添加的字体数量,零表示失败。会设置GetLastError
2.4参数表
参数 类型及说明
lpFileName String,字体资源文件的文件名。可以是.FON, .FNT, .TTF 或 .FOT文件
2.5注解
添加了一种资源后必须调用下述API函数:
di% = SendMessageBynum(HWND_BROADCAST, WM_FONTCHANGE, x, y)
其中,HWND_BROADCAST、WM_FONTCHANGE使用来自API32.TXT文件的值。这样便可告诉所有Windows应用程序字体列表已发生了变化
2.6示例
REM 定义函数
Declare Function AddFontResource Lib "gdi32" Alias "AddFontResourceA" (Byval lpFileName As String) As Long
Declare Function SendMessage& Lib "user32" Alias "SendMessageA" (Byval hwnd As Long, Byval wMsg As Long, Byval wParam As
Long, lParam As Any)
Sub Click(Source As Button)
xx = "d:/Gchw00u.ttf"
y = AddFontResource(xx)     '返回数字1,表示添加1种字体
Call SendMessage(HWND_BROADCAST, WM_FONTCHANGE, 0, 0)   '可以使用此字体
End Sub
3 AnyPopup
3.1声明
Declare Function AnyPopup Lib "user32" Alias "AnyPopup" () As Long
3.2说明
判断屏幕上是否存在任何弹出式窗口
3.3返回值
Long,如存在弹出式窗口,则返回TRUE(非零)
3.4注解
对该函数来说,弹出式菜单包含所有可见的包容顶级窗口,无论弹出式还是重叠窗口
3.5示例
Declare Function AnyPopup Lib "user32" Alias "AnyPopup" () As Long
Sub Click(Source As Button)
x = AnyPopup()
'如果返回0,表示没有弹出窗口;如果返回1,表示存在弹出窗口
'弹出窗口:在屏幕上弹出的窗口,如打开文件窗口,字体属性窗口,以及其他信息对话框等。
End Sub

4 CharLower
4.1声明
Declare Function CharLower Lib "user32" Alias "CharLowerA" (ByVal lpsz As String) As String
4.2说明
将一个字串转换成小写形式
4.3返回值
String,字符串的小写形式。
4.4参数表
参数 类型及说明
lpsz String,指定要转换成小写形式的字串。
4.5示例
Sub Click(Source As Button)
xx = "aabbccddAABBCCDD"
yy = CharLower(xx)
'运行结果为,xx,yy均为"aabbccddaabbccdd"
End Sub
5 CharLowerBuff
5.1声明
Declare Function CharLowerBuff Lib "user32" Alias "CharLowerBuffA" (ByVal lpsz As String, ByVal cchLength As Long) As Long
5.2说明
将一个字串转换成小写形式——以当前的“地方”设置或语言驱动程序为基础。这个函数能转换指定的字符数,并忽略缓冲区中的任何NULL字

5.3返回值
Long,已转换的字符数量
5.4参数表
参数 类型及说明
lpsz String,指定一个字串或一个内存块的指针,要把其中的内容转换成小写形式
cchLength Long,要转换的字符数量
5.5示例
Sub Click(Source As Button)
Dim xx As String
Dim yy As Long,zz As Long
xx = "aabbccddAABBCCDD"
yy = 12
zz = CharLowerBuff(xx,yy)
'运行结果:xx="aabbccddaabbCCDD",zz=12
'如果zz = 0 ,表示运行错误,因为其直接修改变量值,所以此函数需要预先定义变量。
End Sub

6 CharNext
6.1声明
Declare Function CharNext Lib "user32" Alias "CharNextA" (ByVal lpsz As String) As String
6.2说明
此函数是在VB中使用,返回内存中下一个字符,在Notes中没有意义,但不会出错。
6.3示例
Sub Click(Source As Button)
Dim xx As String
Dim yy As String
xx = "aabbccddAABBCCDD"
yy = CharNext(xx)
'xx,yy均返回为"aabbccddAABBCCDD"
End Sub

7 CharPrev
7.1声明
Declare Function CharPrev Lib "user32" Alias "CharPrevA" (ByVal lpszStart As String, ByVal lpszCurrent As String) As String
7.2说明
与CharNext类似,只是这个函数接收的是一个DBCS字串中前一个字符的位置
在Notes里使用
参考CharNext函数

8 CharToOem, CharToOemBuff
8.1声明
Declare Function CharToOem& Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String)
Declare Function CharToOemBuff& Lib "user32" Alias "CharToOemBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal
cchDstLength As Long)
8.2说明
将一个字串从ANSI字符集转换到OEM字符集。CharToOemBuff允许我们指定字串中需转换的字符数量
8.3返回值
Long,肯定是TRUE
8.4参数表
参数 类型及说明
lpszSrc String,欲转换的字串
lpszDst String,用于包含转换结果的OEM字串。注意事先将字串初始化成合适的长度。可将相同的字串传递给这两个参数,执行本地转换(即
在同一个字串中转换)
cchDstLength Long,在字串lpszSrc中想转换的字符数量
8.5示例
在Notes中没有无效,但不会显示错误

9 CharToOem, CharToOemBuff
9.1声明
Declare Function CharToOem& Lib "user32" Alias "CharToOemA" (ByVal lpszSrc As String, ByVal lpszDst As String)
Declare Function CharToOemBuff& Lib "user32" Alias "CharToOemBuffA" (ByVal lpszSrc As String, ByVal lpszDst As String, ByVal
cchDstLength As Long)
9.2说明
将一个字串从ANSI字符集转换到OEM字符集。CharToOemBuff允许我们指定字串中需转换的字符数量
9.3返回值
Long,肯定是TRUE
9.4参数表
参数 类型及说明
lpszSrc String,欲转换的字串
lpszDst String,用于包含转换结果的OEM字串。注意事先将字串初始化成合适的长度。可将相同的字串传递给这两个参数,执行本地转换(即
在同一个字串中转换)
cchDstLength Long,在字串lpszSrc中想转换的字符数量
9.5示例
在Notes中没有无效,但不会显示错误

10 CharUpper
10.1声明
Declare Function CharUpper Lib "user32" Alias "CharUpperA" (ByVal lpsz As String) As String
10.2说明
将一个字串转换成大写形式
10.3返回值
Long,如转换的是一个字串,那么返回值没有任何意义。如转换的是单个字符,则返回值是变成大写的字符
10.4参数表
参数 类型及说明
lpsz String,指定要转换成大写形式的字串。字串是在当地转换的。如创建一个别名,并采用Long参数,则lpsz的低16位就可以是要转换成大
写形式的单个字符(高16位此时必须为0)。在这种情况下,函数的返回值是大写字符的值
10.5示例
Sub Click(Source As Button)
Dim xx As String
Dim yy As String
xx = "abc"
yy = CharUpper(xx)
'运行结果:xx = "ABC",yy = "ABC"
End Sub
[ 本贴由 liaowuyin 于 2002-12-26 13:01 最后编辑 ]
API 学习 (二)
11 CharUpperBuff
11.1声明
Declare Function CharUpperBuff Lib "user32" Alias "CharUpperBuffA" (ByVal lpsz As String, ByVal cchLength As Long) As Long
11.2说明
将一个字串转换成大写形式
11.3返回值
Long,已转换的字符数量
11.4参数表
参数 类型及说明
lpsz String,指定一个字串或一个内存块的指针,要把其中的内容转换成大写形式
cchLength Long,要转换的字符数量
11.5示例
Sub Click(Source As Button)
Dim xx As String
Dim yy As Long
Dim zz As Long
xx = "abc"
zz = 2
yy = CharUpperBuff(xx,zz)
'运行结果:xx = "ABc",yy = 2
End Sub
12 ClipCursor, ClipCursorBynum
12.1声明
Declare Function ClipCursor& Lib "user32" (lpRect As RECT)
Declare Function ClipCursorBynum& Lib "user32" Alias "ClipCursor" (ByVal lpRect As Long)
12.2说明
将指针限制到指定区域。ClipCursorBynum是一个别名,允许我们清除以前设置的指针剪切区域
12.3返回值
Long,非零表示成功,零表示失败。
12.4参数表
参数 类型及说明
lpRect RECT,指定一个矩形,用像素屏幕坐标系统表示。鼠标指针必须在这个区域内运动。如使用函数的ClipCursorBynum形式,则可将参数
设为Long值,用它传递一个0,禁止指针剪切,恢复常规运作状态
注解
指针剪切后,按Ctrl+Alt+Del可简单的清除剪切区域
12.5示例
Type RECT
   Left As Long
   Top As Long
   Right As Long
   Bottom As Long
End Type
Declare Function ClipCursor& Lib "user32" (lpRect As RECT)
Sub Click(Source As Button)
Dim xx As Rect
xx.left = 100
xx.Top = 200
xx.Right = 300
xx.Bottom = 400
yy = ClipCursor(xx)
End Sub
13 ClipCursor, ClipCursorBynum
13.1声明
Declare Function ClipCursor& Lib "user32" (lpRect As RECT)
Declare Function ClipCursorBynum& Lib "user32" Alias "ClipCursor" (ByVal lpRect As Long)
13.2说明
将指针限制到指定区域。ClipCursorBynum是一个别名,允许我们清除以前设置的指针剪切区域
13.3返回值
Long,非零表示成功,零表示失败。
13.4参数表
参数 类型及说明
lpRect RECT,指定一个矩形,用像素屏幕坐标系统表示。鼠标指针必须在这个区域内运动。如使用函数的ClipCursorBynum形式,则可将参数
设为Long值,用它传递一个0,禁止指针剪切,恢复常规运作状态
13.5注解
指针剪切后,按Ctrl+Alt+Del可简单的清除剪切区域
13.6 示例
Type RECT
   Left As Long
   Top As Long
   Right As Long
   Bottom As Long
End Type
Declare Function ClipCursor& Lib "user32" (lpRect As RECT)
Sub Click(Source As Button)
Dim xx As Rect
xx.left = 100
xx.Top = 200
xx.Right = 300
xx.Bottom = 400
yy = ClipCursor(xx)
End Sub
14 CloseWindow
14.1声明
Declare Function CloseWindow Lib "user32" Alias "CloseWindow" (ByVal hwnd As Long) As Long
14.2说明
最小化指定的窗口。窗口不会从内存中清除
14.3返回值
Long,非零表示成功,零表示失败。会设置GetLastError
14.4参数表
参数 类型及说明
hwnd Long,欲最小化的那个窗口的句柄
14.5示例
Declare Function GetActiveWindow Lib "user32" Alias "GetActiveWindow" () As Long
Declare Function CloseWindow Lib "user32" Alias "CloseWindow" (Byval hwnd As Long) As Long
Sub Click(Source As Button)
xx = GetActiveWindow()  '获得当前活动窗口
yy = CloseWindow(xx)    '最小化窗口
End Sub
15 CompareFileTime
15.1声明
Declare Function CompareFileTime Lib "kernel32" Alias "CompareFileTime" (lpFileTime1 As FILETIME, lpFileTime2 As FILETIME) As
Long
15.2说明
根据FILETIME结构的信息,对比两个文件的时间
15.3返回值
Long,如两个时间相等,就返回零;如lpFileTime1小于lpFileTime2,返回-1;如lpFileTime2小于lpFileTime1,返回1
15.4参数表
参数 类型及说明
lpFileTime1 FILETIME,参考FILETIME
lpFileTime2
15.5示例
Type FILETIME ' 8 Bytes
  dwLowDateTime As Long
  dwHighDateTime As Long
End Type
Declare Function CompareFileTime Lib "kernel32" Alias "CompareFileTime" (lpFileTime1 As FILETIME, lpFileTime2 As FILETIME) As
Long
Sub Click(Source As Button)
Dim xx As FILETIME
Dim yy As FILETIME
xx.dwLowDateTime = 100
xx.dwHighDateTime = 100
yy.dwLowDateTime = 200
yy.dwHighDateTime = 200
zz = CompareFileTime(yy,xx)  '返回1
zz = CompareFileTime(xx,yy)  '返回-1
End Sub

16 CopyFile
16.1声明
Declare Function CopyFile Lib "kernel32" Alias "CopyFileA" (ByVal lpExistingFileName As String, ByVal lpNewFileName As
String, ByVal bFailIfExists As Long) As Long
16.2说明
复制文件。
16.3返回值
Long,非零表示成功,零表示失败。
16.4参数表
参数 类型及说明
lpExistingFileName String,源文件名
lpNewFileName String,目标文件名
bFailIfExists Long,如果设为TRUE(非零),那么一旦目标文件已经存在,则函数调用会失败。否则目标文件被改写
16.5示例
Sub Click(Source As Button)
Dim xx As String
Dim yy As String
Dim zz As Long
xx = "d:/1.htm"
yy = "d:/2.txt"
zz = 1
xyz = CopyFile(xx,yy,zz)
'将d:/1.htm拷贝为d:2.txt,如果zz= 0,则覆盖重名文件,否则不覆盖。
 
 
  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值