关于如何将文本框里的多行数据逐行记录在数组里
我要完成如下功能:
    在DataTxt文本框中输入多行数据,如下
111
222
333
444
...
    想在点击Input按钮时,数据逐行记录在一个整数型数组之中,并能统计出一共输入了多少组数据,如
z(1)=111
z(2)=222
z(3)=333
z(4)=444
...n=4‘一共输入4组数据请问此功能应如何实现啊,请大侠们给出代码。不胜感谢!

解决方案 »

  1.   

    使用 split 函数 分割DateTxt内的数据!  分隔条件为 换行 VBCRLFDim a 
    a=split(datatxt.text,vbcrlf)
    for i = 0 to ubound(a)
    print "数组第" & i & "个数据为:" & a(i)
    next i
    print "总:" & str(ubound(a) +1) & "组数据"
      

  2.   

    基础学得牢固点就完全能自己做这个题目了!
    这个题只要认识了这2个函数就能做了split()    分割函数
    ubound()   返回数组最大下标
      

  3.   

    用API函数SendMessage向文本框发送消息,获取文本框的各行文本,然后保存到数组中。参见下面:
       多行TextBox中的快速处理功能在处理多行TextBox时我们经常会碰到以下几种情况:   希望了解多行TextBox中目前共有多少行文字。   想快速返回第N行的文字。 
              对于上面的情况,如果用VB自身的语句或函数来实现的话,要写不短的代码,而且由于要采用顺序查找的办法来完成,因此代码的执行效率也很低。 
            如果使用SendMessage函数则可以大大减少代码量,并大幅度的提高执行效率。   用SendMessage函数完成上面两个任务的方法非常简单,每个任务只需简单地发送一条消息给多行TextBox即可,两个消息分别为:EM_GETLINECOUNT、EM_GETLINE,其它参数和返回值见附表。 
            下面用一个简单的实例演示这两个功能: 
            新建工程,在Form1上添加三个TextBox(名称分别为Text1、txtLineCount、TxtString,将Text1的Multi   Line属性置为True)、三个标签和一个命令按钮。为工程添加一个模块Moudle1,在其中写如下声明(其中   SendMessage函数的声明可以从VB的“API浏览器”中复制):   消息常量名   消息值   wParam   lParam   返回值   EM_GETLINECOUNT   &HBA   未用   未用   行数   EM_GETLINE   &HC4   要找的行号   存结果的字节串   结果字节串的字节数   
            Declare   Function   SendMessage   Lib   "user32"   Alias   "SendMessageA"   (ByVal   hwnd   As   Long,   ByVal   wMsg   As   Long,   ByVal   wParam   As   Long,lParam   As   Any)   As   Long   
          public   Const   EM_GETLINECOUNT=&HBA   Public   Const   EM_GETLINE=&HC4   
          在Form1的代码模块中写如下代码:   
            Private   Sub   Command1_Click()   
                          Dim   str(256)   As   Byte   str(1)=1   '最大允许存放256个字符   
                            '获取总行数,结果显示在文本框txtLineCount中   
                            txtlineCount=SendMessage(Text1.hwnd,EM_GETLINECOUNT,0,0)   
                        '获取第3行的数据放在str中,转换为字符串后显示在文本框txtString中   
                            SendMessage   Text1.hwnd,EM_GETLINE,2,str(0)   
                          txtString=   StrConv(str,vbUnicode)   
            End   Sub   
            之后,按F5运行程序,在多行文本框中随便键入几行文字,然后按下[确定]按钮,出现如图画面,说明程序正确统计出了总行数和第3行的文字。两点补充说明:在调用SendMessage获取第N行字符串时,lParam需要说明为字节数组,在调用完成后,再将字节数组转换为字符串;另外,调用前必须在lParam的前两个字节指明允许存放的最大长度,其中第一个字节为低位,第二个字节为高位,本例将高位(即str(1))置1.说明最大允许存放256个字符。 
      

  4.   

    可以像楼上一样用SendMessage,这是最快的方法了,至于难以度嘛~~~也是最难的
    也可以用FileSystemObject对象,该对象有一个方法,可以每次只读一行的,我记得好象是ReadLine
      

  5.   

    不好意思,看错了,我以为是文本文件,原来是文本框~忘记FileSystemObject吧,还是用5楼的实际!
    反正你迟早都要用到API的,晚学不如早学