vb.net 多个textbox写入txt
写入:FileOpen(1,Application.StartupPath+"\yh.ini",OpenMode.Output)Print(1,"1"&vbCrLf)Pr...
写入:
FileOpen(1, Application.StartupPath + "\yh.ini", OpenMode.Output)
Print(1, "1" & vbCrLf)
Print(1, TextBox1.Text & vbCrLf)
Print(1, TextBox1.Text)
FileClose(1)
说明:把”1“写在yh.ini的第一行,TextBox1.Text写在yh.ini的第二行,TextBox1.Text写在yh.ini的第三行
读取:
Dim contentstring1() As String = System.IO.File.ReadAllText("yh.ini").Split(vbCrLf)
Dim contentstring2 As String
contentstring2 = contentstring1(0).Replace(" ", "").Trim
If contentstring2 = "1" Then
TextBox1.Text = contentstring1(1).Replace(" ", "").Trim
TextBox2.Text = contentstring1(2).Replace(" ", "").Trim
说明:读取yh.ini文件,把第一行读取到textbox1.text,第二行读取到textbox2.text中
问题说明:读取和写入正常,但是编码上存在问题,写入时的编码是:ANSI,读取时英文读取正常,中文读取时乱码。
需要解决的问题,解决编码的问题,需要用UTF-8编码写入,请问谁可以帮我修改一下。
补充需要解决的问题:或者读取编码为:ANSI的yh.ini的文件(包含中文) 展开
FileOpen(1, Application.StartupPath + "\yh.ini", OpenMode.Output)
Print(1, "1" & vbCrLf)
Print(1, TextBox1.Text & vbCrLf)
Print(1, TextBox1.Text)
FileClose(1)
说明:把”1“写在yh.ini的第一行,TextBox1.Text写在yh.ini的第二行,TextBox1.Text写在yh.ini的第三行
读取:
Dim contentstring1() As String = System.IO.File.ReadAllText("yh.ini").Split(vbCrLf)
Dim contentstring2 As String
contentstring2 = contentstring1(0).Replace(" ", "").Trim
If contentstring2 = "1" Then
TextBox1.Text = contentstring1(1).Replace(" ", "").Trim
TextBox2.Text = contentstring1(2).Replace(" ", "").Trim
说明:读取yh.ini文件,把第一行读取到textbox1.text,第二行读取到textbox2.text中
问题说明:读取和写入正常,但是编码上存在问题,写入时的编码是:ANSI,读取时英文读取正常,中文读取时乱码。
需要解决的问题,解决编码的问题,需要用UTF-8编码写入,请问谁可以帮我修改一下。
补充需要解决的问题:或者读取编码为:ANSI的yh.ini的文件(包含中文) 展开
展开全部
IO.File.WriteAllText 用这个去写入就是utf8
追问
IO.File.WriteAllText("yh.ini", "1" & vbCrLf & TextBox1.Text & vbCrLf & TextBox2.Text)
将文件写在yh.ini里
用vbCrLf 换行
第一行写入1,
第二行写入textbox1
第三行写入textbox2
你看我写的对吗?
如果不对你可以帮我写一下吗?
问题:不需要关闭yh.ini吗?
追答
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'IO.File.WriteAllText("yh.ini", "1" & vbCrLf & TextBox1.Text & vbCrLf & TextBox2.Text) '不需要关闭文件 自动关闭
'=====上面utf 下面ANSI
FileOpen(1, "yh2.ini", OpenMode.Output)
Print(1, "1" & vbCrLf)
Print(1, TextBox1.Text & vbCrLf)
Print(1, TextBox2.Text)
FileClose(1)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
'Dim S As String = IO.File.ReadAllText("yh.ini")
'TextBox1.Text = Split(S, vbCrLf)(1)
'TextBox2.Text = Split(S, vbCrLf)(2)
'=====上面utf 下面ANSI
Dim i As Long
FileOpen(1, "yh2.ini", OpenMode.Input)
Do While Not EOF(1)
Dim S1 As String = LineInput(1)
i = i + 1
If i = 2 Then
TextBox1.Text = S1
ElseIf i = 3 Then
TextBox2.Text = S1
End If
Loop
FileClose(1)
End Sub
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
提供一个ini文件给我。我给你调试下。
更多追问追答
追问
文件名是yh.ini
文件的内容为空
IO.File.WriteAllText("yh.ini", "1" & vbCrLf & TextBox1.Text & vbCrLf & TextBox2.Text)
这样已经可以写入了,
现在我就想问一下,这个代码好像还没有结束吧
追答
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
FileOpen(1, "yh.ini", OpenMode.Output)
Print(1, "1" & vbCrLf)
Print(1, TextBox1.Text & vbCrLf)
Print(1, TextBox1.Text)
FileClose(1)
FileClose(1)
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button2.Click
FileOpen(1, "yh.ini", OpenMode.Input)
Dim f As String = ""
While EOF(1) = False
f = f & vbCrLf & LineInput(1)
End While
FileClose(1)
MsgBox(f)
End Sub
这是我调试好的一个写 一个读的代码。中文没问题的
请采纳,
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询