できればコピペすれば動いて問題の現象が確認できるスクリプトを貼っていただけると助かります。
a="12345\nabcde"
do
k=strmid(a,0,i)
mes "(" + i + ") " + k
i++
until strmid(a,i,2)=""
こんな感じでしょうか。修正箇所は次の通り。
・最初に変数aに代入するのは文字列だと思ったのでダブルクォーテーションで囲みました。
・intは関数なので変数としては使用できません。iに変えました。
・strmidの取り出し始めのインデックスと取り出す文字数が変化しないので無限ループになっていたので、ループごとに値が増えるように変更。
更に追加として、
・何回目のループかわかるように、mesで出力する際に回数も出力するように変更。
・何文字目まで出力されているか分かりやすいように、同じ文字の連続を避けました。
さて、ここから本題です。…というかまずどこに疑問を抱えているのかがわからない状況です。
> 改行部分からも文字が書かれてしまいます。
このサンプルで言うところの(6)(7)のような改行するだけなのが2回続くような出力を変だと感じているということでしょうか?
それとも(8)以降で改行されるはずがない!ということでしょうか?
HHRR004477さんがこうなるはずだと考えている出力結果はどんなものか教えていただけると分かりやすいかなと思います。