欢迎您来到 数字平台。 您尚未登录。[登录] [注册新用户]
当前位置: 论坛首页 / 栏目 产品与服务 / 文章 661

点击:1206

[顶层访客留言] [回复顶层(需要先登录)] [表状] [详细]
[回复留言] [回复(需要先登录)] [引用(需要先登录)]普通文章跟帖
文章id: 661
新的加拼音功能

作者: xietao


请启动dp2manager模块,打开编辑您关注的一个书目库的下属的dp2circulation_marc_autogen.cs脚本文件。

由于历史的原因,这个脚本文件中的MyHost类,可以从两个基类中派生。现在推荐用DetailHost类。以前那个类我就不讲了,虽然现在也兼容它。请检查您打开的脚本文件中的class定义语句。

*** 准备工作

在我写这篇文章以前,脚本代码中的MyHost类是凭借自己写出来加拼音的功能,而没有借助基类DetailHost的功能。为了体验最新的效果,您需要先删除里面的下列两个函数代码:

void AddPinyin()

{

...

}

int GetPinyinCfgLine( string strFieldName, out string strFrom, out string strTo)

{

...

}

要删除的代码比较长,我在这里就不全部列出了,上面省略号代表了没有列出的部分。

另外请删除MyHost类内前部变量定义部分的下述代码:

string [] cfgFields = new string {

...

};

*** 体验新的加拼音代码

在脚本文件中适当位置加入新的AddPinyin()函数,代码如下:

 void AddPinyin()
 {
  AddPinyin(this.PinyinCfgXml);
 }

然后在MyHost内前部变量定义部分增加下述代码: 

 string PinyinCfgXml = "<root>"
  + "<item name='200' from='a' to='9' />"
  + "<item name='701' indicator='@[^A].' from='a' to='9' />"
  + "<item name='711' from='a' to='9' />"
  + "<item name='702' indicator='@[^A].' from='a' to='9' />"
  + "<item name='712' from='a' to='9' />"
  + "</root>"; 

由于以前本来在Main()函数内就有AddPinyin()函数的入口,那么到此为止代码就修改好了,保存它。

启动dp2circulation,装入一条MARC记录到种册窗,在MARC编辑器中按下Ctrl+A,选择“加拼音”功能,就能体验到新的加拼音功能了。

这个加拼音功能感觉起来和以前的没有什么不同。当然,除了选择多音字的对话框发现了点外观变化 --- 这是最近的新修改,和二次开发脚本倒是无关。

后面我会逐步展开说明这段加拼音的代码的好处。



发表时间: 2011-08-11 15:50:42
最后修改时间: 2011-08-11 22:39:52



  • 普通文章 神奇的脚本 (一) xietao 2011-08-11 15:34:50[点击:39904]
  • 普通文章 运行条件 xietao 2011-08-11 15:40:24 (ID:660) [点击:1181]
  • 普通文章 新的加拼音功能 xietao 2011-08-11 15:50:42 (ID:661) [点击:1206]
  • 普通文章 删除全部拼音子字段的功能和代码 xietao 2011-08-11 16:14:26 (ID:662) [点击:1304]
  • 普通文章 老的代码实现不了老规则加拼音 xietao 2011-08-11 16:27:13 (ID:663) [点击:1300]
  • 普通文章 选择多音字的缓存 xietao 2011-08-11 16:44:19 (ID:664) [点击:1140]
  • 普通文章 批加拼音! xietao 2011-08-11 16:55:24 (ID:665) [点击:1259]
  • 普通文章 批删除拼音 xietao 2011-08-11 17:01:54 (ID:666) [点击:1315]
  •  

    在线用户
    (无) 
    当前栏目在线用户数 0, 总在线用户数 1