这是我以前用VBA写的一个程序中的数据结构部分,现在想用JAVASCRIPT来写,但这种VBA的数据结构不知道怎么转化?
Public Type datastate
value As Integer
row As Byte
col As Byte
xrow As Byte
tr As Byte
ei As Byte
op As String
used As Boolean
End Type
Public Type linkdata
value As Integer
flag As String
abcd As Boolean
used As Boolean
count As Byte
ht As Byte
fan As Byte
databox(1 To 5) As datastate
End TypePublic Type resultdata
value As Integer
count As Integer
new As Boolean
same As Boolean
abcd As Boolean
fan As Byte
samecol As Byte
jianjs As Byte
shengjs As Byte
jiajs As Byte
qsjs As Byte
poslist As String
marea As Long
msum As Byte
ef As linkdata
ig As linkdata
efhb(1 To 6) As datastate
ighb(1 To 6) As datastate
End TypePublic Type baseinfo
lx As Byte
sqs As Byte
xh As Long
pr(1 To 3) As Long
sjs As Long
scd As Byte
ycd As Byte
dbc As Byte
tm(1 To 5) As Byte
qs(1 To 7) As Byte
sts As Byte
yts As Byte
jxts As Byte
jxabcd As Byte
abcd3 As Byte
asw As Byte
apos As Byte
bpos As Byte
jx1 As String
jx2 As String
gx As String
(1 To 4, 1 To 4) As String
only As Boolean
End Type
Public arr(1 To 4, 1 To 4) As datastate, arrtab(1 To 7, 1 To 5) As datastate
Public tm1 As datastate, tm2 As datastate, tm3 As datastate
Public arr1(1 To 20000) As linkdata, arr2(1 To 20000) As linkdata
Public arr3(1 To 15000) As linkdata, arr4(1 To 15000) As linkdata
Public arr5(1 To 10000) As linkdata, arr6(1 To 10000) As linkdata
Public arr7(1 To 10000) As linkdata, arr8(1 To 10000) As linkdata
Public result(1 To 3, 1 To 5000) As resultdata, sanlist(1 To 200000, 1 To 3) As resultdata
Public result1(1 To 50000) As resultdata
Public js As Long, js1 As Long, js2 As Long, js3 As Long, showjs As Long
Public swt As baseinfo
Public Type datastate
value As Integer
row As Byte
col As Byte
xrow As Byte
tr As Byte
ei As Byte
op As String
used As Boolean
End Type
Public Type linkdata
value As Integer
flag As String
abcd As Boolean
used As Boolean
count As Byte
ht As Byte
fan As Byte
databox(1 To 5) As datastate
End TypePublic Type resultdata
value As Integer
count As Integer
new As Boolean
same As Boolean
abcd As Boolean
fan As Byte
samecol As Byte
jianjs As Byte
shengjs As Byte
jiajs As Byte
qsjs As Byte
poslist As String
marea As Long
msum As Byte
ef As linkdata
ig As linkdata
efhb(1 To 6) As datastate
ighb(1 To 6) As datastate
End TypePublic Type baseinfo
lx As Byte
sqs As Byte
xh As Long
pr(1 To 3) As Long
sjs As Long
scd As Byte
ycd As Byte
dbc As Byte
tm(1 To 5) As Byte
qs(1 To 7) As Byte
sts As Byte
yts As Byte
jxts As Byte
jxabcd As Byte
abcd3 As Byte
asw As Byte
apos As Byte
bpos As Byte
jx1 As String
jx2 As String
gx As String
(1 To 4, 1 To 4) As String
only As Boolean
End Type
Public arr(1 To 4, 1 To 4) As datastate, arrtab(1 To 7, 1 To 5) As datastate
Public tm1 As datastate, tm2 As datastate, tm3 As datastate
Public arr1(1 To 20000) As linkdata, arr2(1 To 20000) As linkdata
Public arr3(1 To 15000) As linkdata, arr4(1 To 15000) As linkdata
Public arr5(1 To 10000) As linkdata, arr6(1 To 10000) As linkdata
Public arr7(1 To 10000) As linkdata, arr8(1 To 10000) As linkdata
Public result(1 To 3, 1 To 5000) As resultdata, sanlist(1 To 200000, 1 To 3) As resultdata
Public result1(1 To 50000) As resultdata
Public js As Long, js1 As Long, js2 As Long, js3 As Long, showjs As Long
Public swt As baseinfo
构建关联数组形式的数据的时候只需要。。
var arr = []; var n = [];
n['value'] = 15346;arr['fsdfs'] = 123456; //数字类型
arr['fsdfd'] = n; //数组类型
Public Type datastate
value As Integer
row As Byte
col As Byte
xrow As Byte
tr As Byte
ei As Byte
op As String
used As Boolean
End Type可改写成:
var datastate ={
value:0,
row=0;
col=0;
xrow=0;
tr=0;
ei=0;
op=""
used:false;
};
其余类似.普通类型,如 Public js As Long 用 var js=0;