喫茶XRAYトップページ

[スレッド全体
]

[12675] HLPヘルプからCHMヘルプへ変換返信 削除
2019/4/1 (月) 16:03:32 Mr.XRAY
HTML Help Workshop なんですが,[印刷] や [オプション] 等のボタン類の設定が
できませんでした.
HHP ファイルに [WINDOWS] セッションを追加すれば可能であることが分かりました.
で,追加しました.

http://mrxray.on.coocan.jp/Delphi/Others/Win32HLP2ChmHLP.htm#fig37

この [WINDOWS] セッション は

  Wnd1=値1, 値2, 値3, 値4, 値5,,,,

という構造になっています (文字列のパラメータは " で括る).
たまに見かける設定の記述です.
以下のように,ちょっとしたノウハウがあります.参考までに.
CSV 関係の質問,検索ヒットは結構あるので.

    LTextList := TStringList.Create;
    try
      // カンマ区切の文字列を必要な分だけ作成してしまう
      LItemCnt := 20;
      LTextList.CommaText := DupeString(',', LItemCnt - 1);

      // 必要なパラメータだけ設定していく
      LTextList[0]  := AnsiQuotedStr(LHelpTitle, '"');
      LTextList[1]  := AnsiQuotedStr(LFileName + '.hhc', '"');
      LTextList[2]  := AnsiQuotedStr(LFileName + '.hhk', '"');
      LTextList[3]  := AnsiQuotedStr('', '"');
      LTextList[9]  := '0x60720';
      LTextList[10] := '200';
      LTextList[11] := '0xE';
      LTextList[12] := '[200,200,800,600]';
      LTextList[13] := '0x0';
      LTextList[14] := '0x0';
      LTextList[LTextList.Count - 1] := '0';

      // 最初のパラメータの値を代入してからループするのがミソ
      LWinText := LTextList[0];
      for LIndex := 1 to LTextList.Count - 1 do begin
        LWinText := LWinText  + ',' + LTextList[LIndex];
      end;
 
      // LWinText ではなく LTextList.CommaText を書き込むと
      // 余分な " (ダブルクォーテーション) が付加されてしまう
      // もしかしたら方法があるかも知れないけど・・・
      LIniFile.WriteString('WINDOWS', 'WND1', LWinText);
    finally
      FreeAndNil(LTextList);
    end;
 
何だか知らないけれど,
面白いように CHM ヘルプに変換できます.ハマりました (笑)


[12684] 大幅に更新返信 削除
2019/4/8 (月) 20:39:03 Mr.XRAY
少し前におかぽんさんが「見えないところに云々」ということを書いていました.
じゃあ,やってみるか,というこでやってみました.
完全に見えないようにすることはできませんでしたが,HLP ファイルを指定するだけで
処理できるので我慢していただくことにします.

[ 05_HLP ファイルを指定して処理を実行 ]
http://mrxray.on.coocan.jp/Delphi/Others/Win32HLP2ChmHLP.htm#05




[▼次のスレッド]
INCM/CMT
Cyclamen v3.82