1 在文件上右键单击,选择“属性”选项。
2 在“属性”窗口中,点击“安全”选项卡。
3 点击“编辑”按钮,选择用户或用户组,然后在“权限”选项中勾选相应的读取或写入权限。
4 点击“确定”按钮,保存更改。
注意,对于一些 *** 作系统,如Unix或Linux,可以通过命令行来分配TXT文件的读写权限。先从Text1写到文件里去,再从文件里读出到Text1中:
Text1的多行功能要自己在属性窗口设置MultiLine=True,ScrollBars=2
以下是二进制读取的过程:
Dim fname As String, ftxt As String
Private Sub Command3_Click() '将文本重新调入文本框
Text1 = ftxt
End Sub
Private Sub Form_Load()
ftxt = "怎样读写一个txt文件,并把全部内容写入text1里(text1有多行功能)?" & vbCrLf & _
"包括读功能还有写功能,读的时候把内容写到text1里。写的时候把text1的内容写进去(之前先把txt内容清空)。" & vbCrLf & _
"还有要那个txt文件用记事本直接打开看到的是乱码,而通过vb读取的是正常。这个功能不难,不是要您加密,好像是ascii和unicode码互换的问题,还是二进制问题……我忘了……不过记得好像是读取代码的参数改一下就行了" & vbCrLf & _
"很久以前搞过,现在忘了。现在急用,希望回答者能给完整代码。我给多分"
Text1Text = ftxt
Command1Caption = "二进制写"
Command2Caption = "二进制读"
Command2Enabled = False
Command3Caption = "调入文本"
fname = "f:\testtxt"
End Sub
Private Sub Command1_Click() '二进制写功能
Dim s() As Byte
s = Text1Text
Open fname For Binary As #1
Put #1, , s
Close #1
Command2Enabled = True
Text1 = ""
End Sub
Private Sub Command2_Click() '二进制读功能
Dim s() As Byte
Open fname For Binary As #1
ReDim s(LOF(1) - 1) As Byte
Get #1, , s
Close #1
Text1Text = s
End Sub
Private Sub Command4_Click() '正常读文件
Dim s As String
Text1 = ""
Open fname For Input As #1
Do While Not EOF(1)
Line Input #1, s
Text1 = Text1 & s & vbCrLf
Loop
Close #1
End Sub
Private Sub Command5_Click() '正常写文件
Dim s As String
s = Text1
Open fname For Output As #1
Print #1, s
Close #1
Text1 = ""
End Sub测试通过
Private Sub Form_Load()
Dim s As String, fs As String, c As Long, b As Integer 'b用于标记位置
Open "该文件所在路径" For Input As #12 '打开文件
Do While Not EOF(121)
Line Input #121, s
If Left(s, 9) = "Frequency" Then b = 1 '读入开头部分
If Left(s, 11) = "1000000000" Then c = Seek(121): Exit Do
If b = 0 Then fs = fs & s & vbNewLine
Loop '已读完1000000000所在行
Seek #121, c - Len(s) - 2 '指针返回到行初
Do While Not EOF(121) '开始读数字行列
Input #121, x1, x2, x3, x4, x5, x6, x7
fs = fs & x1 & Space(15) & Str(Val(x2) + Val(x3)) & vbNewLine
Loop
Close #121
Open AppPath & "\新文件txt" For Output As #121 '打开新文件
Print #121, fs '写入
Close #121
End Sub
这里用了两种读取相结合,原则上讲只用line input即可,但是如果你的文件里数值那部分使用TAB分割的话,用Split()函数来提取信息也不太好使,因为TAB分出来的空格不太确定,一般算8个空格,但我这儿新建的文件读出来是15个空格,这就让人为难了,所以
a = Split(s, " ")未必好使
他这一句是把数据内空格假定为一个,我看有些数据之间的空格数量并不完全相等
楼主看了,应该明白详细的思路了Dim name As String = ""
Dim age As Integer
name = InputBox("请输入姓名")
age = InputBox("请输入年龄")
FileOpen(1, "d:\信息txt", OpenModeAppend)
WriteLine(1, name, age)
FileClose(1)
FileOpen(1, "d:\信息txt", OpenModeInput)
Dim h As String
Dim j As String
Dim f As String
f = ""
h = ""
j = ""
While EOF(1) = False
f = LineInput(1) & vbCrLf & f
End While
FileClose(1)
MsgBox("姓名" & " " & "年龄" & vbCrLf & f)
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)