永发信息网

【VB】如何将文件读入自定义数组中? 一个数组有多个不同类型的元素变量。如下: type stu

答案:1  悬赏:80  手机版
解决时间 2021-01-29 02:04
  • 提问者网友:欲劫无渡
  • 2021-01-28 21:22
【VB】如何将文件读入自定义数组中? 一个数组有多个不同类型的元素变量。如下: type stu
最佳答案
  • 五星知识达人网友:春色三分
  • 2021-01-28 21:56
get #1,1,stud(i)这样不行的。
你应该把 ×××,男,20 分别提取出来分别赋值。
stud(i).name=xxx
stud(i).sex="男"
stud(i).age=20
按你的代码写的,只给你修改stud(i),前提是你其他代码正确:
 get #1,1,abc 
 zz=split(abc,",")
 stud(i).name=zz(0) 
 stud(i).sex=zz(1) 
stud(i).age=val(zz(2))追问按你说的改了,还是提示我变量使用了一个不支持的自动化类型,是不是和我使用的是精简版有关读取随机文件不需要用split()吧追答split 不是随机,是分割你读出来的数据。
你读出来的格式×××,男,20,split(abc,",")就是以,分割成数组,然后再次赋值。

至于其他错误,需要你提供完整代码才能知道具体哪里的问题。
追问用split前面不应该用line input #1,abc么?追答给你理一下思路吧:
1、line input #1,abc,是把txt读取出来的数据赋值给abc,你是直接赋值给stud(i),stud(i)不能这么赋值,具体看下面。
2、读取出来的abc的格式是什么?是这样的:×××,男,20
3、如何才能提取出里面的姓名xxx,性别男,年龄20呢?这就需要用到split分割函数。
   zz= split(abc,",") 就是以逗号分割abc,分割成3块,

    stud(i).name=zz(0) 'zz(0)是分割出来的第一块,就是xxx姓名
     stud(i).sex=zz(1) 'zz(1)第二块性别
    stud(i).age=val(zz(2))'zz(2)第三块年龄,val是提取数字,因为年龄是数字,所有用了个val
4、上面解释完了。你的数组定义也有问题的。
for i =1 to 6
    redim preserve stud(i) '======新增代码,重新定义一下数组
    zz=split(abc,",")
     stud(i).name=zz(0) 
     stud(i).sex=zz(1) 
    stud(i).age=val(zz(2))
 next i

5、再有其他问题,需要你贴出你的全部代码才能知道是什么问题
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯