Delphi はさまざまな言語にローカライズされています (英語、日本語、ドイツ語、フランス語だと思います)。コマンド ライン コンパイラ (dcc32) もローカライズされているため、ドイツ語版では "Error" ではなく "Fehler" が、"Warning" ではなく "Warnung" がコンソールに表示されます。
この出力を解析し、(その機能の 1 つとして) エラーと警告をカウントするプログラムを作成しました。これは、ローカライズされた文字列では失敗します。
ローカライズされたテキストも検出するようにプログラムを適応させることはできますが、それは間違っているように感じます。むしろ、コンパイラーに出力に英語を使用させたいと思います。それを行うためのコマンドラインスイッチまたはその他のオプションはありますか?
msbuild を使用するすべての Delphi バージョン、つまり >=2007 をサポートしたいと考えています。
編集:
メッセージではなくエラー コードを読み取る場合は、次のエラーを検討してください。
C:\[...]\Borland.Delphi.Targets(113,3): error : blub.pas(56) Error: E2029 ',' expected but identifier 'bla' found
エラー コードは E2029 ですが、プログラムで検出するのはかなり困難です。テキスト "Error: " の検出ははるかに簡単で、エラーが発生しにくくなっています。