Delphi 2009に変換するアプリケーションが非常に多く、pAnsiCharsを返す多くの外部インターフェイスがあります。誰もがこれらをpCharsにキャストするための素早く簡単な方法を持っていますか? pAnsiCharには文字列がたくさんありますが、それ以外のところで多く見つけることができます。Delphi 2009でPansiCharをPcharにキャストする方法がありますか
答えて
Delphi 2009にRawByteStringという新しい文字列型が追加されました。あなたはPAnsiStringとして入ってくるバイナリデータを保存する必要がある場合は、これを使用することができます
type
RawByteString = type AnsiString($ffff);
:次のように定義されます。以前はAnsiStringを使った方法と同じようにRawByteStringを使用できるはずです。
ただし、推奨される長期的な解決方法は、プログラムをUnicodeに変換することです。
RawByteStringには注意が必要です。他の文字列型と同様に、RawByteStringにはコードページが関連付けられており、Unicode文字列への/からの割り当て時にそのコードページが使用されます。唯一の違いは、RawByteStringは実行時にコードページを動的に変更できますが、他の文字列型は変更できないことです。 RawByteStringは、スタンドアロンの文字列型として使用するためのものではありません。元のAnsi文字データにどのコードページが使用されているかを気にしない関数パラメータでの主な(そして唯一推奨される)使い方。 –
これはアップグレードプロジェクトであり、Windows(ANSI文字が予期して返される)と通信するコードで問題が発生します。 –
PAnsiCharをPCharに「キャスト」する方法はありません。 PCharはDelphi 2009のUnicodeです。Ansiのデータは単純にUnicodeにキャストすることはできず、その逆もありません。実際のデータ変換を実行する必要があります。いくつかのデータへのPAnsiCharポインタがあり、データをUnicode文字列に入れたい場合は、最初にPAnsiCharデータをAnsiStringに割り当て、必要に応じてAnsiStringをUnicode文字列に割り当てます。同様に、Unicode文字列をPAnsiCharに渡す必要がある場合は、最初にデータをAnsiStringに代入する必要があります。 Delphi 2009の移行に関する問題を抱えるEmbarcadero'sとTeamB'sのブログサイトに関する記事があります。
私は逃げ出していました。今私は変換を行うために私自身の関数ライブラリを持っています。 –
- 1. Delphi xe、ユニットdbExceptが見つかりません。 Delphi 2009にありました
- 2. Delphi 2009のソースウィザードをインストールする方法
- 3. Delphi 2009ではバリアント配列を解放する必要がありますか?
- 4. 私のDLLのDelphiでは、関数の戻りpcharを割り当てる必要があります
- 5. Delphi 2009でrcファイルからリソースライブラリを構築する方法は?
- 6. Delphi 2009がDelphi 7プロジェクトの再構築構成を変換する方法
- 7. Delphi 2009でJITデバッガを設定する方法は?
- 8. Delphi 2009で静的変数を宣言する方法は?
- 9. Delphi 2009でPDFファイルを表示する最適な方法は何ですか
- 10. Delphi 2009にはQuickReportsが含まれていますか?
- 11. Delphi 2009ではsqrtがまだ遅いですか?
- 12. Delphi 2009のバグ? - > * .resがプロジェクト検索パスに見つかりません(Delphi 2006で動作します)
- 13. Delphi 2009のデザインパターン
- 14. Delphi 2009リファクタリングエラー
- 15. C# - ジェネリックコレクションをキャストする方法はありますか?
- 16. Javaでfloatにキャストする方法がわかりません
- 17. ラムダでキャストするか、IEnumerableをキャストする必要がありますか?
- 18. DelphiにHashSetがありますか?
- 19. Delphiにはisqrtがありますか?
- 20. Java:戻り値を自動的にキャストする方法はありますか?
- 21. スカラーでIntegerをStringにキャストする方法はありますか?
- 22. Delphi 2009/2010にアップグレードするか、Software Assuranceを購入する方が理にかなっていますか?
- 23. Delphi 2009でカスタムコンポーネントのマウスパニングを行う方法
- 24. GroupViewは、Delphi 2009年に
- 25. dcc32.cfgを使用するDelphi 2009コマンドラインコンパイラ?
- 26. DelphiでStringList.SortをStableソートに置き換える方法はありますか
- 27. PCharを取得してDelphiのファイルの最後まで16進数で移動する方法はありますか私は非常に大きなファイル(ユニコード - デルファイ2009)の解析午前
- 28. delphi 2009でgifアニメーションファイルを作成しますか?
- 29. ADOコンポーネントはDelphi 2009 Professionalバージョンに含まれていますか?
- 30. Delphi 2010:UTF8でエンコードされたPAnsiCharをUnicodeStringに変換するにはどうすればよいですか?
'pChr = PChar(string(AnsiString(pAnsiChr)))'あなたが探しているのは? – Fr0sT