2020-09-26客户端升级说明
简述
更新日志--------2020-09-26
==========================测试============================
新增:sysdbfread和sysdbfwrite函数。
function sysdbfread(Alias,FileName:String;Var value[;IsColInfo:Boolean=false]):Boolean;
function sysdbfwrite(Alias,FileName:String;value[;ColInfo]):Boolean;
sysdbfread可以读取DBF的内容,或者读取DBF的结构定义。
DBF的结构定义为:array(FieldName1:("Type":FieldType1,"Width":FieldWidth1,"Dec":FieldDec1),
FieldName2:("Type":FieldType2,"Width":FieldWidth2,"Dec":FieldDec2),....)
这个已知的DBF结构可以被sysdbfread通过设置第四个参数为真来返回。
也可以在调用sysdbfwrite的时候设置到第四个参数,如果缺省则和exportfile的行为一致,采用自动判别类型。
2020-09-26 升级
支持dbf数据文件的写入与读取
Sysdbfread
定义:sysdbfread(Alias,FileName:String;Var value;[IsColInfo:Boolean=false]):Boolean;
说明:读取本地DBF格式数据文件的内容,或者读取本地DBF格式数据文件的结构定义。
参数:
Alias:字符串类型,目录别名。
FileName:字符串类型,文件名称。
Value:当读文件执行出错,则存贮错误信息,如果执行正确,则用来存贮读出的数据。
IsColInfo:布尔类型。为假,则读取文件内容,为真时读取数据的结构定义,结构定义格式为:
array(FieldName1:("Type":FieldType1,"Width":FieldWidth1,"Dec":FieldDec1),
FieldName2:("Type":FieldType2,"Width":FieldWidth2,"Dec":FieldDec2),...)
缺省时为false。
返回:布尔值,1表示读取成功,0表示读取失败。
范例:
范例01:读取本地文件testdbf.dbf的内容
ret:=rdo2 sysdbfread("","D:\\testdbf.dbf",t);
if ret then return t;
else return ‘读取本地数据失败’;
//若ret为1 (表示读取成功,此时读取的D:\\testdbf.dbf的数据存在变量t中)
//返回结果:
范例02://读取本地文件testdbf.dbf的结构定义
ret:=rdo2 sysdbfread("","D:\\testdbf.dbf",t,1);
if ret then return t;
else return ‘读取本地数据失败’;
//若ret为1 (表示读取成功,此时读取的结构定义存在变量t中)
//返回结果:
Sysdbfwrite
定义:sysdbfwrite(Alias,FileName:String;value;[ColInfo:Array]):Boolean;
说明:将数据导出为DBF的格式的数据文件。
参数:
Alias:字符串类型,目录别名。
FileName: 字符串类型,文件名称。
Value:输出的数据内容,必须有字符串列名。
ColInfo:数组,数据导出的结构定义,若缺省则和exportfile的行为一致,采用自动判别类型。
返回:布尔值,1表示写入成功,0表示写入失败。
范例:
范例01:将数据导为dbf文件,各列数据类型自动判别。
t:=`array('A':(1,1,1),'B':('a','b','c'));
return rdo2 sysdbfwrite('',' D:\\testdbf.dbf ',t);
//导出的数据结果:
范例02:将数据导为dbf文件,按指定数据结构定义。
t:=`array('A':(1,1,1),'B':('a','b','c'));
c:=array("A":("Type":"C","Width":10,"Dec":0),"B":("Type":"C","Width":18,"Dec":0));
return rdo2 sysdbfwrite('',' D:\\testdbf.dbf ',t,c);
//在结构定义c中,将第A列的值数据类型导出为字符串,而非原数据的整型。
//导出的数据结果(A列为字符串类型):