各位大虾,我想在程序运行时根据用户所输入的信息自定义数据类型,能否实现?

解决方案 »

  1.   

    自定义数据类型
    Private Type atype
        a As Long
        b As String
    End Type
      

  2.   

    1.使用动态数组     2.使用Variant类型
    其他的应该是没有了 
      

  3.   

    自定义数据类型
    Private Type TypeA
        tName As String
        tAge As Long
    End Typedim i as typeA
    i.name="ABC"
    i.tage=10
      

  4.   

    这样的需求?你是不是想做自己的脚本程序?在解码脚本时可能才有这样的需求吧。
    如果你会解码任意多个变量运算和任意表达式(如:运算及函数对象等)这更本就不
    是问题。如果你不是对脚本解码,我还真想不出你为什么有这样的需求?如果只是为了存储用户的数据,大可全部以文本存储数据,实在要有数据类型信息
    的话可以加以说明,在读取数据时根据类型说明将变量进行强制转换就可以了,比如:
    @|5               '表示5条记录
    1|65535           '1表示Intteger
    2|文字            '2表示String
    3|From1           '3表示Object
    4|255             '4表示Byte
    ...
    @|5
    ...这种方法可以用普通的读写文本方法读写文本数据或是以XML存储,如:
    <XML>
       <allinfo id="0">
          <data type="Integer" len="2">65535</data>
          <data type="Long" len="4">567367</data>
          <data type="String" len="0">你好</data>
          <data type="Byte" len="1">123</data>
          <data type="String" len="6">中国人</data>
       </allinfo>
       <allinfo id="1">
          <data type="Integer" len="2">3356</data>
          <data type="Long" len="4">894</data>
          <data type="String" len="0">哈哈</data>
          <data type="Byte" len="1">3</data>
          <data type="String" len="6">天气好</data>
       </allinfo>
       ...
    <XML>
    用XML便可轻易操作数据
      

  5.   

    不是,我是想将文本文件转化为ACCESS文件,该文本文件中的每个字段都有固定的长度,但是某个字段可能包括中文,因此在知道该文本文件中各个字段长度的前提下,我就可以通过自定义数据类型的方式进行提取。如Private Type TypeA
        tName(20) As byte
        tAge(15) As byte
    End Type
    里面的20、15就是字段的长度,这是在事先知道各个字段长度的前提下,现在的情况是需要在程序运行过程中根据不同的文本文件,输入不同的长度来自定义类型,以增强程序的实用性。还有如果不用这种方法,怎么样才能实现文本文件到ACCESS的转换?(这个问题我已经在前面提过了)。谢谢大虾赐教。
      

  6.   

    你应该看一下XML方面的资料,或者把一个Access转换成XML来看看。...
    rs.open "Select * From 表1",conn,3,3
    rs.Save "C:\1.XML"
    rs.Close
    ...