VBGood网站全文搜索 Google

搜索VBGood全站网页(全文搜索)
首页 - 经验之谈 - 如何访问文本文件(3)----用Microsoft Jet 访问桌面数据库(五)
发表评论(0)作者:不详, 平台:VB6.0+Win98, 阅读:10651, 日期:2001-11-02
如何访问文本文件(3)----用Microsoft Jet 访问桌面数据库(五)
三、程序举例

例:用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 Database

Dim 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 Database

Dim 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

运行程序,单击命令按钮,将在文本框中显示文本文件的内容。