引数の数を確定しない値を配列をして渡すには?

解決


かたのるめ  2003-10-09 20:32:11  No: 109036

現在不特定多数のファイル名を配列に渡しています。しかし、配列の数を指定しない方法をとりたいのですが、どのようにしたらよいでしょうか?
Dim File(9999) as string → Dim File(n) as string?????
宜しくお願いいたします。


とろ  2003-10-09 20:46:49  No: 109037

Dim File(9999) as string → Dim File() As String
でよいのでは?

処理中に配列の要素数が変動するたびに
Redim File(n)
とすれば大丈夫です。


そる  2003-10-09 20:46:53  No: 109038

定義
  Dim File()  As Strng
使う時
  Redim Preserve File(10)
  または
  Redim File(10)


しーぶ  2003-10-09 20:55:59  No: 109039

お返事ありがとうございます。
教えていただいた方法ですと、
Redimによって今まで入力された配列が消えてしまいました。
つまり、
For i to MAX
  MAX=MAX+1
  Redim(MAX)


si-bu  2003-10-09 20:56:19  No: 109040

お返事ありがとうございます。
教えていただいた方法ですと、
Redimによって今まで入力された配列が消えてしまいました。
つまり、
For i to MAX
  MAX=MAX+1
  Redim(MAX)


かたのるめ  2003-10-09 20:58:04  No: 109041

送ってしまった。。。しかも他の方の名前で。。。申し訳ありません。

お返事ありがとうございます。
教えていただいた方法ですと、
Redimによって今まで入力された配列が消えてしまいました。
つまり、
For i to MAX
  MAX=MAX+1
  Redim File(MAX)
  File(MAX) = data
Next
どのようにしたらよいですか?


イトウ  2003-10-09 21:18:08  No: 109042

多少はRedimのMSDNヘルプも見ましょう。

Redim Preserve File(MAX)


  2003-10-09 21:47:00  No: 109043

「つまり」の使い方が変です。


かたのるめ  2003-10-10 01:24:00  No: 109044

みなさまありがとうございました。
特に、せさん。
つまり、あなたに感謝。


Y2  2003-10-10 07:04:08  No: 109045

RedimはRedimでも、Preserveをつけると、配列の要素数が変化する前の情報が失われないってことですね。
でも、可変の配列は多少効率が悪いらしいので、
あらかじめ多めに要素数を確保した固定の配列を、可変と同じように使う方法もありますよ。状況によって使い分けるといいと思います。


かたのるめ  2003-10-10 19:24:52  No: 109046

Y2さんありがとうございました。
参考になります。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加