[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2005/03/25(Fri) 16:42
投稿者名:いち
Eメール:
URL :
タイトル:
テキストの配列の持ち方
こんにちわ、よろしくお願いします。

画面の編集でテキストボックスを100個程作りました、これを配列にした時、配列設定(index)の仕
方なん
ですが
部門別にテキストボックスを作りたいと思いました。
text1(0)〜text1(20)   マンガの内容  
text1(100)〜text1(120)  雑誌の内容
text1(200)〜text1(220)   文庫の内容
としましたが配列と言うことで
text1(0)〜text1(20)   マンガの内容  
text1(21)〜text1(40)  雑誌の内容
text1(41)〜text1(60)   文庫の内容
(余分なメモリを食わないように)とした方が良いのでしょうか?
それとも、1個1個に名前を付けたほうがいいのでしょうか?

良い方法をお願いします。

よろしくお願いします。

投稿時間:2005/03/25(Fri) 19:25
投稿者名:ダンボ
URL :
タイトル:
Re: テキストの配列の持ち方
今ひとつ前提条件・制約条件がわからないですが、
配列のテキストボックスで作るメリット(統一操作)が大なら配列でやるし、
メリットがなければ個々の名前をつければよろし。

といってしまうと身も蓋もないので、
統一操作のメリットもありかつ個々のジャンルの操作もしやすくするために
同じテキストボックスに別な名前をつける下記方式はいかが。


Dim Manga() As TextBox  'マンガ
Dim Zasshi() As TextBox '雑誌
Dim Bunko() As TextBox  '文庫

ReDim Manga(20)
For i = 0 To 20
  Set Manga(i) = text1(i)
Next i

ReDim Zasshi(40 - 21)
For i = 0 To 40 - 21
  Set Zasshi(i) = text1(i + 21)
Next i

ReDim Bunko(60 - 41)
For i = 0 To 60 - 41
  Set Bunko(i) = text1(i + 41)
Next i

投稿時間:2005/03/28(Mon) 09:37
投稿者名:いち
Eメール:
URL :
タイトル:
Re^2: テキストの配列の持ち方
ダンボさん
早速返事ありがとうございます。
こちらからの返事が遅くなり申し訳ありません。

確かにこの方法はいいですね、早速実践してみたいと思います。
ありがとうございます。

> Dim Manga() As TextBox  'マンガ
> Dim Zasshi() As TextBox '雑誌
> Dim Bunko() As TextBox  '文庫
>
> ReDim Manga(20)
> For i = 0 To 20
>   Set Manga(i) = text1(i)
> Next i
>
> ReDim Zasshi(40 - 21)
> For i = 0 To 40 - 21
>   Set Zasshi(i) = text1(i + 21)
> Next i
>
> ReDim Bunko(60 - 41)
> For i = 0 To 60 - 41
>   Set Bunko(i) = text1(i + 41)
> Next i

投稿時間:2005/03/25(Fri) 19:59
投稿者名:ダンボ
URL :
タイトル:
Re: テキストの配列の持ち方
> 画面の編集でテキストボックスを100個程作りました

うむ。
Load命令で作るべきでは。
必然性があってやっているのか、知らないのか、そこが問題だ。

投稿時間:2005/03/28(Mon) 09:44
投稿者名:いち
Eメール:
URL :
タイトル:
Re^2: テキストの配列の持ち方
ダンボさん
ありがとうございます。
まだ、初心者なのでわからないことが多く、調べたりしてやっています…。

> Load命令で作るべきでは。
> 必然性があってやっているのか、知らないのか、そこが問題だ。

Load命令でと言うのは、
"Private Sub Form_Load()"
のところのことでしょうか?

特に何も考えずに、作りました。

何か良いアドバイスがありましたら、よろしくお願いします。

投稿時間:2005/03/28(Mon) 10:55
投稿者名:ダンボ
URL :
タイトル:
Re^3: テキストの配列の持ち方
> Load命令でと言うのは、
> "Private Sub Form_Load()"
> のところのことでしょうか?

「Load命令」は命令ですな。「Form_Load」はイベントですな。

私が言わんとしているのは、text1(0)を1個だけ静的にデザインしておいて、残りの59個は
Load命令で動的に作り出せば良い、ということです。

For i = 1 to 60
  Load text1(i)
  text1(i).Move  Left(i), Top(i)
  text1(i).Visible = True
Next i

テキストボックスを動的に作る場合のメリット
・雛形のtext1(0)のデザインだけを修正すればすべてのテキストボックスに反映できる。
  (フォントサイズを変えたいなど仕様変更時に60個力ずくで作業しますか?ま、それも良し。)
テキストボックスを動的に作る場合のデメリット
・text1(i)を置く場所は、計算で決めれるようにデザインしておく必要がある。
  (ま、そうしておけばフォームの拡大縮小にも対応できるし)

投稿時間:2005/03/29(Tue) 09:45
投稿者名:いち
Eメール:
URL :
タイトル:
Re^4: テキストの配列の持ち方
ダンボさん
ご返事ありがとうございます。

> 私が言わんとしているのは、text1(0)を1個だけ静的にデザインしておいて、残りの59個は
> Load命令で動的に作り出せば良い、ということです。
>
> For i = 1 to 60
>   Load text1(i)
>   text1(i).Move  Left(i), Top(i)
>   text1(i).Visible = True
> Next i

> テキストボックスを動的に作る場合のメリット
> ・雛形のtext1(0)のデザインだけを修正すればすべてのテキストボックスに反映できる。
>   (フォントサイズを変えたいなど仕様変更時に60個力ずくで作業しますか?ま、それも良し。)
> テキストボックスを動的に作る場合のデメリット
> ・text1(i)を置く場所は、計算で決めれるようにデザインしておく必要がある。
>   (ま、そうしておけばフォームの拡大縮小にも対応できるし)

なるほど!!!
正直、自力で作っていたので、変更の時どうなるのかな?ってちょっと思っていました。

早速試してみたいと思います。

ありがとうございました。

投稿時間:2005/03/26(Sat) 20:33
投稿者名:K.J.K.
Eメール:akiya@koalanet.ne.jp
URL :
タイトル:
Re: テキストの配列の持ち方
> 画面の編集でテキストボックスを100個程作りました、これを配列にした時、

Grid系のコントロールでまとめることをお勧めします。

投稿時間:2005/03/28(Mon) 09:47
投稿者名:いち
Eメール:
URL :
タイトル:
Re^2: テキストの配列の持ち方
K.J.K.さん
ご返事ありがとうございます。
返事が遅くなり、申し訳ありません。

> > 画面の編集でテキストボックスを100個程作りました、これを配列にした時、
>
> Grid系のコントロールでまとめることをお勧めします。

やはり"Grid系"がいいのでしょうか?
テキストボックスで見た方が見やすいし修正しやすいと言うことで、こちらになりました。
テキストボックスでやっていこうと思っています。