プロが教えるわが家の防犯対策術!

VB6を使用して、例えば「a(0)~a(7)」までの変数と「b(0)~b(7)」までの変数を宣言している時、a(0)~a(7)には元々数値が入っていて、それをb(0)~b(7)に並びを変えて数値を入れるのに簡単な方法はありますか?

例)
a(0)=0 a(1)=1 a(2)=2 ・・・ a(7)=7

b(0)=a(5) b(1)=a(3) b(2)=a(1) ・・・ b(7)=a(2)

などに置き換えたい場合です。
bに入れる数値のa()の並びは一定です。
aに入れるの数値は固定データです。

単純に一つずつ入れてもできるのですが、データが多くて時間がかかるので簡単な方法があれば教えてください。

A 回答 (2件)

とりあえず規則性がないなら、何かしらの方法で一つずつ設定はしなければ仕方ないと思いますが、



Const acNum as string = "3,2,5,4,1,7,6"
dim acData() as string
dim alLoop as long
dim alHairetuNo as long

acData = split(acNum,",")

for alloop = 0 to ubound(acData)
alHairetuNo = cLng(acData(alLoop))
b(alloop) = a(alHairetuNo)
next

Erase acData

acNum の中にカンマ区切りで順番をいれておいて、それをSplitステートメントで配列 acDataの中に読み込みます。

で、あとはFor Next文でくるくる回すと。

こんな感じでどうでしょう?
    • good
    • 0
この回答へのお礼

回答ありがとうございます。

こんな方法があるんですね。
変数が多かったのでずらずら代入するプログラムはあとで見づらくなるかと思い、すっきりした方法を探していました。
おかげでだいぶ見やすいプログラムになりました。

お礼日時:2004/12/03 14:49

何らかの、規則がないなら、1つずつやらないと仕方がないですね。


並びのリストを作っておくといいのかもしれません
    • good
    • 0
この回答へのお礼

さっそくのアドバイスありがとうございます。

やはり不規則な並びでは一つずつ変数に入れてやるしかないですかね。
なんかスマートにやる方法があればと思ったのですが・・・。

お礼日時:2004/12/03 13:57

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!