ページ 11

For ... Len(string) の変化について。

Posted: 2005年12月03日(土) 20:49
by Uhsp
4.12.01で下記のコードを実行するとループ内で変更された「ss」の長さが
Forの上限値と認識されてしまいます。
(仕様でしたらすみません。)

コード: 全て選択


 Dim ss as String,ii as Long
     ss = "12345"
 For ii = 0 to Len(ss)
     ss ="1"
 Next
 msgbox 0,Str$(ii)

Posted: 2005年12月03日(土) 22:50
by Uhsp
すみません私の勘違いでした。
(お恥ずかしくて穴があったら入りたいです)
管理人さまお手数ですが削除してください。

Re: For ... Len(string) の変化について。

Posted: 2005年12月05日(月) 12:36
by Yoshi
VB6なら

コード: 全て選択


N = 10
For i = 0 To N
  N = 1
Next

i = 2で終了せずに11まで行ってしまうみたいですけどね。
.NETは知らないけど。

Re: For ... Len(string) の変化について。

Posted: 2005年12月05日(月) 17:03
by Uhsp
> VB6なら
> i = 2で終了せずに11まで行ってしまうみたいですけどね。
> .NETは知らないけど。

ありがとうございます。
言い訳になるので書きませんでしたが、うちのVisialBasic6SP5も同様ですし
他の言語でも同様な物がありますが、特にバグではなく仕様の違いなので
謹んで訂正いたしました。