Skip to content

MarcQuery 脚本使用方法

谢涛 edited this page Jul 13, 2018 · 5 revisions

MarcQuery 脚本使用方法

如何执行一个现成的脚本

在 dp2Catalog(编目) 中

  1. 打开 dp2 检索窗,检索出一批需要用脚本进行处理的书目记录,或者装入一批需要处理的书目记录;
  2. 在(dp2 检索窗)浏览列表中用右鼠标键弹出上下文菜单,“全选”这些记录;
  3. 再次弹出上下文菜单,用菜单命令“批处理/执行 MarcQuery 脚本”,来执行上述 MarcQuery 脚本程序。会让您选择一个扩展名为 .cs 的文件,那么就可以选择想执行的那个脚本文件即可。
  4. 脚本文件执行过程中,根据脚本功能不同,有可能会修改了您所选择的书目记录,也有可能会在浏览列表中改变一些行的背景色表示选定了这些记录。脚本执行完以后,根据具体功能需要可能还要进行一些后续操作。

在 dp2Circulation(内务) 中

  1. 打开 书目查询窗,检索一批需要用脚本进行处理的书目记录装入窗口;
  2. 在(书目查询窗)浏览列表中用右鼠标键弹出上下文菜单,“全选”这些记录;
  3. 再次弹出上下文菜单,用菜单命令“批处理/执行 MarcQuery 脚本”,来执行上述 MarcQuery 脚本程序。会让您选择一个扩展名为 .cs 的文件,那么就可以选择想执行的那个脚本文件即可。
  4. 脚本文件执行过程中,根据脚本功能不同,有可能会修改了您所选择的书目记录,也有可能会在浏览列表中改变一些行的背景色表示选定了这些记录。脚本执行完以后,根据具体功能需要可能还要进行一些后续操作。

注:内务和编目所用的 .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;
	}
}
Clone this wiki locally