• 締切済み

ドイツ語のテキストファイルを日本語ソフトで使用したい

WindowsXP(SP2)にて、ドイツ語の文字処理を含むソースファイルを日本語版コンパイラで処理したいのですが、うまくいきません。 具体的には、DELPHI6(personal, 日本語版)を用いて、ドイツ語を含むソースファイルをコンパイルしようとしたところ、 「不正な文字が入力ファイルにあります」 と言うエラーがウムラウトの付いている文字処理の箇所でエラーとなります。そもそも日本語版コンパイラでは外国語をうまく扱うことは出来ないのでしょうか? 駄目元で、マイクロソフトのMicrosoft AppLocale Utilityをインストールして見ましたが、だめでした。これを経由してドイツ語を指定してDELPHIを起動しても、日本語のままで起動するため、だめでした。

みんなの回答

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

>Trubo Delphiの英語版はやってみたんですが、実は同じところでエラーが出てしまいます。 > なので、DELPHIの言語バージョンではなく、OSの方がまずいのかなとも思っているのですが・・・ DelphiコンパイラがOSから取得している情報を使って おかしくなっているという可能性もありますので、 ドイツ語版は無理としても英語版で実行できれば あるいは問題ないかもしれません。 (日本語版コンパイラはメッセージ化け化けでしょうけど) ただ、今xpをいじれないので確認できないのですが、 コントロールパネルからの設定で地域だとか言語の設定を 日本/日本語 以外に変えるとどうでしょうか? Microsoft AppLocale Utility は使ったことがないので なんともいえませんが、起きている現象と ソフトの説明を読んだ限りでは 今回の問題に対処できるものではないような 気はします。 ソフトのローカライズとか多言語対応って 問題が結構色々でるんですよ。

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.1

VS2005だと事情がちょっと違ったような記憶があるのですが、 > DELPHI6(personal, 日本語版) だと、文字列として現れるのは日本語文字列(か英字(ASCII))に 限られると思います。 文字コードとかエンコーディングの話をすると 話が長くなってしまうので割愛しますが、 どうしても手持ちの日本語版でやら蹴ればならないという話なら > 文字処理の箇所 で、たとえば ch = 'o' (本当はウムラウトつきとして) のようにしているのなら、 その文字の文字コードの値(ドイツ語ならiso-8859-1を使っていると思いますが) を調べて、たとえばそれが200 であれば #200のようにして、 ch = #200 条件にするか、 char 関数を使って ch = char(200)のように 変換するよりないと思います。 あるいは、Trubo Delphiが配布されるようになっているので 入手できるかわかりませんが、「英語版」 でやってみたらうまくコンパイルできるかもしれません。

amu
質問者

補足

ありがとうございます。 Trubo Delphiの英語版はやってみたんですが、実は同じところでエラーが出てしまいます。なので、DELPHIの言語バージョンではなく、OSの方がまずいのかなとも思っているのですが・・・

関連するQ&A

専門家に質問してみよう