这里有一个文件SubAccountList.txt, 
文件内容: 
字符1(3位) 
字符2(3位) 
字符3(2位) 
字符4(2位) 
字符5(1位,“+” 、“-” ) 
字符6(10位) 
字符7(8位) 
举例数据: 
001RRBHQ 0+  100000020100330002RRBHQ 0-    9000020100330 例子说明: 
第一串字符: 
001      --->字符1(3位) 
RRB      --->字符2(3位) 
HQ        --->字符3(2位) 
0        --->字符4(2位) 
+        --->字符5(1位,“+” 、“-” ) 
  1000000--->字符6(10位,最后两位角分) 
20100330  --->字符7(8位,年月日) 
第二串字符: 
002      --->字符1(3位) 
RMB      --->字符2(3位) 
HQ        --->字符3(2位) 
0        --->字符4(2位) 
-        --->字符5(1位,“+” 、“-” ) 
    90000--->字符6(10位,最后两位角分) 
20100330  --->字符7(8位,年月日) 要求将上面这个文件中的内容读取且动态显示成以字符1,字符2,字符3, 
字符4,字符5,字符6,字符7为表头的7列n行的(要分页)一个表。 下面是现在为止写的代码: 
Sub Authorized() 
Dim m_SubAccLst '这里是结构体数组 
Dim SubAccountFileName 
Dim m_ShowIndex SubAccountFileName = GetSubAccountFileName If IsExistFile(SubAccountFileName) = true then '如果文件存在 
  '这里封装一个模块,提供此方法,模块内定义一个SubAccount的类 
  Set m_SubAccLst = GetSubAccountList(SubAccountFileName) 
  If m_SubAccLst.Count > 0 then 
    m_ShowIndex = 0 
    ShowSubAccList() 
  End If 
Else 
  Message "111" 
End If End Sub '上一页主要是调整m_ShowIndex的值 
Sub DownPage() 
  m_ShowIndex = m_ShowIndex + m_CurMaxRows 
  ShowSubAccList() 
End Sub '下一页 
Sub UpPage() 
  m_ShowIndex = m_ShowIndex - m_CurMaxRows 
  ShowSubAccList() 
End Sub Sub ShowSubAccList() 
  Dim i 
  
  for i = m_ShowIndex to m_ShowIndex + m_CurMaxRows 
    TableTD_SubAccNo.InnerText = m_SubAccLst.Item(i).SubAccNo 
    TableTD_CurrencyNo.InnerText = m_SubAccLst.Item(i).CurrencyNo 
    : 
  Next   Table.addRow 
End Sub 请问如何动态追加表的行?拜谢! 下面是结构体数组(SubAccLst) 
Const SUBACCNOLEN  = 3 
Const CURRENCYNOLEN  = 3 
Const STORETYPELEN  = 2 
Const STORETIMELEN  = 2 
Const ACCAMTFLAGLEN  = 1 
Const ACCAMTLEN  = 10 
Const OPENACCDATELEN = 8 Class SubAccount 
Private Sub Class_Initialize 
  m_SubAccNo  = Space(SUBACCNOLEN) 
  m_CurrencyNo = Space(CURRENCYNOLEN) 
  m_StoreType  = Space(STORETYPELEN) 
  m_StoreTime  = Space(STORETIMELEN) 
  m_AccAmtFlag = Space(ACCAMTFLAGLEN) 
  m_AccAmt  = Space(ACCAMTLEN) 
  m_OpenAccDate = Space(OPENACCDATELEN) 
End Sub Private Sub Class_Terminate 
End Sub '''''''''''''''''''''''''''''''''''''''''''''''' 
''''设定参数的数据属性'''''''''''''''''''''''''' 
'''''''''''''''''''''''''''''''''''''''''''''''' 
Public Property Let SubAccNo(inValue) 
  m_SubAccNo = inValue 
End Property Public Property Let CurrencyNo(inValue) 
  m_CurrencyNo = inValue 
End Property Public Property Let StoreType(inValue) 
  m_StoreType = inValue 
End Property Public Property Let StoreTime(inValue) 
  m_StoreTime = inValue 
End Property Public Property Let AccAmtFlag(inValue) 
  m_AccAmtFlag = inValue 
End Property Public Property Let AccAmt(inValue) 
  m_AccAmt = inValue 
End Property Public Property Let OpenAccDate(inValue) 
  m_OpenAccDate = inValue 
End Property '''''''''''''''''''''''''''''''''''''''''''''''' 
''''获取参数的数据属性'''''''''''''''''''''''''' 
'''''''''''''''''''''''''''''''''''''''''''''''' 
Public Property Get SubAccNo 
  SubAccNo = m_SubAccNo 
End Property Public Property Get CurrencyNo 
  CurrencyNo = m_CurrencyNo 
End Property Public Property Get StoreType 
  StoreType = m_StoreType 
End Property Public Property Get StoreTime 
  StoreTime = m_StoreTime 
End Property Public Property Get AccAmtFlag 
  AccAmtFlag = m_AccAmtFlag 
End Property Public Property Get AccAmt 
  AccAmt = m_AccAmt 
End Property Public Property Get OpenAccDate 
  OpenAccDate = m_OpenAccDate 
End Property '''''''''''''''''''''''''''''''''''''''''''''''' 
Private m_SubAccNo  '字符1(3位) 
Private m_CurrencyNo '字符2(3位) 
Private m_StoreType  '字符3(2位) 
Private m_StoreTime  '字符4(2位) 
Private m_AccAmtFlag '字符5(1位,“+” 、“-” ) 
Private m_AccAmt  '字符6(10位) 
Private m_OpenAccDate '字符7(8位) 
End Class Class SubAccountList 
Private Sub Class_Initialize 
  m_Size = -1 
  ReDim m_SubAccountArr(0) 
End Sub Private Sub Class_Terminate 
  dim i 
  for i = 0 to Ubound(m_SubAccountArr) 
  Set m_SubAccountArr(i) = nothing 
  next 
End Sub Public Function PushBack(ByVal vObject) 
  m_Size = m_Size + 1 
  ReDim Preserve m_SubAccountArr(m_Size) 
  Set m_SubAccountArr(m_Size) = vObject 
  PushBack = m_Size 
End Function Public Property Get Item(nIndex) 
  Set Item = m_SubAccountArr(nIndex) 
End Property Public Property Let Item(nIndex, vObject) 
  Set m_SubAccountArr(nIndex) = vObject 
End Property Property Get Count 
  Count = m_Size + 1 
End Property Private m_SubAccountArr() 
Private m_Size 
End Class '''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' 
'假如这里有一串数据,这串数据是从文件 
'"C:\SubAccountList\SubAccountList.txt" 
'中取得的 
'71387618361083109236198371371987319837198371298371983719837 
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''' Dim ReadLine : ReadLine = "71387618361083109236198371371" Function GetSubAccountList() 
Dim SubAccLst : Set SubAccLst = new SubAccountList 
'第一行的读取开始、第二行的读取开始、... 
Dim SubAcc 
Set SubAcc = SubAccountItem(ReadLine) 
if SubAcc is nothing then 
else 
  SubAccLst.PushBack SubAcc 
end if 
'第一行的读取结束、第二行的读取结束、... 
Set GetSubAccountList = SubAccLst 
End Function Function SubAccountItem(ReadLine) Dim ReadLineLen : ReadLineLen = Len(ReadLine) if ReadLineLen <> (SUBACCNOLEN _ 
      + CURRENCYNOLEN _ 
      + STORETYPELEN _ 
      + STORETIMELEN _ 
      + ACCAMTFLAGLEN _ 
      + ACCAMTLEN _ 
      + OPENACCDATELEN) then 
  Set SubAccountItem = nothing 
  Exit Function 
End if Dim ReadOffset : ReadOffset = 1 Dim SubAcc : Set SubAcc = new SubAccount Do While ReadOffset <= ReadLineLen 
  SubAcc.SubAccNo  = Mid(ReadLine, ReadOffset, SUBACCNOLEN) 
  ReadOffset = ReadOffset + SUBACCNOLEN 
  SubAcc.CurrencyNo = Mid(ReadLine, ReadOffset, CURRENCYNOLEN) 
  ReadOffset = ReadOffset + CURRENCYNOLEN 
  SubAcc.StoreType = Mid(ReadLine, ReadOffset, STORETYPELEN) 
  ReadOffset = ReadOffset + STORETYPELEN 
  SubAcc.StoreTime = Mid(ReadLine, ReadOffset, STORETIMELEN) 
  ReadOffset = ReadOffset + STORETIMELEN 
  SubAcc.AccAmtFlag = Mid(ReadLine, ReadOffset, ACCAMTFLAGLEN) 
  ReadOffset = ReadOffset + ACCAMTFLAGLEN 
  SubAcc.AccAmt  = Mid(ReadLine, ReadOffset, ACCAMTLEN) 
  ReadOffset = ReadOffset + ACCAMTLEN 
  SubAcc.OpenAccDate = Mid(ReadLine, ReadOffset, OPENACCDATELEN) 
  ReadOffset = ReadOffset + OPENACCDATELEN 
Loop Set SubAccountItem = SubAcc 
End Function

解决方案 »

  1.   

    作为用文本型数据库,只要定义好 schema.ini,直接就能用 ADO 打开,根本不需要自己进行任何分析。
    http://topic.csdn.net/u/20080428/08/91592ebe-f82a-453a-a805-07f7771db9b3.html
      

  2.   

    我这里给你提供一个逻辑流程:1、获取文本文件内容存为一个字符串变量,string01;
    2、将string01分成7数组变量,
    3、将7个数组变量的值分别依次在控件MSHFlexGrid1中显示。
      

  3.   

    楼主这些数据是不是每条数据占一行还是没有分行,
    是不是只包括数字字母及 -号
    该文件文件是ANSI编码还是UNICODE编码