您的位置:程序门 -> vb -> 基础类



读中文txt文件?


[收藏此页] [打印本页]选择字色:背景色:字体:[][][]


读中文txt文件?[已结贴,结贴人:lelexy]
发表于:2007-06-05 11:32:54 楼主
vb怎么去读一个txt文件中的中文字条符串?
line   input   #2,   inputd  
ctitle   =   split(inputd,   ": ")
ctitletemp   =   strconv(ctitle(1),   vbunicode)
用strconv函数转换了,但还是乱码,请高手指教啊,多谢
发表于:2007-06-05 11:44:191楼 得分:5
中国最佳原创:[vb6]支持utf文本文件访问的模块
http://blog.csdn.net/zyl910/archive/2006/05/30/762693.aspx

转贴:good   format   at:
http://chenoe.com/blog/article.asp?id=2030
发表于:2007-06-05 13:05:352楼 得分:5
文件中的中文字条符串???
没能理解lz   意思!!   读txt   不管中文英文,把其理解为字符串   处理就好了!

下面请lz   跟我做个例题:       把下列文本读入程序:
--------------------
vbblack:黑色
rgb:颜色函数
随机函数:rnd  
cike技术交流群:16874787
--------------------
现在要把上面的东西读入程序中的   text1   text2   text3  
其中text1读取   所有txt内容  
text2   提取   ": "   符号左边的字符    
text3   提取   ": "符号由边的字符
步骤1:   复制上面代码到   c:\1.txt中  
步骤2:新建vbexe   把如下控件拖动到窗体中:text1   text2   text3   command1
步骤3:分别设置text1   text2   text3   为多行   [这个会设置吧!]
步骤4:复制以下代码:

private   sub   command1_click()
open   "c:\1.txt "   for   input   as   #1   '打开文件
'先清空
text1   =   " "
text2   =   " "
text3   =   " "
do   until   eof(1)   =   true                     '文件没读完就继续

        line   input   #1,   变量                   '提取出该行   用变量存储
        总内容   =   总内容   &   变量   &   vbcrlf               '这个变量用来存储总的内容
        if   instr(变量,   ": ")   >   0   then   '   以某符号为标识   有这个符号就开始进行操作
                符号位置   =   instr(变量,   ": ")       '提取标识位置   用做以下计算
                左边字符   =   left(变量,   符号位置   -   1)     '提取标识左边的字符
                右边字符   =   right(变量,   len(变量)   -   符号位置)     '提取右边

                左边内容   =   左边内容   &   左边字符   &   vbcrlf   '这边变量存储左边的字符
                右边内容   =   右边内容   &   右边字符   &   vbcrlf   '右边
        end   if
loop                                           '记得结束循环
text1   =   总内容                       '以上提取的内容分别赋到对应的控件内
text2   =   左边内容
text3   =   右边内容
close   #1                                   '记得关闭文件
end   sub
==================================================
cike技术交流群   16874787
发表于:2007-06-05 13:58:583楼 得分:0
是txt文件中的中文字符串,读出来放到变量就成乱码了
发表于:2007-06-05 14:02:054楼 得分:0
顶1楼.

那的确是个好代码.

我一般自己用时,是使用二进制来读.如下:

dim   tmpstr   as   string

open   "xx.txt "   for   binary   as   #1
          tmpstr=space(eof(1))
          get   1,,tmpstr
close   #1

这样,tmpstr里面就是文件的内容了.

使用split可以根据换行符拆分一下.
发表于:2007-06-05 14:14:085楼 得分:0
cike_1111()   ???

好熟啊......我是马大哈.....
发表于:2007-06-05 18:25:366楼 得分:0
winxp的记事本保存文件时缺省是按utf-8格式保存的。可用winxp记事本打开后另存为ansi格式保存,再用vb打开就不是乱码了。


快速检索

最新资讯
热门点击