
'按照你的意思,应该是把字母和数字自动找到分隔符分开,如果你确定分隔符是"|"并且只有两部分那就好办,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/11973Dim 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)
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)