[リストへもどる]
一括表示

投稿時間:2003/05/30(Fri) 12:18
投稿者名:神風
Eメール:
URL :
タイトル:
二次元配列から値をテキストボックスに渡すには
初めて書き込みさせていただきます、神風です。
現在、二次元配列からの値をテキストボックスに表示させたいのですが、何故か
上手く値を表示してくれません。
テキストボックスdata(0),data(1)に同時に値を表示してくれないのです。
初歩的なことで申し訳ないのですが、どうか皆さんの知恵をお貸しください。


環境:Windows2000、VB6

コード:
Option Explicit
Option Base 1
Private arrdata3(38, 41) As String  
Const kyuuyoitirannfile3 As String = "c:\給与一覧データ.csv"

Dim i As Integer  '変数の宣言
Dim j As Integer
Dim filenum As Integer

filenum = FreeFile
Open kyuuyoitirannfile3 For Input As #filenum
For i = 1 To 38
    For j = 1 To 47
    Input #filenum, arrdata3(j, i)
   Next j
Next i
Close #filenum

data(0).Text = arrdata3(1, 1) 'この行を記述すると何故かdata(1)が表示されません。
data(1).Text = arrdata3(2, 1)  'この行はdata(0)を記述すると何故か表示されません。
data(2).text = arrdata3(3, 1)  'これ以降の行はdata(0)を記述しても何故か表示されます。

投稿時間:2003/05/30(Fri) 13:12
投稿者名:これ
URL :
タイトル:
Re: 二次元配列から値をテキストボックスに渡すには
確認ですが、これが実際稼動中のソースだとしたら

> Private arrdata3(38, 41) As String
この配列に値を入れるとして

> For i = 1 To 38
> For j = 1 To 47
ここは41ではないんですか?

> Input #filenum, arrdata3(j, i)
また、これだとarrdata3(1 to 47, 1 to 38)になると思うのですが
arrdata3(i, j)ではありませんか?
このループの後、本当に意図したデータが配列に入っていますか?

> data(0).Text = arrdata3(1, 1) 'この行を記述すると何故かdata(1)が表示されません。
> data(1).Text = arrdata3(2, 1) 'この行はdata(0)を記述すると何故か表示されません。
> data(2).text = arrdata3(3, 1) 'これ以降の行はdata(0)を記述しても何故か表示されます。

これらそれぞれにブレイクポイントを置いて値を確認されましたか?

投稿時間:2003/05/30(Fri) 14:23
投稿者名:神風
Eメール:
URL :
タイトル:
Re^2: 二次元配列から値をテキストボックスに渡すには
すばやい返信をありがとうございます、これ様。

> ここは41ではないんですか?

申し訳ありません。この値については、コードを投稿用にいじった際に値を間違えたようです。
ご指摘ありがとうございます。

> > data(0).Text = arrdata3(1, 1) 'この行を記述すると何故かdata(1)が表示されません。
> > data(1).Text = arrdata3(2, 1) 'この行はdata(0)を記述すると何故か表示されません。
> > data(2).text = arrdata3(3, 1) 'これ以降の行はdata(0)を記述しても何故か表示されます。
>
> これらそれぞれにブレイクポイントを置いて値を確認されましたか?

ご指摘どおり、ブレイクポイントを置いたデバックより、誤動作の原因がはっきりしました。
原因は今回書き込ませていただいた、form loadのコード記述ではなく、data changeによるものだということがわかりました。原因さえわかれば、後はなんとかなります。
これ様、どうもありがとうございました。