投稿日 | : 2003/01/18(Sat) 01:17 |
投稿者 | : mitu |
Eメール | : |
URL | : |
タイトル | : 処理速度 |
以下のような構造体をもっています。
Type MYDATA
Data As Long
Flag1 As Long
Flag2 As Long
Flag3 As Long
Flag4 As Long
Flag5 As Long
Flag6 As Long
Flag7 As Long
Flag8 As Long
End Type
Type OPETABLE
FTime As Long
DTime As Long
OpeData() As MYDATA
End Type
これに、以下のようにして、データを入れています。
Dim OpeInfo() As OPETABLE
Dim dlist() As Byte
Redim OpeInfo(20000)
myp = 8 + 16 * 12
Redim dlist((20000 * myp) - 1)
For i = 0 To 20000
With OpeInfo(i)
.DTime = myDtime(i) 'myDtime は Long型
.FTime = myFtime(i) 'myFtime は Long型
Redim .OpeData(15)
For j = 0 To 15
With .OpeData(j)
'Byte型からLong型への変換処理(ByteToLng)をして格納
.Data = ByteToLng(dlist((i * myp) + (j * 12) + 8), _
dlist((i * myp) + (j * 12) + 9), _
dlist((i * myp) + (j * 12) + 10), _
dlist((i * myp) + (j * 12) + 11))
.Flag1 = dlist((i * myp) + (j * 12) + 12)
.Flag2 = dlist((i * myp) + (j * 12) + 13)
.Flag3 = dlist((i * myp) + (j * 12) + 14)
.Flag4 = dlist((i * myp) + (j * 12) + 15)
.Flag5 = dlist((i * myp) + (j * 12) + 16)
.Flag6 = dlist((i * myp) + (j * 12) + 17)
.Flag7 = dlist((i * myp) + (j * 12) + 18)
.Flag8 = dlist((i * myp) + (j * 12) + 19)
End With
Next j
End With
Next i
配列要素の20000と15は可変長です。
この処理だと、大体7,8秒かかってしまいます。
どなたか処理速度が速くなる方法がありましたら、宜しくお願いします。