我的程序是不停的向Text中写数据,因为Text容量有限(好象是64KB吧),写到一定的时候,Text中就不会发生变化了!我想在这个时候将Text1.Text=""!不知道有什么办法可以作到!

解决方案 »

  1.   

    你写只前len(text1.text)=64K是就text1.text=""
      

  2.   

    兄弟!帮忙在解释一下len的含义,具体点!
      

  3.   

    blackbug119(黑虫子) 的方法恐怕有问题。别的先不说,对于这个问题len的值是不可靠的,因为它把占用两个字符的汉字也返回1。
      

  4.   

    那用lenB函数总可以了吧呵呵
    判断len(text1.text)=64*1024*2不就可以了吗
      

  5.   

    VB 32-bits 都是采 Unicode,Unicode 的储存方式无论中英文字,均是以 2bytes 来储存,可以这样解决:
    用Lenb(Strconv(text1.text, vbFromUnicode))=64*1024*2来判断肯定没有问题了呵呵
      

  6.   

    ....好象是这样的,我没想到那还有一个笨方法
    用一个LONG的变量来记写了多大
    没次写的时候判断一下是不是输入汉字,是那个变量加2否加1
    一次写出多个可以用循环
      

  7.   

    to creazyfish(梳分头的鱼) 
       If Lenb(Strconv(text3.text, vbFromUnicode))=64*1024*2 Then Text3.Text = ""
    或 If len(text3.text)=64*1024*2 Then Text3.Text = ""或 If len(text3.text)=64*1024 Then Text3.Text = ""我这样写了,程序会报溢出!帮忙在看下罗!
      

  8.   

    诶,最简单的办法用richtextbox代替文本控件,工程-部件-选中microsoft rich textbox control 6.0然后添加到窗体就可以了,他是没有大小限制的,其实我们在做比如读取一个不知道大小的文件到文本框一般都会选择用这个控件的,试一下肯定没有问题的啦呵呵
      

  9.   

    啊!我早先用了richtextbox,后来放弃了,他好象会影响我程序写数据,变慢!我就用Text,没有办法达到上面的要求吗?
      

  10.   

    VB6 没有 64K 限制:
    窗体上加 TextBox(MultiLine=True, ScrollBar = 3)和 Timer 控件
    Option ExplicitPrivate Sub Form_Load()
        Text1 = vbNullString
        Timer1.Interval = 50
    End SubPrivate Sub Timer1_Timer()
        Static iASC As Integer
        
        If iASC = 0 Or iASC = vbKeyZ Then
            iASC = vbKeyA
        Else
            iASC = iASC + 1
        End If
        
        Text1.SelText = String(1000, iASC) & vbCrLf
        Debug.Print Len(Text1.Text)
    End Sub
      

  11.   

    每次写数据前如下判断,其中变量strInput代表你要输入的数据If Lenb(Strconv(text3.text, vbFromUnicode)) + Lenb(Strconv(strInput,vbFromUnicode)) >= 64*1024*2 Then Text3.Text = ""
      

  12.   

    Lenb(Strconv(text1.text, vbFromUnicode))=64*1024*2