概要
前節では、秀丸の機能を使って外部ファイルのエンコードを判定しましました。
該当のソースでは、.NET Frameworkのクラスを利用して、テキストを読み込んでいますが、
hm.NET では、秀丸から提供されている関数を利用したメソッドも提供しています。
このように、あくまでも「あなたの秀丸エディタの設定」と一致したテキスト読み込み結果が欲しい場合に、このメソッドを利用します。
秀丸でファイルのエンコードを判断し(この時、秀丸に設定されている内容に依存する)、
その判断結果に基づいて、ファイルのテキスト内容を取得する。
マクロ中でもマクロ中以外でも、常時取得することが出来ます。
Hm.File.IHidemaruStreamReader Hm.File.Open( String filepath, [int hm_encode] )
-
C#側のソース
-
using節
using節にも対応しているため、ファイル読み込みの部分は以下のような形にしてもよいでしょう。
-
ファイルコードの指定
秀丸の自動エンコード判定では、失敗する時、あるいは、事前にエンコードが決め打たれている場合には、
エンコードを指定することが出来ます。
とはいえ、エンコードが事前に分かっているのであれば、普通に .NET Frameworkのファイル読み込み系のクラスメソッドを利用したほうが良いでしょう。
-
秀丸マクロ側のソース
前章の「HmNETTest.mac」と同一です。
対象のパスにファイルを置いたり、ファイル名を変更したり、ファイルのエンコードを変更するなどして、
いろいろと挙動を確認してみましょう。