Info Power2000的wwTable就有Pack功能。

解决方案 »

  1.   

    各位,能不能说得详细一点!最好将代码给我邮一个![email protected]!谢谢各位大虾!!
      

  2.   

    再请问各位大虾:Windows NT 及 Windows 2000 的信使服务是怎么运行的?有谁知道,麻烦请告诉我!
      

  3.   

    用APOLLO VCL如何?他完全可以实现PACK。它是最好的DBF驱动。不用BDE。
    http://www.jd365.net/kangwei/
      

  4.   

    cch_b:我需要的是DEPHI的PACK ,不过谢谢你推荐的网站,问题解决我一定给你加分!
    另外:请教一个问题:注册热键时,应该怎么取值:我用Hotkey取出来注册的Ctrl+Shift+A的值为24641,而Windowse是833;我该怎么处理??
    谢谢?????
      

  5.   

    各位帮我解决一下PACK,好不好??
      

  6.   

    PACK 嘛,简单,源程序如下,不过请一定给我加分:
    function packalltable(databasename:string):boolean;
    var
      i:integer;
      table:ttable;
      packtablelist:tstringlist;
      procedure PackTable(tmpTable: TTable);
      var
        Props: CURProps;
        hDb: hDBIDb;
        TableDesc: CRTblDesc;
      begin
        tmpTable.active:=false;
        tmpTable.exclusive:=true;
        tmpTable.active:=true;
        Check(DbiGetCursorProps(tmpTable.Handle, Props));
        if Props.szTableType = szPARADOX then
        begin
          FillChar(TableDesc, sizeof(TableDesc), 0);
          Check(DbiGetObjFromObj(hDBIObj(tmpTable.Handle), objDATABASE, hDBIObj(hDb)));
          StrPCopy(TableDesc.szTblName, tmpTable.TableName);
          StrPCopy(TableDesc.szTblType, Props.szTableType);
          TableDesc.bPack := True;
          tmpTable.Close;
          Check(DbiDoRestructure(hDb, 1, @TableDesc, nil, nil, nil, False));
        end
        else
          if (Props.szTableType = szDBASE) then
            Check(DbiPackTable(tmpTable.DBHandle, Table.Handle, nil, szDBASE, True))
          else
            raise EDatabaseError.Create('表必须是 Paradox 或 dBASE 类型...');
        tmpTable.active:=false;
      end;
    begin
      try
      result:=false;
      packtablelist:=tstringlist.create;
      packtablelist.clear;
      packtablelist.add('table1');
      packtablelist.add('table2');
      ......
      packtablelist.add('tablen');
      table:=ttable.create(application);
      table.databasename:=databasename;
      for i:=0 to packtablelist.count-1 do
      begin
        table.tablename:=trim(packtablelist.strings[i]);
        packtable(table);
      end;
      packtablelist.free;
      table.free;
      result:=true;
      except
      result:=false;
      end;
    end;
      

  7.   

    谢谢gzice();我现在不能追加分,等问题圆满解决,并追加高分后,一定给你高分!!!!!!
      

  8.   

    还有没有大侠知道如何RECALL??????????
      

  9.   

    Black_archer(暗夜的炽天使) 你不觉得你有写无聊吗?
    我想知道如何将Paradox已删除的记录恢复???
      

  10.   

    再次谢谢gzice(),不过,我现在还没时间去解决!我先把分奉上!
      

  11.   

    如果用ADO的话,如何实现PACK?