求vb读写文本的代码

求vb读写文本的代码,第1张

'按照你的意思,应该是把字母和数字自动找到分隔符分开,如果你确定分隔符是"|"并且只有两部分那就好办,split函数就可以

'如果是自动寻找,那么就要用到Asc函数来区分字母和数字,还复杂了牵涉到分隔符是否多次出现的判断

Private ClickNum As Integer '声明一个全局点击数目变量

Private Str As String '声明字符变量

Private Filenum As Integer '声明闲置文件

Private I As Integer, J As Integer

Private Sub Form_Load()

ClickNum = 0 '初始计数为0

End Sub

Private Sub Command1_Click()

On Error Resume Next

Dim MyStr1() As String, MyStr2() As String

MyStr1 = Split(Text1.Text, vbCrLf)

J = UBound(MyStr1) + 1 '确认行数

'MsgBox ClickNum &"次"

If ClickNum <J Then

  Text2.Text = ""

  If ClickNum = 0 Then '第一次点击

    MyStr2 = Split(MyStr1(0), "|")

    Text2.Text = MyStr2(0) &"  第1行"

  Else

    MyStr2 = Split(MyStr1(ClickNum), "|")

    Text2.Text = MyStr2(0) &"  第" &ClickNum + 1 &"行"

  End If

  ClickNum = ClickNum + 1 '确认点击次数和行数计数+1

Else

  MsgBox "已到最后一行,确定后重新开始计数"

  ClickNum = 0

End If

End Sub

Private Sub Command2_Click()

On Error Resume Next

Dim MyStr1() As String, MyStr2() As String

MyStr1 = Split(Text1.Text, vbCrLf)

J = UBound(MyStr1) + 1 '确认行数

If ClickNum <J Then

  Text2.Text = ""

  If ClickNum = 0 Then '设置Command1键从未点击时Command2键无效

    MyStr2 = Split(MyStr1(0), "|")

    Text2.Text = ""

  Else

    MyStr2 = Split(MyStr1(ClickNum), "|")

    Text2.Text = MyStr2(1) &"  第" &ClickNum &"行"

  End If

Else

  MsgBox "已到最后一行,确定后重新开始计数"

  ClickNum = 0

End If

End Sub

Private Sub Text1_Change()

ClickNum = 0 '当文本框内容改变时重新计算行数并从第一行开始

End Sub

工作需要 我需要使用对文本文件进行读写 *** 作 编程需要完成如下工作

把程序执行错误追加到错误日志中

使巧巧读书网的编辑能够读取错误日志

记得以前使用vb 的时候 对文本文件的 *** 作挺麻烦的 特别是在写文件的时候 需要区分什么顺序文件 随机文件 很教材都专门针对文本文件的读写开辟了一个章节来讲解 够麻烦的了 现在使用 net读写文本文件 因为时间仓促 没来得及细看MSDN 同时受到 的思路影响 把问题复杂化了 在追加记录到文本文件尾部的时候就写不下去了 后来仔细看了一下MSDN中例子 问题终于得到了解决

好了下面进入正题 分别把中对文本文件进行读和写的通用 *** 作做个示例 免得后来新手多走弯路

我们这里是对文件流进行 *** 作 所以模块前面要加上

Imports System IO

写 *** 作

使用System IO的StreamWriter 下面是代码

Dim strFilePath As String = SaveFileDialog FileName

Dim sw As StreamWriter = New StreamWriter(strFilePath True) true是指以追加的方式打开指定文件

For i = To j

temp = i ToString

sw WriteLine(temp)

sw Flush()

Next

sw Close()

sw = Nothing

首先要说明的是构造函数new

Public Sub New(path append Encoding)

path 要打开文件的完整路径 如果文件不存在则自动建立一个新的文件

append 缺省值为false 指示是否以追加方式打开指定文件 false——如果存在path指定的文件 则覆盖原文件 否则建立一个新文件 true——如果存在path指定的文件 则打开该文件 以追加数据的方式在文尾写数据 否则建立一个新文件

Encoding 缺省值为System Text Encoding Default 即使用系统缺省的编码 指示以什么样的编码写文件

WriterLine(str) 在文本中添加一个新行 同时在行尾加上回车换行符

读 *** 作

Dim line As String

Dim sr As StreamReader = New StreamReader(strPath System Text Encoding Default)

Do While sr Peek() >

line = sr ReadLine()

Loop

sr Close()

sr = Nothing

构造函数new

Public Sub New(Path Encoding)

path 要打开文件的完整路径 如果文件抛出一个错误

Encoding 缺省值为System Text Encoding Default 即使用系统缺省的编码 指示以什么样的编码读文件

lishixinzhi/Article/program/net/201311/11973

Dim name As String = ""

        Dim age As Integer

        name = InputBox("请输入姓名")

        age = InputBox("请输入年龄")

        FileOpen(1, "d:\信息.txt", OpenMode.Append)

        WriteLine(1, name, age)

        FileClose(1)

 FileOpen(1, "d:\信息.txt", OpenMode.Append)

        WriteLine(1, name, age)

        FileClose(1)

        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)


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/tougao/7979036.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-12
下一篇2023-04-12

发表评论

登录后才能评论

评论列表(0条)

    保存