VB读取dat文件内容到text文本框以及保存文本框内容到dat文件中

2024-11-21 20:25:29
推荐回答(4个)
回答1:

VB读取dat文件需要看dat文件是如何写成的,通常应该是以二进制方式来读取。用Get语句来将数据从文件读到变量中。

同样将数据写入dat文件也应使用二进制方式写,用Put语句实现。

以下是Get语句和Put语句的使用实例:

Option Explicit
    Private Type Record   ' 定义用户自定义的数据类型。
        ID As Integer
        Name As String * 20
    End Type
'读取数据
Private Sub Command1_Click()
    Dim MyRecord As Record, Position   ' 声明变量。
    ' 为随机访问打开样本文件。
    Open "C:\TESTFILE.dat" For Random As #1 Len = Len(MyRecord)
        ' 使用 Get 语句来读样本文件。
        Position = 5   ' 定义记录号。
        Get #1, Position, MyRecord   ' 读第三个记录。
    Close #1
    Text1.Text = MyRecord.ID
    Text2.Text = MyRecord.Name
End Sub
'写入数据
Private Sub Command2_Click()
    Dim MyRecord As Record, RecordNumber   ' 声明变量。
    ' 以随机访问方式打开文件。
    Open "C:\TESTFILE.dat" For Random As #1 Len = Len(MyRecord)
        For RecordNumber = 1 To 5   ' 循环五次。
            MyRecord.ID = RecordNumber   ' 定义 ID。
            MyRecord.Name = "My Name" & RecordNumber   ' 建立字符串。
            Put #1, RecordNumber, MyRecord   ' 将记录写入文件中。
        Next RecordNumber
    Close #1
End Sub

扩展名是DAT的文件并不是一种标准文件。许多软件都使用这个扩展名,但文件含义不同。而许多数据分析软件也用这个扩展名保存数据。所以这要看具体的软件情况来定。DAT文件,可以按照扩展名来看就是DATA的意思,即数据文件,这类文件并没有进行绝对化的定义,例如VCD光盘中的DAT文件就可以用一般的视频播放器打开,而QQ的DAT文件中则存储了用户信息,是无法使用常规方式打开的,只有QQ程序可以访问。还有一些其他程序都有自己对DAT文件的定义,要通过其特殊的程序来打开与之相关联的DAT文件。

参考:http://baike.baidu.com/link?url=bOpq_J07IEkCS_CsW0FG_hoN_0sQAa0w5FVdlxwavqxJDxFUp0g5r6-g3EVzcS_Gu7bGH-hkFdoVfaTVxetjNK

回答2:

文件名命名为时间+text2内容的话,需要对时间字符串进行格式化,例如:
format(now,"YYYY_MM_DD_") & text2.text

文件读取和保存的方法很多,这里不罗嗦了。

回答3:

你先试试这段代码,有什么问题再问我

'command1是保存文本的,command2是读取文本的

Option Explicit
Private Sub Command1_Click()

Dim a As String, b As String, c As String
Dim filePath As String
Dim filePath1 As String

filePath = "D:\temp" '这里写入你的文件所在的文件夹的名字

If Text2.Text = "" Then
MsgBox "请输入文件名"
Exit Sub
End If
a = Text2.Text

filePath1 = filePath + "\" + a + ".dat"
'这里是你的.dat文件的整体路径,比如"D:\temp\001.dat"

'往这个文件里面写入内容
Open filePath1 For Input As #1
Print #1, a
Close #1

End Sub

Private Sub Command2_Click()
Dim a As String, b As String, c As String
Dim filePath As String
Dim filePath1 As String

filePath = "D:\temp"
If Text2.Text = "" Then
MsgBox "请输入文件名"
Exit Sub
End If
a = Text2.Text
filePath1 = filePath + "\" + a + ".dat"

'先检测文件是否存在,不存在则给出提示退出命令

If Dir(filePath1) = "" Then
MsgBox "文件未找到,请检查文件路径及文件名是否正确"
Exit Sub
End If

'从这里开始读入文件内容
c = "" '先清空变量
Open filePath1 For Input As #1
Do While Not EOF(1)
Line Input #1, b '读每一行
c = c + b '每一行的结果添加到变量c里面
Loop
Close #1
text3.Text = c

End Sub

回答4:

保存:
open app.path & "\" & text2.text & ".dat" for output as #1
print #1,text1.text
close #1

读取:
open app.path & "\" & text2.text & ".dat" for binary as #1
text1.text=input(lof(1),#1)
close #1