フォーラム


ゲスト  

ようこそ ゲスト さん。このフォーラムに投稿するには 登録が必要です。

ページ: [1]
トピック: [QC#83508] When the string length is 1 and index is 1, the UnicodeString version of CharToElementIndex() returns 0.
DEKO
管理者
投稿数: 2691
[QC#83508] When the string length is 1 and index is 1, the UnicodeString version of CharToElementIndex() returns 0.
on: 2013/04/11 17:49 Thu

Unicode 版の CharToElementIndex() / CharToByteIndex() は、文字列長が 1 の場合に正しく動作しない (2009 ~ XE2 で発生)

Report No: 83508 Status: Closed
When the string length is 1 and index is 1, the UnicodeString version of CharToElementIndex() returns 0.
http://qc.embarcadero.com/wc/qcmain.aspx?d=83508
QCWIN:Defect_No=83508

 
Unicode 版 Delphi の問題です。この問題は XE3 で解決されています。Delphi の RTL は "コードポイント単位で文字列を操作する関数/クラス" を持っていないため、MECSUtils 等の外部ライブラリを使わずにコードポイント単位での文字列操作を行うには SysUtils.CharToElementIndex() が不可欠なのですが、その肝心な関数にバグが潜んでいます。

ページ: [1]
WP Forum Server by ForumPress | LucidCrew
バージョン: 1.7.5 ; ページロード: 0.021 sec.