■ ファイルの書き込み時に配列を使いたい。

[Visual Basic Q & A 掲示板] [過去ログの一覧]


しょうたしょうた 2008/01/20(日) 11:43:18 <初心者>
ファイルを書き込むときに、
Write 変数1,変数2,変数3,……
この変数の部分を可変長の配列にしたいんです。
配列の最初から最後までっていう指定方法はあるんでしょうか?
いいやり方ありましたら教えてください。

jan 2008/01/20(日) 12:37:02
UBound について調べて下さい。

しょうたしょうた 2008/01/20(日) 17:38:41 <初心者>
説明不足ですいません。
一回のWriteで配列の全てを書き込みたいんです。

jan 2008/01/20(日) 18:07:56
配列の全てとは????????
調べたのでしょうか?
Webで検索すればそれなりのサンプルも出て来ると思いますが...。


UBound 関数で配列の添え字の最大値が求まります。
For〜Next文で回せば良いのでは??

しょうた 2008/01/20(日) 19:56:19 <初心者>
For文で回して書き込んだら出力されたファイルには縦に出力されていきます。そうではなくて、横に書きこんでいきたいんです。(列を増やしていく)
そうでないと後でデータを読み込むときに困ると思ったんです。
指定行に書き込むことってできるんでしょうか?

lol 2008/01/20(日) 20:38:12 <初心者>
>For文で回して書き込んだら出力されたファイルには縦に出力されていきます。そうではなくて、横に書きこんでいきたいんです。(列を増やしていく)
なら、書き出す前に配列の中身を文字列連結すれば良いだけなんじゃないの?
CSV形式ならカンマ挟んだりしてさ。

jan 2008/01/20(日) 21:29:51
lol さんの言う通りですよ。
書き出す前にでなくても書き出す時に1行にすれば良いのでは??

For i = 0 to 8
   Write #1,Cstr(i),;
Next i

   Write #1,Cstr(9)

..とするとどうなります?

"0"
"1"
"2"
"3"
....とかにはならないで
"0","1","2",  途中省略  ,"8","9"
...となると思いますが。
上記での   Write #1,Cstr(9)の部分が配列の添え字の最大値であれば
良いのではありませんか?

しょうたしょうた 2008/01/21(月) 21:39:05 <初心者>
ありがとうございます。うまくできました。
取り出し方に困っているのですが、1列づつ取り出すやり方ってありますか?

jan 2008/01/22(火) 07:14:51
「取り出し方」って読み込みの意味ですか?
Split関数について調べて下さい。
YAHOOなどでVB6 split をキーにウェブ検索すればサンプルもあるようです。

しょう 2008/01/24(木) 21:19:10 <初心者>
[[解決]]

返事が遅くなってしまってごめんなさい。
split使ったらすぐできました。
いろいろとお世話になりました。

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library