Mac OS X Lzarusにて SJIS(Ansi)対応が難しい事について。 – Information Teaching Service 雄飛

Mac OS X Lzarusにて SJIS(Ansi)対応が難しい事について。

こんにちは。

新ブログ開設後、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の勉強かな??

コメントをどうぞ

メールアドレスが公開されることはありません。 が付いている欄は必須項目です