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

なでしこv1のバグや要望を書き込む掲示板
[一覧へ] > (@270) [高] [修正中]
@270■ (#755) 窓列挙の返値が不正なCSV - 99yen (2009-05-17 16:04) /中 未処理
窓列挙で得た値をを表検索しようとすると、「CSVの記述に誤りがあります。」とエラーが出ます。
窓ハンドル内列挙などもそうですが、返値は配列であったほうが良いと思います。

(#759) ただカンマで区切ってあるだけ - 99yen (2009-05-19 18:19) /中 未処理
調べたところ、窓列挙は結果をただカンマで区切っただけの文字列を返すようです。
タイトルにスペースが入っていたり、ダブルコーテーションが入っていた場合の処理がされていません。
自分で配列に代入すれば問題ないようです。

//ここから
RESULTとは配列
Iとは整数
窓列挙を改行で区切って反復
  I=回数-1
  対象を","で区切って反復
      RESULT[I][回数-1]=対象
//ここまで

(#774) r117で修正しました - クジラ飛行机 (2009-05-20 23:35) /中 確認待ち
報告感謝です!
-「窓ハンドル列挙」命令で得られるCSVデータが壊れる可能性があったので修正(@270)(r117)。

(#782) RE:r117で修正しました - しらたま (2009-05-21 13:22) /中 確認待ち
この修正では正しいCSVになるように変更してますが、99yenさんの言うように、2次元配列で返した方が良くないでしょうか?
配列系の命令を続けて使う場合はその方が効率良いですし、文字列として扱う場合も2次元配列→文字列はCSVに変換するようになってますし。
それに何より、CSVへの整形出力がTHiArrayのみにあると、何かあったときに修正が楽になると思うのですが、どうでしょう。

(#808) 確認しました - 99yen (2009-05-22 22:24) /低 確認待ち
1.521で確認しましたが、しらたまさんのご意見もあるので優先度を下げるだけにします。

(#812) 戻り値を配列変数に変更 - クジラ飛行机 (2009-05-22 22:46) /低 再修正依頼
単純に文字列の方が実装が楽だったというだけなので、
配列変数として返す方がよいのかも知れませんね。
手がい空いた段階で修正するとよいと思います。


(#1511) 上げる - U D (2010-03-10 20:10) /低 修正中
この件、長いこと放置されていますが、、、
「2次元配列を返す」よう修正して問題ないでしょうか?

問題なければ今週末ぐらいに直しちゃいます。

(#1526) お願いします! - クジラ飛行机 (2010-03-16 11:26) /高 修正中
ありがとうございます!
修正お願いします!

(#1860) 修正;コミット保留中 - U D (2010-12-17 02:31) /高 修正中
修正するって言ってて忘れてましたホントすいません。
で、修正しました。まだコミットしてないですが。

----

dnako.dpr に 2 次元配列変換用の nako_csv2ary を定義し、
エクスポートして dll_ctrl_function.pas 側から呼び出すようにしてみました。
この方針の修正がスマートなのかよく分からないのですが、どうなんでしょう。

あと、しらたまさんの発言の最後の部分:
> それに何より、CSVへの整形出力がTHiArrayのみにあると、何かあったときに修正が楽になると思うのですが、どうでしょう。

の意味がよく分からなくて少し引っ掛かってます。

# hima_variable_ex が全体的に別扱いされているということに今更気付きました…
# これは何か理由があってこうなっているのでしょうか。

## 窓列挙の大元の enumWindows を配列で返すようにする方がいいんですかね。
## そっちの方針は上手いことできそうになかったんですが。。。

----

ちなみに、(2次元)配列で返ってくると期待されるにもかかわらず、実際には文字列で結果を返す
という似たような命令が他にもありそうです。例えば「エクセル一括取得」命令など。

エクセル一括取得の場合でも、同様に(nako_csv2aryで)修正できるハズだとは思いますが。


(#755)へ返信する:

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

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

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