MarcQuery 脚本使用方法 - DigitalPlatform/dp2 GitHub Wiki
MarcQuery 脚本使用方法
如何执行一个现成的脚本
在 dp2Catalog(编目) 中
- 打开 dp2 检索窗,检索出一批需要用脚本进行处理的书目记录,或者装入一批需要处理的书目记录;
- 在(dp2 检索窗)浏览列表中用右鼠标键弹出上下文菜单,“全选”这些记录;
- 再次弹出上下文菜单,用菜单命令“批处理/执行 MarcQuery 脚本”,来执行上述 MarcQuery 脚本程序。会让您选择一个扩展名为 .cs 的文件,那么就可以选择想执行的那个脚本文件即可。
- 脚本文件执行过程中,根据脚本功能不同,有可能会修改了您所选择的书目记录,也有可能会在浏览列表中改变一些行的背景色表示选定了这些记录。脚本执行完以后,根据具体功能需要可能还要进行一些后续操作。
在 dp2Circulation(内务) 中
- 打开 书目查询窗,检索一批需要用脚本进行处理的书目记录装入窗口;
- 在(书目查询窗)浏览列表中用右鼠标键弹出上下文菜单,“全选”这些记录;
- 再次弹出上下文菜单,用菜单命令“批处理/执行 MarcQuery 脚本”,来执行上述 MarcQuery 脚本程序。会让您选择一个扩展名为 .cs 的文件,那么就可以选择想执行的那个脚本文件即可。
- 脚本文件执行过程中,根据脚本功能不同,有可能会修改了您所选择的书目记录,也有可能会在浏览列表中改变一些行的背景色表示选定了这些记录。脚本执行完以后,根据具体功能需要可能还要进行一些后续操作。
注:内务和编目所用的 .cs 脚本文件,其中有些 using 语句会略有不同。其他大部分代码都是相似的。
MarcQuery 脚本案例
筛选出含有汉字的书目记录
(dp2Catalog 适用)
using System;
using System.Collections;
using System.Collections.Generic;
using System.Windows.Forms;
using System.IO;
using System.Text;
using System.Xml;
using dp2Catalog;
using DigitalPlatform.Marc;
using DigitalPlatform.Xml;
using DigitalPlatform.Script;
using DigitalPlatform.Text;
public class MyMarcQueryHost : MarcQueryHost
{
public override void OnRecord(object sender, StatisEventArgs e)
{
ListViewItem item = (ListViewItem) this.UiItem;
if (StringUtil.ContainHanzi(this.MarcRecord.Text))
item.Selected = true;
else
item.Selected = false;
}
}