「なでしこv1」開発掲示板

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@669) [高] [解決]
@669■ (#2107) 「何文字目」のバグ? - じん (2013-03-24 14:12) /高 未処理
【症状】どのような症状、現象か?
本来、文字数を返すはずの「何文字目」が「バイト数」を返してくる

【再現方法】サンプルソース、再現手順など
=======================
「あいうえおかきくけこ」で「お」が何文字目か
それと言う
=======================
本来、文字数の「5」を返すはずなのに、バイト数「9」が返る

【要望】どのような解決が望ましいか?
本来の機能の回復

【バージョン】確認したバージョン
プロフェッショナル最新バージョン(1.53353)

【その他】
昔に作り、順調に動いていたプログラムが突然誤作動しはじめたので、調べてみたら、発見しました。
おそらく、なでしこを旧バージョンから最新バージョンにアップしたことによって発生したので、最新バージョンだけに起こるバグかと思います。

(#2108) 修正箇所情報(開発者向け) - うぇいく (2013-03-24 16:37) /高 未処理
現象確認しました。

以下、修正箇所情報。

hi_unit\hima_function.pasの1406行目あたりに変数(i)の宣言を追加の上で、
----
  s, a: PHiValue;
  i: Integer;
----
1414行目あたりを、
----
  // (2) データの処理
  i := PosA(hi_str(a), hi_str(s));
  if i > 0 then
  begin
    i := JLength(Copy(hi_str(s),1,i-1))+1;
  end;
  // (3) 戻り値を設定
  hi_setInt(Result, i);
----
のように修正すると、とりあえずは直ります。が、無駄に文字列を切り出しているので、もっとよい方法はありそうな気がします。

(#2118) 修正(r279) - クジラ飛行机 (2013-04-04 01:30) /高 確認待ち
(r279)で修正しました。感謝!

(#2119) 迅速な対応、 - じん (2013-04-04 04:25) /高 解決
ありがとうざいました m(_ _)m

(#2107)へ返信する:

👆お手数ですが、いたずら防止のために、「真夏」の読み方を記入してください。

編集時に使うキーを入力(省略可能)

画像ファイル(最大300KB)を添付可能