发信人: mengy (LEAR DLLS 命令时,将从内存中清除), 信区: BorlandDev
标  题: delphi中使用BDE的ASCII驱动数据库:
发信站: 哈工大紫丁香 (2001年03月13日18:41:59 星期二), 转信

使用BDE的ASCII驱动数据库:  <<上一篇 下一篇>> 
      Delphi (包括所有使用BDE的工具) 具有使用ASCII文件当数据库表Table的
能力,能够转换数据值成固定长度格式或者使用逗号分隔的ASCII文件,能够使用
TTable元件显示。如何存取ASCII文件依赖于一个伴随的格式定义文件。这个格式
定义文件定义了分析这个ASCII文件成单条记录和字段的必要的信息。因为逗号分
隔的ASCII数据文件分析更加复杂,所以本文集中介绍这类文件。 

格式定义文件 
        ASCII数据驱动的格式定义文件包含了定义文件类型(逗号分隔或者固定长
度)和定义字段。为了使程序能够知道格式定义文件,格式定义文件的文件名必须
与数据文件同名,并使用SCH为扩展名。其中定义的描述如下: 
   File name: 被一对方括号包含,这个设置定义ASCII文件的名称。数据文件的
扩展名必须为TXT。 
Filetype 定义ASCII文件的结构。  
FIXED  固定格式  
VARYING   变化格式 
Delimiter: 定义字符串的分隔符,通常为双引号 
Separator 定义字段间的分隔符,通常为逗号 
CharSet: 定义语言驱动程序,通常为ASCII 
定义文件下部分为字段定义。ASCII文件的每一行都是一条记录。字段定义提供
BDE分配虚拟字段内存空间的信息。 
    字段定义的描述如下: 
   Field: 虚拟的字段名,总是以Field加一个整形数字。如Field1。第一个
Field为Field1。 
Field name: 定义显示的字段名。 
Field type: 定义数据的BDE类型。  
  
名称 类型描述 
CHAR 字符串 
FLOAT 64位的浮点型 
NUMBER 16为的整数 
BOOL 逻辑型,为True或False 
LONGINT 32位的整形 
DATE 日期字段 
TIME 时间字段 
TIMESTAMP 日期+时间字段 

(日期和时间格式为BDE设置中设置的格式.) 
Data value length: 最大的字段长度。 
Number of decimals: 适用于浮点数,定义小数点的位数 
Offset: 描述起始位值 
  
例如有一数据文件的第一字段为字符串,字段名为“Text”,最大长度为3个字符
,没有小数点(字符串类型总是没有小数点),并起始偏移量为0(因为是第一字段)
。所以定义如下: 

Field1=Text,Char,3,00,00
下面是一个具有三个字段的格式定义文件,第一个字段为字符串,第二、三字段为
日期型字段,格式定义文件如下(ASCII文件名为DATES.TXT,所以SCH文件名为
DATES.SCH): 
[DATES]
Filetype=VARYING
Delimiter="
Separator=,
CharSet=ascii
Field1=Text,Char,3,00,00
Field2=First Contact,Date,10,00,03
Field3=Second,Date,10,00,13
这个格式定义文件为逗号分隔的文件。注意计算偏移量和小数点的定义。 
    一个ASCII逗号分隔的文件的偏移量不再是ASCII文件中的真正偏移量,但是这
个长度参数将定义此字段的最大长度,并且有利于内存的管理。 

    实际上,如果你还有不太明白的地方,可以使用Database Desktop来创建一个
ASCII数据表,观察SCH文件的定义和ASCII文件的存储格式。 

    如果你熟练掌握ASCII数据库的应用,在实际的工作中有许多需要直接文件操
作的工作可以使用数据库来实现,减轻工作量和提高程序的稳定性。 

翻译整理:傅贵 
   
 
  如果你有什么好的资料,可以寄给我哟:) <<回到首页 <<上一篇 下一篇>> 



------------------------------------------------------------------------
--------
  Delphi 技巧集 
   
  Copyright 1999.11 by 东子 Mail to me! 
感谢广州视窗提供主页空间 


--

       大海无边天做岸
               山登绝顶我为风

※ 来源:·哈工大紫丁香 bbs.hit.edu.cn·[FROM: 202.118.227.121]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.975毫秒