⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 dtasciidrv.html

📁 对于学习很有帮助
💻 HTML
字号:
<html>
<head>
   <meta HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
   <meta NAME="Author" CONTENT="Anders Melander">
   <meta NAME="GENERATOR" CONTENT="Mozilla/4.04 [en] (Win95; I) [Netscape]">
   <title>Using the ASCII Driver with Comma-delimited Files</title>
</head>
<body BACKGROUND="Image2.jpg" tppabs="http://www.nease.net/~borland/bgimage/Image2.jpg" NOSAVE>
<b><font FACE="Arial,Helvetica"><font SIZE="+1">使用BDE的ASCII驱动数据库:</font></font></b>

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

<p><b><font FACE="Arial,Helvetica">格式定义文件</font></b>
<br><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; </b>ASCII数据驱动的<b>格式定义文件包含了定义文件类型(</b>逗号分隔或者固定长度<b>)</b>和定义字段。为了使程序能够知道格式定义文件,格式定义文件的文件名必须与数据文件同名,并使用SCH为扩展名。其中定义的描述如下:
<br>&nbsp;
<table CELLSPACING="4" WIDTH="73%">
<tr VALIGN="TOP">
<td ROWSPAN="5" WIDTH="10"></td>

<td>File name:</td>

<td>被一对方括号包含,这个设置定义ASCII文件的名称。数据文件的扩展名必须为TXT。</td>
</tr>

<tr VALIGN="TOP">
<td>Filetype</td>

<td>定义ASCII文件的结构。&nbsp;
<br>FIXED&nbsp; 固定格式&nbsp;
<br>VARYING&nbsp;&nbsp; 变化格式</td>
</tr>

<tr VALIGN="TOP">
<td>Delimiter:</td>

<td>定义字符串的分隔符,通常为双引号</td>
</tr>

<tr VALIGN="TOP">
<td>Separator</td>

<td>定义字段间的分隔符,通常为逗号</td>
</tr>

<tr VALIGN="TOP">
<td>CharSet:</td>

<td>定义语言驱动程序,通常为ASCII</td>
</tr>
</table>
&nbsp;&nbsp;&nbsp; 定义文件下部分为字段定义。ASCII文件的每一行都是一条记录。字段定义提供BDE分配虚拟字段内存空间的信息。
<br>&nbsp;&nbsp;&nbsp; 字段定义的描述如下:
<br>&nbsp;
<table CELLSPACING="4" WIDTH="75%">
<tr VALIGN="TOP">
<td ROWSPAN="7"></td>

<td>Field:</td>

<td>虚拟的字段名,总是以Field加一个整形数字。如Field1。第一个Field为Field1。</td>
</tr>

<tr VALIGN="TOP">
<td>Field name:</td>

<td>定义显示的字段名。</td>
</tr>

<tr VALIGN="TOP">
<td>Field type:</td>

<td>定义数据的BDE类型。&nbsp;
<br>&nbsp;
<center><table BORDER CELLSPACING="0" CELLPADDING="2" WIDTH="80%">
<tr>
<td BGCOLOR="#666666"><b><font FACE="Arial,Helvetica"><font COLOR="#FFFFFF">名称</font></font></b></td>

<td BGCOLOR="#666666"><b><font FACE="Arial,Helvetica"><font COLOR="#FFFFFF">类型描述</font></font></b></td>
</tr>

<tr>
<td><tt>CHAR</tt></td>

<td>字符串</td>
</tr>

<tr>
<td><tt>FLOAT</tt></td>

<td>64位的浮点型</td>
</tr>

<tr>
<td><tt>NUMBER</tt></td>

<td>16为的整数</td>
</tr>

<tr>
<td><tt>BOOL</tt></td>

<td>逻辑型,为True或False</td>
</tr>

<tr>
<td><tt>LONGINT</tt></td>

<td>32位的整形</td>
</tr>

<tr>
<td><tt>DATE</tt></td>

<td>日期字段</td>
</tr>

<tr>
<td><tt>TIME</tt></td>

<td>时间字段</td>
</tr>

<tr>
<td><tt>TIMESTAMP</tt></td>

<td>日期+时间字段</td>
</tr>
</table></center>
(日期和时间格式为BDE设置中设置的格式.)</td>
</tr>

<tr VALIGN="TOP">
<td>Data value length:</td>

<td>最大的字段长度。</td>
</tr>

<tr VALIGN="TOP">
<td>Number of decimals:</td>

<td>适用于浮点数,定义小数点的位数</td>
</tr>

<tr VALIGN="TOP">
<td>Offset:</td>

<td>描述起始位值</td>
</tr>

<tr>
<td></td>

<td></td>
</tr>
</table>
例如有一数据文件的第一字段为字符串,字段名为“Text”,最大长度为3个字符,没有小数点(字符串类型总是没有小数点),并起始偏移量为0(因为是第一字段)。所以定义如下:
<ul>
<pre>Field1=Text,Char,3,00,00</pre>
</ul>
&nbsp;&nbsp;&nbsp; 下面是一个具有三个字段的格式定义文件,第一个字段为字符串,第二、三字段为日期型字段,格式定义文件如下(ASCII文件名为DATES.TXT,所以SCH文件名为DATES.SCH):
<ul>
<pre>[DATES]
Filetype=VARYING
Delimiter=&quot;
Separator=,
CharSet=ascii
Field1=Text,Char,3,00,00
Field2=First Contact,Date,10,00,03
Field3=Second,Date,10,00,13</pre>
</ul>
这个格式定义文件为逗号分隔的文件。注意计算偏移量和小数点的定义。

<p>&nbsp;&nbsp;&nbsp; 一个ASCII逗号分隔的文件的偏移量不再是ASCII文件中的真正偏移量,但是这个长度参数将定义此字段的最大长度,并且有利于内存的管理。

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

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

<p>翻译整理:傅贵

<p>本页版主:傅贵,最后修改日期:98.3.4
</body>
</html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -