FAQ > 客户端升级

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中)
    //返回结果:
    A    B
    1    a
    1    b
    1    c


    范例02://读取本地文件testdbf.dbf的结构定义

    ret:=rdo2 sysdbfread("","D:\\testdbf.dbf",t,1);
    if ret then return t;
    else return ‘读取本地数据失败’; 
    //若ret为1 (表示读取成功,此时读取的结构定义存在变量t中)
    //返回结果:

        
    Type    Width    Dec
    A    N    10    0
    B    C    18    0

     


    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列为字符串类型):