使用HelpNDoc API重新编号主题上下文ID值

时间:2018-06-09 11:40:42

标签: helpndoc

我发现这个tutorial用于将上下文帮助ID值导出到数据文件中:

const
  // Define the output file
  OUTPUT_FILE = 'c:\tmp\topics.txt';

var
  // Current topic ID
  aTopicId: string;
  // List of output
  aList: TStringList;

begin
  // Init list
  aList := TStringList.Create;
  aList.Add('Topic Caption | Help ID | Help Context');
  aList.Add('--------------------------------------');
  try
    // Get first topic
    aTopicId := HndTopics.GetTopicFirst();
    // Loop through all topics
    while aTopicId <> '' do
    begin
      // Add the topic to the list
      aList.Add(Format('%s | %s | %d', [
        HndTopics.GetTopicCaption(aTopicId),
        HndTopics.GetTopicHelpId(aTopicId),
        HndTopics.GetTopicHelpContext(aTopicId)
      ]));
      // Get next topic
      aTopicId := HndTopics.GetTopicNext(aTopicId);
    end;
    // Create the file
    aList.SaveToFile(OUTPUT_FILE);
  finally
    aList.Free;
  end;
end.

我已经对我修改过的帮助文档做了一些重组,因此上下文数字不是连续的:

Contents

使用HelpNDoc我希望编写一个新的API脚本来重新编号,但我看不到合适的API method

这不可能吗?

1 个答案:

答案 0 :(得分:1)

使用HelpNDoc API,您可以使用HndTopics.SetTopicHelpContext方法调用更改主题的帮助上下文编号。使用简单的逻辑,可以重置所有帮助上下文编号。以下文章对此进行了描述:Using HelpNDoc scripting capabilities to automatically reset all help context numbers

本文中展示的脚本甚至包含在最近的HelpNDoc安装文件夹中:

  

随着HelpNDoc项目的发展,上下文数字会变得混乱。此脚本将重置每个主题的上下文编号,以便从第一个主题到最后一个主题逐步设置它们。

以下是运行该脚本的方法:

  • 保存项目备份,以备需要返回
  • 加载项目
  • 来自HelpNDoc&#34;工具&#34;功能区选项卡,单击&#34;脚本编辑器&#34;
  • 点击&#34;加载脚本&#34;旁边的箭头;显示内置脚本列表
  • 点击&#34; ResetHelpContextNumbers.hnd.pas&#34;
  • 点击&#34;运行脚本&#34;