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
文件名命名为时间+text2内容的话,需要对时间字符串进行格式化,例如:
format(now,"YYYY_MM_DD_") & text2.text
文件读取和保存的方法很多,这里不罗嗦了。
你先试试这段代码,有什么问题再问我
'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
保存:
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