K
KoYamaさん (8o4hkr6m)2023/6/19 04:27 (No.63483)削除0070.IndexOpen拡張。
今初めて使う呼び名ですが、「IndexOpen」機能が有ります。これは、「Ed.exe」を起動する時の、「/Open_n,m,o,p,,,, 対象とするフル・パス」という起動オプションで、対象とするフル・パスから、指定したIndex「n,m,o,p,,,,」に該当するフル・パスを取出し、一気に開く機能の事です。
つまり、「Ed.exe」の起動引数を、沢山スペース区切りで指定すると、コマンドラインが、とても長ったらしくなり、色々不都合が出て来るので、これを、1つの別のパスにまとめて、そのうちの、開く対象のパスを、Indexで、沢山示せる、機能です。
で、最初はこの「対象とするフル・パス」が、「パス・リンク・Text」だけだったのですが、いつしか拡張して、これをフォルダのフル・パスでも扱えるようにしてあり、いかにも使えそうだったのですが、何故か、あまり、使っていなかったので、ここに来て、その原因がはっきり解り、しっかり使えるようにしました。
説明が込み入って来るので、内部コードもまじえて説明しますが、このフォルダ対応が、実は「CEdCommon::ListUpFiles」という関数で、対応しており、これが、そのフォルダ直下のファイルやディレクトリを、リスト・アップして、「CPtrList」クラスにして返却する関数で、そのオプション・コードが、「0:ファイルだけソート無し、1:Dirもソート無し、2:ファイルだけ昇順ソート付き、3:Dirも昇順ソート付き、4:ファイルだけ降順ソート付き、5:Dirも降順ソート付き、6:ファイルだけタイムスタンプ昇順ソート付き、7:Dirもタイムスタンプ昇順ソート付き、8:ファイルだけタイムスタンプ降順ソート付き、9:Dirもタイムスタンプ降
順ソート付き」だったのですが、これが指定していなかった(つまり、デフォルトの0だった)のです。これを、今度、「2」にしました。
それで、実は、「Edパス」が、普通にあるフォルダを特定して、その直下を一覧すると、これも実は、内部で「CEdCommon::ListUpFiles」で、オプション・コード「3」にしてありまして、それで、「IndexOpen」の、インデックスが指定し易くなった訳で、で、最近「研究発表」関連の全ファイルを、朝一バッチにて、WindowsXp版HPノートPC側から、Windows10版NecノートPC側へ、リリース更新するようにしていて、そうすると、「パスとメニュー.txt」の中身がドライブ[C]用から、ドライブ[E]用に、更新されてしまう不都合が有り、であればと、ショートカットを変更して、この
拡張された「IndexOpen」機能を使って、無事、スムースに更新出来るように、なりました。
当然「パスとメニュー.txt」は、もう廃止しました。