|
三、程序举例
例:用MicrosonJet打开一个文本文件,并输出该文件的内容。假定有一个文本文件,名为txttest.txt,存放在d:\dbtest目录下,内容如下:
a, b, C, d
”采莲词”, ”兰溪掉歌”, ”咏绣障”, ”山中”
朝出沙头日正红 ,凉月如眉挂柳湾, 日暮堂前花芯桥, 荆溪白石出
晚来云起半江中, 越中山色镜中看, 争拈小笔上床描, 天寒红叶稀
赖逢邻女曾相识, 兰溪三日桃花雨, 绣成安向春园里, 山路元无雨
并着莲舟不畏风, 半夜鲤鱼来上滩, 引得黄营下柳条, 空翠湿人衣
该文件包括4首古诗,第一行的a,b,c,d是字段名。为了用Microsoft Jet打开该文件并显示其内容,可按如下步骤操作。首先,建立方案描述信息文件。内容如下:
[txttest.txt]
ColNameHeader=True
Format=FixedLength
MaxSCanRows=0
CharacterSet=OEM
Col1=ColUmnname Char Width 24
Col2=ColUmnname2 Char Width 24
Col3=ColUmnname7 Char Width 24
Col4=ColUmnname8 Char Width 24
将文件存放在d:\dbtest目录下,名为txttest.ini。4个字段均为字符(Char)型,其长度为24,可以使显示的各字段之间留有空隙。其次,编写代码。在窗体上画一个命令按钮,然后编写如下事件过程:
Private Sub Command1_Click()Dim absText As DatabaseDim rstAwards As
Recordset
Dim tdfSales As TableDef
”打开外部文本数据文件
Set dbstext=OpenDatabase_
("d:\dbtest",False,False,"TEXT;")
FontSize=12
Print:Print
’从Awards表中建立记录集
Set rstAwards=dbstext.OpenRecordset("txttest")
DO Until rstAwards.EOF
Print rstAwards.a;
Print Tab(18);rstAwards.b;
print Tab(36);rstAwards.C;
Print Tab(54);rstAwards.d
rstAwards.MoveNext
Loop
End Sub
最后,运行程序,单击命令按钮,即可在窗体上显示文本文件的内容。
上面的例子分4个字段显示文本文件内容。在实际应用中,要打开的文本文件往往是由一段或几段文字组成。为了打开并显示这样的文本文件,可以把整个文件看成是一个字段,在方案描述信息文件中把MaxScanRows选项设置为0。例如,假定有一个文本文件,名为bLtl.txt,存放在dz\dbtest目录下,其内容为:
a
滚滚长江东逝水,浪花淘尽英雄。是非成败转头空。青山依旧在,几度夕阳红。 白发渔憔江港上,惯看秋月春风。一壶浊酒喜相逢。古今多少事,都付笑谈中。
文件中的 a 是字段名,即整个文件分为一个字段。为了用Microsoft Jet打开并显示上述文本文件的内容,可编写方案信息描述文件如下:
[txtl.txt]
ColNameHeaderzTme
MaXSCanRows=0
CharacterSet=OEM
Col1=USemameText
方案描述信息文件名为txtl*ini,存放在d:\dbtest目录下。在窗体上画一个文本框和一个命令按钮,把文本框的MultiLine属性设置True,然后编写如下的事件过程:
Private Sub Command1_CliCk()Dim absText As DatabaseDim rstAwards As
ReCordset
Dim tdfSales As TableDef
’打开外部文本数据文件
Set dbstext=OpenDatabase("d:\dbtest",False,False,"TEXT;")
Textl.FontSize=12
’从Awards表中创建记录集
Set rstAwards=dbstext.OpenRecordset("txt1")
Print:Print
DO Until rstAwards.EOF
a$=a$ + rstAwards.a
rstAwards.MoveNext
Loop
Text1.Text=a$
End Sub
运行程序,单击命令按钮,将在文本框中显示文本文件的内容。
|