■ 現在のこのページの役立ち度:
表示されない場合こちらのリンクからもご覧になれます。
■ このページの役立ち度を評価する:
役立ち度を評価してください。
(1(左):あまり役立たない - 5(右):大変役立った):
■ ページの共有:
[ サイト内検索 ]
カスタム検索
#1338-2配列の仲間を順番に取得する方法匿名希望2002-07-02(火) 16:22
     #1340-2RE#1338:配列の仲間を順番に取得する方法藤代千尋2002-07-02(火) 17:12
     #1386-2RE#1338:配列の仲間を順番に取得する方法maaru2002-07-04(木) 01:28
#1338-2
配列の仲間を順番に取得する方法
初めまして・・・
まだVBでの開発に慣れてない者です。
色々試したのですがイマイチうまくいかないので
下らないですが質問させてください。

配列ArrData(100)の中から
配列要素(0),(1),(2)・・・(98),(99)と順番にデータを抽出したい場合
具体的には
カウンタが1の時にはArrData(1)に入っているデータを
カウンタが2の時にはArrData(2)に入っているデータを
順番に抽出したいのです。

※
変数Dataは取り出したデータを格納する変数です。
変数Counterは普通のカウンタ変数です。

For Counter=0 to 99
    Data=ArrData(Counter)
Next
これだと上手く動いていないのです。

しかしこれを
If Counter=0 then
    Data=ArrData(0)
End If

If Counter=1 Then
    Data=Arrdata(1)
End if
・・・
このようにIF文の連続で記述すると成功します。
この二つはどう違うんでしょうか・・・
If文をたくさん書くのは手間がかかる上に処理が遅くなったりしないでしょうか?

とても解りにくい質問の書き方でごめんなさい。
どなたか問題点ご指摘くださいませ。
くだらない質問で失礼しました。


#1340-2
RE#1338:配列の仲間を順番に取得する方法
> 配列ArrData(100)の中から
> 配列要素(0),(1),(2)・・・(98),(99)と順番にデータを抽出したい場合
> 具体的には
> カウンタが1の時にはArrData(1)に入っているデータを
> カウンタが2の時にはArrData(2)に入っているデータを
> 順番に抽出したいのです。
> 
> For Counter=0 to 99
>     Data=ArrData(Counter)
> Next
> これだと上手く動いていないのです。

ですね。(^^)
Counter = 0 のとき、ArrData(0) を Data に書き、
Counter = 1 のとき、ArrData(1) を Data に書きます。
「上書き」しているので、最終的に Data は ArrData(99) 
の内容になるでしょう。

もしデータを移すなら、Data も配列にする必要があります。
  Data(i) = ArrData(i)

でもこれをやると、いつまで経っても、配列からデータがで
てきませんね。(^^;)

たとえば、テキストボックスに配列の中身を表示したいなら、
  Dim Buffer As String
  Buffer = ""
  For Counter=0 to 99
      Buffer = Buffer & ArrData(i) & vbCRLF
  Next
  Text1.Text = Buffer
などとします。
#ちなみに、Data という名前は VB の中で使われているので、
 使わない方がよいです。
#1386-2
RE#1338:配列の仲間を順番に取得する方法
> For Counter=0 to 99
>     Data=ArrData(Counter)
> Next
> これだと上手く動いていないのです。

> If Counter=0 then
>     Data=ArrData(0)
> End If
> 
> If Counter=1 Then
>     Data=Arrdata(1)
> End if
> ・・・
> このようにIF文の連続で記述すると成功します。
> この二つはどう違うんでしょうか・・・

For文を使用した方は
Data = ArrData(0)
Data = ArrData(1)
…
Data = ArrData(99)
と書いている事と同義ですね。
また、Ifの連続の方は
Data = ArrData(Counter)
と同義です。Ifで判定しなくても、上の一文だけで
済んでしまいますよ(^-^

的外れな回答でしたらごめんなさい。
このページと関連する記事:
#14582-0文字列の中からスペースと改行を抜き取りたいのですが2000-01-30(日) 07:14
#699-1iniファイルからの読み込みが上手く来ません2004-01-05(月) 14:28
#1080-0NULL判定2004-01-29(木) 11:26
#17432-0re.goto2000-12-27(水) 10:25
#26-5インデックスを使用した操作について2001-10-15(月) 07:09
#4133-1ListBoxのチェックが入っているかどうかを知る方法1999-08-30(月) 03:11
#16768-0バイナリエディタの作り方。2000-02-24(木) 13:29
#18067-0教えてください2001-01-24(水) 08:51
#14742-0CSV読込み時の動的配列2001-02-27(火) 12:14
#34824-0Do...Loopステートメントについて2000-12-06(水) 16:54
お探しの情報は見つかりましたか?お困りの問題は解決しましたか?
サイト内検索, 似た記事検索で見つからなくてもあきらめずに掲示板で質問してみましょう。
VB初心者友の会があなたのお役に立てれば幸いです。また、本ページの投稿者の方々にこの場を借りて感謝致します。
本ページは過去ログを集めて自動構成しています。よろしければこのページに関するフィードバックをお願いします。
(※ 構成の誤り、広告等の不適切な記事、リンク切れ、読めないページの報告など)