要读的文本:
[Window]
Height=3255
Width=3585
Top=390
Left=390
[Set]
FrmCaption=爱的宣言:
BKColor=65280
PassWord=051049055050087065053054050049068077115076
FontName=华文彩云
FontSize=14
FontBold=0
FontItalic=0
Strikethrough=0
Underline=0
[FontColor]
Count=7
1=255 #红
2=33023 #橙
3=65535 #黄
4=65280 #绿
5=16776960 #青
6=16711680 #蓝
7=8388672 # 紫
[Data]
MemText=<img Name=img1 scr=E:\编程\vb\新文件\例子文件\便笺\frmchild1.ini::flower2.bmp|imgData1 LinkType=0 ScrData= >送给你的</img>我爱你,高林,我永远也忘不了你,回来吧。<Video Name=Video1 Scr=E:\收藏文件\电影\无底洞\无底洞.xv LinkType=1>img1</Video>
imgData1=
到这里结束
正确的应该是628个字节,但是怎么样才能通过代码读这个数出来?

解决方案 »

  1.   

    本帖最后由 bcrun 于 2011-11-20 10:45:09 编辑
      

  2.   

    将文件从文本中读出,然后将其赋值给字符串,再使用LenB取得其长度。这个思维很简单啊。楼主可以试一试。
      

  3.   

    将文本拷贝入text1Private Sub Text1_Change()
        Text2 = LenB(Text1)  '1136 在VB中实际占用字节数,英文数字字符会多填充一个0(unicode)
        Text3 = Len(Text1)   '568字符个数 
        Text4 = LenB(StrConv(Text1, vbFromUnicode))'630 ansi编码字符长度
    End Sub
      

  4.   

    数不是我数的,VB自己数的,这段东西本来在文件里,你把它放到文件里去试试,用open语句打开文件,用LOF函数能数出628个字符。然后将文件里的内容取出来,放到一个变量里,再用你的方法去算就只有576个,到底错在哪了,就是想让你帮我看看~~
      

  5.   

    发现问题的所在了,缺德的VB在读文件的时候把中间一大堆的回车换行符,空格都给吃了。再说一句,我不是怀疑SupermanKing大哥的代码有问题,在字符串少的时候我试过,可以的,他的方法我在另外一篇帖子里见过,只是不知道为什么到我这里会出问题,想请你帮忙看看~~。本人表达的不好,招人误会~~~,见谅~~~
      

  6.   

    你这个是.ini文件结果,用 GetPrivateProfileString 来读吧。
      

  7.   

    问题不是 VB 缺德吃了换行符号,而是你读取文件的方法不正确。
    还有,如果文本在文件里,直接用访问文件的函数就可以得到文件大小,根本不用这么去取得大小。
    如:
    Msgbox FileLen("C:\1.txt")至于读文件,要一次读完文件的所有数据,就可以用以下方法实现:   Dim buff() as Byte
       Dim fs As Integer
       Redim Buff(1 to FileLen("C:\1.txt"))
       fs = FreeFile
       Open "c:\1.txt" For Binary As #fs
       Get #fs,1,Buff
       Close #fs
       ' 这样一来整个文件的数据内容就在 Buff 这个字节数组中了,不会有任何缺失
        ' 如果确定数据内容是字符串类型,可以通过以下方法字节数组转换成字符串类型
       Text1.text = StrConv(Buff, vbUnicode)