VB 自定义数据类型请问
VB 自定义数据类型请教
近来编一段程序,需要自定义一个数据结构,但网上和教材讲得有限,有一个地方实在搞不懂,特来请教。
以下的例子只是为了说明问题,所以请不必讨论算法的优劣。
类例:
有一个工作薄,内有30张工作表,每张工作表,共A,B两列,1000行。A列是数字,B列是字符,其中A列应该是B列的ASC码
现检验B列到底是不是A列的ASC码,如果不是,就将错误地址和应该的数值标出来。
定义单条错误记录的数据结构如下:
定义每张工作表的数据错误结构:
Type RECORDS
num As Integer '错误的个数
item() As RECORD '错误数的数组 (经测试,显然这样定义是错误的,发贴的目的就是求正确代码)
End Type
'以下是简单程序流程,帮助理解上面的语句
sub test()
dim arr(1 to 30 ) as RECORDS
①打开工作薄
②逐一打开每张工作表
for i=1 to 30
for j=1 to 1000
if chr(cells(j,1))<>cells(j,2) then
arr(i).num=arr(i).num+1
arr(i).item(arr(i).num).address=cells(j,1).address
arr(i).item(arr(i).num).original=cells(j,2).value
arr(i).item(arr(i).num).modify=chr(cells(j,1))
end if
next j
next i
③将ARR(1 TO 30)输出至文本文件。
end sub
'题后
写得够详细了吧,请高手看到这片诚意,解答一下。
------解决思路----------------------
近来编一段程序,需要自定义一个数据结构,但网上和教材讲得有限,有一个地方实在搞不懂,特来请教。
以下的例子只是为了说明问题,所以请不必讨论算法的优劣。
类例:
有一个工作薄,内有30张工作表,每张工作表,共A,B两列,1000行。A列是数字,B列是字符,其中A列应该是B列的ASC码
现检验B列到底是不是A列的ASC码,如果不是,就将错误地址和应该的数值标出来。
定义单条错误记录的数据结构如下:
Type RECORD
address As String * 4 '数据地址
original As String '原B列错误字符
modify As String '应该正确字符
End Type
定义每张工作表的数据错误结构:
Type RECORDS
num As Integer '错误的个数
item() As RECORD '错误数的数组 (经测试,显然这样定义是错误的,发贴的目的就是求正确代码)
End Type
'以下是简单程序流程,帮助理解上面的语句
sub test()
dim arr(1 to 30 ) as RECORDS
①打开工作薄
②逐一打开每张工作表
for i=1 to 30
for j=1 to 1000
if chr(cells(j,1))<>cells(j,2) then
arr(i).num=arr(i).num+1
arr(i).item(arr(i).num).address=cells(j,1).address
arr(i).item(arr(i).num).original=cells(j,2).value
arr(i).item(arr(i).num).modify=chr(cells(j,1))
end if
next j
next i
③将ARR(1 TO 30)输出至文本文件。
end sub
'题后
写得够详细了吧,请高手看到这片诚意,解答一下。
------解决思路----------------------
Type RECORD
address As String '地址不止4个字符'
original As String
modify As String
End Type
Type RECORDS
num As Integer
item(1 to 1000) As RECORD '反正量不多,定义一个最大量比动态增长性能要好很多'
End Type