📄 020402.htm
字号:
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>vb study</title><style>
<!--
td {font-size: 9pt}
A:link {text-decoration: none; color: #0033cc;font-size: 9pt}
A:visited {text-decoration: none; color: #0066CC;font-size: 9pt}
A:active {text-decoration: none; color: #ff0000; font-size: 9pt}
A:hover {text-decoration: underline; color: #000000;font-size: 9pt}
-->
</style>
</head>
<body>
<div align="center">
<center>
<table border="0" cellpadding="0" cellspacing="0" width="98%">
<tr>
<td width="100%"><a href="#">你的位置</a>:<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="#">VB学习</a>--<a href="#">ActiveX控件</a></td>
</tr>
<tr>
<td width="100%">
<p align="center"><font size="2">文件的读写</font></td>
</tr>
<tr>
<td width="100%"><br>
<font size="2">顺序文件<br>
<br>
文件是由文件名标识的一组相关信息的集合,是计算机存储信息的基本单位。文件分为三类:<br>
1,顺序文件,适用于读写连续块中的文本文件,以字符存储。由于是以字符存储,因此不宜存储太长的文件(如大量数字)。否则会占据大量资源。<br>
2,随机文件,适用于读写有固定长度多字段记录的文本文件或二进制文件,以二进制数存储;<br>
3,二进制文件,适用于读写任意结构文件,以二进制信息存储(1字节=8个二进制位),在打开时,要根据不同方式进行二进制码的转换。<br>
顺序文件:Open语句的input,output,append.其中,Input是从顺序文件中读取字符(不能创建文件);output是向顺序文件输出字符,指定文件不存在时可创建文件,指定文件存在时将先清空其原有内容再输出字符;append也是向顺序文件输出字符,文件不存在时将创建这个文件,文件存在时不会清除其原有内容,而将输出字符追加到原内容尾部。<br>
open...input...语句:读顺序文件。<br>
一、input()函数,照原样读取整个或部分顺序文件。格式:<br>
input(字符长度,文件号)<br>
Text1.Text = Input(100, 1)<br>
如果字符长度为一个整数,则表示从文件开头选定长度字符串读入(1个换行符占2个字符),如果字符长度用个函数 :LOF(文件号)来标识,就是读入整个文件,如: text1.text=input(LOF(1),1) <br>
而我实验了但是:!!!不行。 LOF返回的是"文件大小",不单指内容中字符串长度,如一个27KB的文件,其中文字内容长度只有19KB。怎么办?原来是input函数不行,要用inputB函数。text1.text=InputB(LOF(1),1),但出来的是些乱码,还有问题?要用StrConv函数进行转换。使用如下的语句即可: <br>
Text1.text= StrConv(InputB(LOF(1), 1), vbUnicode) <br>
因为LOF返回的是以字节为单位的长度,因此要用InputB来取出。另外在VB中使用了Unicode,所以要用Strconv把取出的内容转换为Unicode类型。<br>
StrConv函数:将1个字符串(或变体类型数据)按指定类型进行转换。语法:<br>
新字符串=StrConv(原字符串,转换类型)<br>
lxn$=StrConv("我的名字叫李新宁",vbFromUnicode)<br>
转换类型可能值如下:<br>
vbUpperCase(值1):将字符串文字转成大写<br>
vbLowerCase(值为2):将字符串文字转成小写<br>
vbProperCase(值3):将字符串中每个字的开头字母转成大写<br>
vbWide(值4):将字符串中单字节字符转成双字节字符<br>
vbNarrow(值8):将字符串中双字节字符转成单字节字符<br>
vbUnicode(值64):根据系统的缺省码页将字符串转成Unicode。<br>
vbFromUnicode(值128):将字符串由Unicode转成系统的缺省码页。<br>
觉得很麻烦,还是要用我的line input #. <br>
二、line input # 语句,读取文件中的一行字符,它的工作方式是:从当前字符开始逐个读入字符,遇到一个回车/换行符就结束,并去掉这2个"回车/换行"符,得到一个纯文本行,该语句对需要一行一行文字的某些地方很有用,而要读入整个文件,用这个语句就需要在每读入一行的末尾又补上"回车/换行"符,才能恢复原样。格式:<br>
line input #文件号,字符串变量<br>
line input #1,lxn<br>
读取整个文本的例如...Do while not EOF(1)<br>
line input #1,lxn<br>
alltext$=alltext$ & lxn & chr(13)+chr(10)<br>
Loop<br>
三、input # 语句,读取一行字符,与line input #不同的是:不仅遇到"回车/换行"符会结束,遇到逗号时也会结束(注:逗号为英文输入法的半角逗号),并自动删除读入的每行开头的空格。<br>
open...output...语句和open...append...语句:写顺序文件。<br>
有个语句很重要:print # 语句,照原样写入顺序文件。格式:<br>
print #文件号,字符串变量<br>
print #1,text1.text<br>
它也可直接将字符串print#到文件中,如:print #1,"我";"是个";"好人"<br>
用分号表示紧凑输出,如用逗号表示标准输出(每两个间隔8个字符),这方面的语法和print一样。</font>
<p align="center">
<br>
< <a href="020401.htm">上一页</a>--<a href="http://www.xxby.com" target="_blank">华生小屋</a>--<a href="020403.htm">下一页</a>
><br>
</td>
</tr>
</table>
</center>
</div>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -