注释:
1.千万不要执行我代码中注释掉的那个函数。由于你的格式.TXT文件设置不良,缺了数值型数据的小数位数部分,我那个函数使用后要手工调整相关结构,再执行一次就把手动的东西冲刷了。这个函数只用一次,我已经把相关数据表设置好了。你以后可以把那个文档的格式写好一点,修改一下这个函数,将整个数据字典制作好。
2.根据规范,数据字段名字符数超过10字符,不能在VFP的自由表中作字段名,必须放在数据库容器(DBC)中作为数据库表,故此必须设置数据库容器。用数据库容器,可以把字典中的字段描述文字也放到表结构中,方便许多。
3.程序的处理办法,是从53.TXT的描述中抽取使用到的字段项,自动创建数据表并导入数据。因此若要对所有的交换文本文件适用,应先把数据字典制作完备。这个处理办法已经可以处理规范描述的那些交换文档了。
4.从文本文件中读入一行,本程序使用了fgets()函数,此函数最大能读到8192byte的行,若某些文件真的超越这种极限,可以考虑换用另一种办法,不读入完整一行,而是逐个字段读入(末尾跳过回车换行符),因为数据字典中存有字段的宽度,这种读法的兼容性较现在这个为好。不带附加参数的fopen()是带缓冲只读模式,数据会预读到内存中,表面代码是小片小片地读文件,但实际速度不会比一次读一行慢。
5.如果数据字典制作齐全,将Dictionary做索引检索,效率比现在用LOCATE会高点。不过在记录数不过千的情况下,差异不大。