【IT168 技术文章】
同义名有什么用?
在表单,视图,关键字中可以用同义名,主要用途是当你想在程序中用英文,而在取名或显示给用户用中文时,你可以用同义气名,用 "|" 来分隔,注意:可以使用多个同义名, notes 会存取最右边的一个 .
* 如何做一个动态的 windows title?
在表单中的 windows title 的事件中写入一个公式,如想按用户的名字变,写上 @username 就 ok 了!要想按域变,写上域名就 ok.
* 怎样激活域帮助
在域属性的选项属性中的帮助描述写入帮助信息,就可以。当光标在该域时,状态栏会自动出现帮助描述,注意如果没有看到,在操作栏上请选 查看 --- 域帮助
* 怎样做到关键字能自动增、减?
在关键字属性中,选用公式,然后输入公式,公式用 @dbcolumn 函数返回视图中的值,这时就能做到关键字能自动增、减,不过有没有用的关键字。
* 如何让用户必须填一些域,否则不准保存?
@ 假设该域为 name; 在该 Name 域的 input validation 的事件中写入下列公式 :@if(name="" ; @failure("please input your name");@success)
* 怎样将一个数据库做成模板?
有多种方法,这里介绍一种,在工作台选中一个要做模板的数据库,然后选择文件 --- 数据库 --- 新建拷贝,在弹出的对话框中将 .nsf 改为 .ntf 就 ok 了。
* 怎样做到当光标从一个域移到另一个域,表单自动刷新?
在该域所在的表单中选择表单属性中的缺省选项中 " 自动刷新域。
* 怎样让用户保存文档时,域中的数值自动转化你想要的标准格式?
假设该域为 name; 想把它转化为大写,在该 Name 域的 input translation 的事件中写入下列公式: @UpperCase(State) ,就可以具体的字符串的操作公式,请看本页的字符串操作。
* 怎样在表单中控制某一个域让谁编辑?
你可以把该域放到存取控制区段里,指定该区段的编辑者就只有该编辑者才能修改改域了。
* 怎样控制区域布局中域,当使用 tab 时,光标的移动顺序?
假设在区域布局中有 a,b,c 三个域,我想要它们光标移动的顺序为 a,c,b. 可以这样做,选中 a 域,选设计 ---- 置前,选中 c 域,选设计 ---- 置前,选中 b 域,选设计 ---- 置前 .
* 在视图中怎样做出主文档,答复文档,答复的答复层层缩进的效果?
在视图属性中选 " 缩进一个层次显示答复文档 " 只代表文档有答复折叠的层次,但不能在视图中显示出来,为了做到层层缩进,我们必须另外开发,在视图中的前面做一列,选定列属性 " 仅显示答复文档 " ,然后在该列的公式中写上如果是答复文档的话,该列显示什么,如果是答复的答复文档显示什么,就可以了然后调整各列的宽度就可以看到有缩进的效果。
* 作者域、读者域介绍
作者域是一个域类型为作者类型的域,它是用来控制文档的作者的。作者域不能控制到 ACL 编辑者以上的权限,拥有编辑者或编辑者以上权限的,不管该文档中的作者域是否有它。作者域只能控制作者或作者以下的权限。你只须将名字,角色,群组放到作者域的公式中就可以了。
读者域是一个域类型为读者类型的域,它是用来控制文档的读者的。读者域能控制到 ACL 的任何权限,即使它是管理者。也就是说,只要读者域里没有他,即使他是管理者也不能看到该文档。编程方法同作者域。
* 怎样定义一个域的宽度?
在普通表单中,没有办法控制域的宽度 ( 在 notes 上 ); 但在区域布局中你可以随意拖动域的宽度。所以你要控制域宽度,你可以把它放到区域布局中。
* 怎样激活表单继承属性
在 form1 表单的属性中的缺省选项中选择继承整个文档到 RTF 域,并选择继承到哪个域。然后回到视图中选定用 form2 创建的文档创建文档(用 form1 表单 ) 。你就可以看到用 form1 表单创建的文档中的 RTF 域中继承了 form2 创建的文档创建文档,它可以文档链接,也可以是整个文档,这个选择表单属性就可以了。
* 怎样判断某一天所在周的最后一天
@If(tdate != ""; @Adjust(tdate; 0; 0; @Modulo(8 - @Weekday(tdate); 7); 0; 0; 0); tdate)
* 怎样计算两个日期域间有几周?
diffDays := (EndDate - StartDate) / 86400 + 1;
strtDay := @Modulo(@Weekday(StartDate); 7);
endDay := @Modulo(@Weekday(EndDate); 7);
result := (diffDays - endDay + strtDay - 8) * 5 / 7 - @Max(-2; -strtDay) - @Min(1; endDay) + 5 - strtDay + endDay
* 怎样在公式里用 Dos 命令
@Command([Execute]; "C:\\COMMAND.COM"; "/C DEL C:\\TEST.TXT")
* 怎样截取 @dblookup 的错误信息
TempVar := @DbLookup();
@If(@IsError(TempVar); 'perform desired error response'; 'perform desired action on TempVar')
* 怎样做到当文档有答复时,用邮件通知该文档的作者
1. 在主文档,答复文档,答复的答复文档创建一个域: form, 缺省值: @Name([CN];@Usernam
2. 在答复表单创建一个域: parentform, 缺省值 ( 用继承 )form
3. 在答复的答复表单,创建一个域 :"parentform" 缺省值 ( 用继承 )
ParentFrom:from
4. 在答复和答复的答复表单增加一个隐藏,显示时计算的 "announce" 域,公式是: @If(@IsDocBeingSaved;@Success;@Return(0));
List := @Trim(@Replace(ParentFrom;From;""));
@If(@Elements(List) > 0; @Success;@Return(0));
SendList := @Prompt([OKCANCELLIST]; "Mail Notify?"; "Send mail notification about your reply to ";"";List);
@If(@Elements(SendList) > 0; @Success;@Return(0));
@MailSend(SendList; ""; ""; "Ref:" + OriginalSubject; ""; "My reply: "; [IncludeDoclink])
* 怎样在 notes.ini 里将环境变量删除
ENVIRONMENT environmental variable := ""; 或者 @SetEnvironment("environmental variable";"").
* 在答复文档里如何修改主文档的值
@SetDocField($Ref;"Field on Parent Doc";"value")
* 怎样得到一个群组里有哪些成员
@Name([CN];@DbLookup("";@Subset(@MailDbName;1) : "Names.nsf";"Groups";"YourGroupName"; "Members"))