谁能告诉我?(2)

Kangaroo2003 2003-09-14 10:22:03
Private Sub cmd1_Click()
no = Text1.Text
na = Text2.Text
Open "C:\a.txt" For Output As #2
Write #2, no, na
Close #2
End Sub
他可以记录2组数据~但是在txt文件中无法多行记录~为什么?
...全文
23 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodname008 2003-09-14
  • 打赏
  • 举报
回复
Print # 语句


将格式化显示的数据写入顺序文件中。

语法

Print #filenumber, [outputlist]

Print # 语句的语法具有以下几个部分:

部分 描述
filenumber 必要。任何有效的文件号。
outputlist 可选。表达式或是要打印的表达式列表。


设置

outputlist 参数的设置如下:

[{Spc(n) | Tab[(n)]}] [expression] [charpos]

设置 描述
Spc(n) 用来在输出数据中插入空白字符,而 n 指的是要插入的空白字符数。
Tab(n) 用来将插入点定位在某一绝对列号上,这里,n 是列号。使用无参数的 Tab 将插入点定位在下一个打印区的起始位置。
expression 要打印的数值表达式或字符串表达式。
charpos 指定下一个字符的插入点。使用分号将插入点定位在上一个显示字符之后。用 Tab(n) 将插入点定位在某一绝对的列号上,用无参数的 Tab 将插入点定位在下一个打印区的起始处。如果省略 charpos,则在下一行打印下一个字符。


说明

通常用 Line Input # 或 Input 读出 Print # 在文件中写入的数据。

如果省略参数 outputlist,而且,filenumber 之后只含有一个列表分隔符,则将一空白行打印到文件中。多个表达式之间可用一个空白或一个分号隔开。空白与分号等效。

对于 Boolean 类型的数据,打印的是 True 或 False。无论在什么国别,都不将 True 和 False 这两个关键字翻译出来。

使用操作系统所能够辨认的标准短日期格式可将 Date 类型的数据写入文件中。在未指定日期或时间部件或这些部件的设置为零时,只将指定的部分写入文件中。

如果 outputlist 的数据是 Empty,则不将任何数据写入文件。但是,如果 outputlist 的数据是 Null,则将 Null 写入文件。

对于 Error 类型的数据而言,输出的数据看起来与 Error errorcode 一样。而且无论在什么地区,都不将 Error 关键字翻译出来。

用 Print # 写入文件的所有数据都是国际通用的;也就是说,可以正确利用十进制分隔符将这些数据格式化。

因为 Print # 将数据的图像写入文件,所以必须将各项数据分隔开来,以便正确打印。如果使用无参数的 Tab 将打印位置移动到下一个打印区,则 Print # 也会将打印字段之间的空白写入文件中。

注意 如果今后想用 Input # 语句读出文件的数据,就要用 Write # 语句而不用 Print # 语句将数据写入文件。因为在使用 Write # 时,将数据域分界就可确保每个数据域的完整性,因此可用 Input # 再将数据读出来。使用 Write # 还能确保任何地区的数据都被正确读出。
goodname008 2003-09-14
  • 打赏
  • 举报
回复
' 用Print吧,用Write加上vbcrlf后会缺少引号

Option Explicit

Private Sub cmd1_Click()
Dim no As String, na As String
no = Text1.Text
na = Text2.Text
Open "C:\a.txt" For Output As #2
Print #2, no & vbCrLf & na
Close #2
End Sub

CHKK 2003-09-14
  • 打赏
  • 举报
回复
不好意思错了
应该是:
na=text2.text & vbcrlf
no 应该是纪录号之类的数值
goodname008 2003-09-14
  • 打赏
  • 举报
回复
' 用Print吧,用Write加上vbcrlf后会缺少引号.

Option Explicit

Private Sub cmd1_Click()
Dim no As String, na As String
no = Text1.Text
na = Text2.Text
Open "C:\a.txt" For Output As #2
Print #2, no & vbCrLf & na
Close #2
End Sub

CHKK 2003-09-14
  • 打赏
  • 举报
回复
无法多行记录?
是不是说打开txt文件后没有换行?
要是这样的话要注意在 text1.text后加上vbcrlf
既:no=text1.text & vbcrlf

1,486

社区成员

发帖
与我相关
我的任务
社区描述
VB API
社区管理员
  • API
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧