gpt4 book ai didi

delphi - BDE 对 .sch 模式文件使用什么标准?

转载 作者:行者123 更新时间:2023-12-02 11:11:23 27 4
gpt4 key购买 nike

我想知道 - BDE 使用的 .sch 模式文件格式是否有一个标准(如 RFC)?

格式描述herehere 。似乎是基于this Microsoft format ,但并不完全相同。

示例 1 - VARYING 格式文件

客户.SCH:

[CUSTOMER]
Filetype=VARYING
Delimiter="
Separator=,
CharSet=ascii
Field1=Customer No,Float,20,04,00
Field2=Name,Char,30,00,20
Field3=Phone,Char,15,00,145
Field4=First Contact,Date,11,00,160

客户.TXT:

1221.0000,"Kauai Dive Shoppe","808-555-0269",04/03/1994
1231.0000,"Unisco","809-555-3915",02/28/1994
1351.0000,"Sight Diver","357-6-876708",04/12/1994
1354.0000,"Cayman Divers World Unlimited","809-555-8576",04/17/1994
1356.0000,"Tom Sawyer Diving Centre","809-555-7281",04/20/1994

示例 2 - 固定格式文件

客户.SCH:

[CUSTOMER]
Filetype=Fixed
CharSet=ascii
Field1=Customer No,Float,20,04,00
Field2=Name,Char,30,00,20
Field3=Phone,Char,15,00,145
Field4=First Contact,Date,08,00,160

客户.TXT:

           1221.0000Kauai Dive Shoppe             808-555-0269   04/03/94
1231.0000Unisco 809-555-3915 02/28/94
1351.0000Sight Diver 357-6-876708 04/12/94
1354.0000Cayman Divers World Unlimited 809-555-8576 04/17/94
1356.0000Tom Sawyer Diving Centre 809-555-7281 04/20/94

我对“文件类型”、“分隔符”、“分隔符”和“字符集”的可能参数值特别感兴趣。我使用各种术语(“RFC”、“架构”、“文件类型”、“标准”等)在互联网上进行了搜索,但结果却是空白...

我想具体了解的事情:

  • .sch 文件本身可以使用什么编码? (这与正确解释字段名称和其他可配置字符有关。)
  • 我应该如何指定不可打印的分隔符和分隔符,例如 Ansi 控制字符,如“单位分隔符”($1F),甚至是简单的“制表符”($09)? (考虑到格式的历史,我认为我应该使用插入符号,但只是想确定一下。)
  • 如何指定不使用分隔符?我应该指定一个空值,还是完全保留设置?

TIA

PS:请注意,我没有使用 BDE 本身 - 它只是我必须正确生成和读取的这些架构文件。

最佳答案

在硬盘驱动器中搜索随 Borland Delphi 一起安装的名为 bde32.hlp 的文件。它是一个 Windows 帮助文件,其中包含 BDE API 的文档。它还包含标题为“将外部架构绑定(bind)到文本表”的主题,其中描述了 *.sch 文件的格式。

在“语言驱动程序”标题下,同一帮助文件还包含可以为 CharSet 指定的“短名称”列表。 *.sch 文件中的条目。

例如,如果您想使用西欧语言的 Windows 字符集 (Windows-1252),则需要使用法语重音字符或德语变音符号,即 CharSet 使用的值。是 ANSIINTL像这样:

[CUSTOMER]
Filetype=VARYING
Delimiter="
Separator=,
CharSet=ANSIINTL
<小时/>

What encoding(s) can be used for the .sch file itself? (This is relevant for correctly interpreting the fieldnames and other configurable characters.)

只是简单的 ASCII。除了字符代码为 0-127 的旧 ASCII 字符外,没有任何场景要求或允许您使用任何字符(除了用于分隔不同行的换行符),只有可打印字符才有意义。

例如,表名或列名中不允许使用其他字符(元音变音、重音字符等)。

How should I specify non-printable Separator and Delimiter characters, for example an Ansi control-character like "Unit Separator" ($1F) or even a simple "Tab" ($09)? (Given the age of the format I think I should use Caret notation, but it'd just like to be sure.)

不可能。只有“可见”字符才能用作定界符和分隔符。要使用选项卡,只需使用空分配:

[CUSTOMER]
Filetype=VARYING
Delimiter="
Separator=
CharSet=ANSIINTL

How can I specify to not-use a Delimiter? Should I specifiy an empty value, or leave the setting out altogether?

在“固定”格式中,不使用分隔符和定界符。在“Varying”格式中,分隔符始终用于字符串/字符类型的列,而分隔符从不用于其他列类型。要不使用分隔符,只需在架构中使用空赋值即可:

[CUSTOMER]
Filetype=VARYING
Delimiter=
Separator=,
CharSet=ANSIINTL

关于delphi - BDE 对 .sch 模式文件使用什么标准?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/819482/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com