こんにちは。
新ブログ開設後、2つめの投稿です。
さて、題材の通りです。
めちゃ苦戦してます。
さて、先ず、Lazarusとは。
Delphiライクな、FreePascalの、
統合開発環境です。
そして、クロスコンパイラ対応。
Windows,Linux,MacOSXと、
様々な環境で動きます。
Delphiを1995年登場時の初代から、
こよなく愛する私としては、
Delphiライクな開発環境がフリーで使えるというのは、
非常に魅力です。
そして、上記の通り、色々な環境で動く。大きな魅力です。
で、本題。
環境は、MacOSX 10.9.2(Mavericks)
Lazarus 1.22
MacOSXは、基本UTF8対応ですが、
Windows環境で作成されたテキストファイルは、
SJIS(Ansi)というフォーマットなんですね。
で、これを読み込む処理を書きたいんですが、
書いたんですが・・・、動かない。
色々調べてみると、
まあ、色々問題があるらしく。
windows環境では、
UTF8⇆SJIS(Ansi)の変換は書けたんですが、
Mac版では、一筋縄では行かないらしく。
ちょっと、力技や、工夫が必要らしい、と。
Lazrus Wiki
http://wiki.freepascal.org/LCL_Unicode_Support/ja
を自分なりに熟読して、頑張ってはみたものの、
いかんせん、力量不足で、wikiに示された回避策を実装出来ず・・・。
で、回避策を。
色々調べたら、
Macのコンソールから、
ScriptでSJIS->UTF8に変換出来る方法があるらしい。
で、早速、コンソールを呼び出す為に、
外部プログラムを呼び出すサンプルを、
lazarusのサンプルから調べてみると・・・。
あるじゃないですか、OpenBrowserなるサンプルが!
で、これを調べると、TProcessなる処理を記述する事によって、
外部プログラムを呼び出せると。
早速、Lazarus Wikiから、
http://wiki.freepascal.org/Executing_External_Programs/ja
で、早速サンプルをいじって実行するも。。。
エラーは吐かないし、実行時エラーもでないんだけど、
外部プログラムは至ってうんともすんとも呼び出される気配無し。
多分、自分のMacでの外部プログラム呼び出しに関する、
基礎的な知識が欠落して、呼び出しに失敗している可能性も高いですが。。。
取り敢えず、
この問題は先において、
他の機能の実装に進む事に。。。
う〜ん、難しい。
MacOSX10.9.2は素晴らしいし、
Lazarusも、Version1.00超えた頃から、
日本語対応が非常に充実して、
小回りが効いて、
且つ扱いやすい統合開発環境になったんですが。。。
ググっても情報が不足していて、中々。
暫くは、遠回りしてMacの勉強かな??