anchor.diff:  procedure TMainForm.ProcessCommandLineParams;
   var
     showtopic: boolean;
  +  t: TTopic;
   begin
     if ParamCount > 0 then
     begin
       if gCommandLineParams.IsParam('h') then
       begin
         ShowParamHelp;
  -      Exit;
  +      Exit; //==>
       end
       else if gCommandLineParams.IsParam('debuglog') then
         // do nothing
       else
       begin
  -      showtopic := not gCommandLineParams.IsParam('s');
  +//writeln('DEBUG:  TMainForm.ProcessCommandLineParams - Open file...');
  +      showtopic := not gCommandLineParams.IsParam('k');
         OpenFile(ParamStr(1), '', showtopic);
       end;
     end;
   
     // now process all other parameters
  -  if gCommandLineParams.IsParam('s') then
  -  begin
  -    edSearchText.Text := gCommandLineParams.GetParam('s');
  +  if gCommandLineParams.IsParam('k') then
  +  begin
  +//writeln('DEBUG:  TMainForm.ProcessCommandLineParams - Keyword Search string');
  +    { Search for a string }
  +    edSearchText.Text := gCommandLineParams.GetParam('k');
       PageControl1.ActivePage := tsSearch;
       btnSearch.Click;
  +  end
  +  else if gCommandLineParams.IsParam('n') then
  +  begin
  +    { Display topic with numeric topic id }
  +//writeln('DEBUG:  TMainForm.ProcessCommandLineParams - Display numeric topic id');
  +    t := FindTopicByResourceID(StrToInt(gCommandLineParams.GetParam('n')));
  +//if not Assigned(t) then
  +//  writeln(Format('Failed to find topic <%s>', [gCommandLineParams.GetParam('n')]));
  +    DisplayTopic(t);
  +  end
  +  else if gCommandLineParams.IsParam('s') then
  +  begin
  +//writeln('DEBUG:  TMainForm.ProcessCommandLineParams - display string topic id');
  +    { Display topic with string topic id }
  +    t := FindTopicByName(gCommandLineParams.GetParam('s'));
  +//if not Assigned(t) then
  +//  writeln(Format('Failed to find topic <%s>', [gCommandLineParams.GetParam('k')]));
  +    DisplayTopic(t);
     end;
   end;
   
  
positive.code:        + cVersion + le + le
         + 'Supported command line parameters:' + le + le
         + '<tt>'
         + '  <<filename>   Load the help file <<filename>' + le
         + '  -h           Show this help' + le
         + '  -s<<text>     Search for <<text> in open help files' + le
         + '  -t<<id>       Open Topic with ID equal to <<id>' + le
         + '  -debuglog <<filename> Log information to a file' + le
         + '</tt>'
         ;
  
negative.code:       Add('<b>Dictionary count:</b> ' + IntToStr(f.DictionaryCount));
        Add('<b>Topic count:</b> ' + IntToStr(f.TopicCount));
        Add('<b>Index count:</b> ' + IntToStr(f.Index.Count));
        Add('<b>String resource id count:</b> ' + IntToStr(f.StringResourceIDCount));
        Add('<b>Numeric resource id count:</b> ' + IntToStr(f.NumericResourceIDCount));
        Add(' ');
        //Add('Dictionary contents:');
        //for i := 0 to f.DictionaryCount-1 do
  