好像Delphi里没有Pack呢?我该如何才能将带上删除标志的记录怎么样才能物理删除啊?大家有好办法吗?

解决方案 »

  1.   

    Uses DbiTypes,DbiProcs,DbiErrs,function PackDbfle(DbfTable:TTable):boolean;
    var
    errResult:DBIResult;
    begin
    if not DbfTable.Exclusive then {如果不是以独占方式,操作失败}
    begin
    result:=false;
    exit;
    end;
    {进行删除操作}
    errResult:=DbiPackTable(DbfTable.dbHandle, DbfTable.handle,NIL,szDBASE,true);
    {根据返回结果,返回成功与否的标志}
    if errResult=DBIERR_NONE then {没有错误,操作成功}
    result:=true
    else{没有错误,操作失败}
    result:=false;
    end;调用:
      if PackDbfle(Table1) then
        begin  Table1.Close; showmessage('清理完毕');  end
      else
        showmessage('很遗憾,清理失败');