HSPポータル
サイトマップ お問い合わせ


HSPTV!掲示板


未解決 解決 停止 削除要請

2007
0708
ちたんsortnoteについて2解決


ちたん

リンク

2007/7/8(Sun) 03:39:03|NO.9398

夜分にすみません。note形式のデータを扱うにあたって
昇順、降順を簡易に切り替えられるようにと作成してましたが、
多少、問題が出てしまいました。
次のスクリプトを実行すると、行が増えていってしまいます。


#include "hspda.as" buf="abc\ndef\nghi\njkl\nmno\npqr\nstu\n" mes "末尾あり:" gosub *SORT mes "" mes "末尾なし:" buf="abc\ndef\nghi\njkl\nmno\npqr\nstu" gosub *SORT stop *SORT mes "notemax" repeat 2 sortnote buf,0 notesel buf mes notemax noteunsel sortnote buf,0 notesel buf mes notemax noteunsel sortnote buf,1 notesel buf mes notemax noteunsel sortnote buf,1 notesel buf mes notemax noteunsel loop return

バグかなと思い、過去スレも調べて見ました。
末尾が有る無いという話がありましたが、
それとは別の話だと思い、書き込みました。
メモリ内容を見る限り、改行コードが末尾に増加したり、
先頭に増加するときもあるみたいなので困っています。
詳しい挙動はまだ調査中ですが、どうにか増分しないようにできますか?



この記事に返信する


osakana

リンク

2007/7/8(Sun) 04:48:38|NO.9399

> メモリ内容を見る限り、改行コードが末尾に増加したり、
> 先頭に増加するときもあるみたいなので困っています。

これは単にソートの並び順によって空の行がソーティングされているだけだと思います。
sortnote を実行するたびに空行が増えるのはたぶんバグです。

> 詳しい挙動はまだ調査中ですが、どうにか増分しないようにできますか?

こんな風に増えた行を消していけばごまかす事が出来ます。

#include "hspda.as" notesel buf buf="abc\ndef\nghi\njkl\nmno\npqr\nstu\n" mes "[末尾あり]" flg=0 :gosub *SORT flg=1 :gosub *SORT pos ginfo_cx+300,0 mes "[末尾なし]" buf="abc\ndef\nghi\njkl\nmno\npqr\nstu" flg=0 :gosub *SORT flg=1 :gosub *SORT stop *SORT mes "ソート順:"+flg+"\nnotemax" repeat 3 sortnote buf,flg noteget tmp,flg*(notemax-1) if tmp="" :notedel flg*(notemax-1) mes notemax loop mes "\""+buf+"\"" return



ちたん

リンク

2007/7/8(Sun) 12:17:54|NO.9401

対処のスクリプトを書いていただき、ありがとうございます。
修正されるまで、しばらく使わせてもらいます。



ONION software Copyright 1997-2023(c) All rights reserved.